In one embodiment, an integrated development environment (IDE) is maintained on a computing device for managing software code for one or more software programs. At the IDE on the computing device, one or more code changes to the software code are determined between a given version of the software code and a subsequent version of the software code, and then a performance impact of each of the one or more code changes is determined. The IDE (or IDE plugin) prepares user-understandable indications of the performance impact of the one or more code changes, and displays the user-understandable indications of the performance impact in a graphical user interface (GUI) when a respective code change is displayed in the GUI.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method, comprising: maintaining, on a computing device, an integrated development environment (IDE) for managing software code for one or more software programs that perform at least one monitored business transaction; determining, at the IDE on the computing device, one or more code changes to the software code between a given version of the software code and a subsequent version of the software code; determining, by the IDE, a performance impact of each of the one or more code changes to the at least one monitored business transaction, wherein the performance impact is indicative of an effect of the one or more code changes on business activity associated with the at least one monitored business transaction measured as a potential value lost, a number of transactions lost, a number of visits missed, or a revenue difference; preparing, by the IDE, user-understandable indications of the performance impact of the one or more code changes; and displaying, by the IDE, the user-understandable indications of the performance impact in a graphical user interface (GUI) when a respective code change is displayed in the GUI.
2. The method as in claim 1 , further comprising: determining runtime performance information regarding execution of the software code in the IDE, the runtime performance information corresponding to individual portions of the software code; determining baselines of runtime performance information; determining lagging performance of individual portions of the software code in comparison to the baselines; and highlighting, within the GUI, individual portions of the software code having lagging performance.
3. The method as in claim 1 , further comprising: determining baselines of runtime performance information based on external sources of baseline information, wherein the user-understandable indications are based on a comparison to the baselines.
4. The method as in claim 1 , further comprising: determining baselines of runtime performance information based on past performance of the individual portions of the software code within the IDE, wherein the user-understandable indications are based on a comparison to the baselines.
5. The method as in claim 1 , further comprising: determining runtime performance information regarding execution of different versions of the software code in the IDE; and displaying the runtime performance information for the different versions simultaneously in the GUI.
6. The method as in claim 1 , wherein the performance impact comprises business transaction impact corresponding to individual portions of the software, and wherein the method further comprises: displaying the business transaction impact in the GUI when a respective corresponding individual portion of the software code is displayed in the GUI.
7. The method as in claim 1 , wherein the one or more code changes to the software code are selected from a group consisting of: added code; removed code; added anti-patterns; and added service dependencies.
8. The method as in claim 1 , wherein determining the performance impact of each of the one or more code changes comprises: executing the one or more code changes; determining runtime performance information regarding execution of the one or more code changes; and calculating a difference between runtime performance information of the given version of the software code and the determined runtime performance information of the subsequent version of the software code.
9. The method as in claim 1 , wherein determining the performance impact of each of the one or more code changes comprises: estimating the change in performance based on baselines of runtime performance information.
10. The method as in claim 1 , wherein the performance impact comprises increased latency.
11. The method as in claim 1 , wherein the user-understandable indications of the performance impact comprises a percentage change.
12. A tangible, non-transitory, computer-readable medium storing program instructions that cause a computer to execute a process comprising: maintaining an integrated development environment (IDE) for managing software code for one or more software programs that perform at least one monitored business transaction; determining one or more code changes to the software code between a given version of the software code and a subsequent version of the software code; determining a performance impact of each of the one or more code changes to the at least one monitored business transaction, wherein the performance impact is indicative of an effect of the one or more code changes on business activity associated with the at least one monitored business transaction measured as a potential value lost, a number of transactions lost, a number of visits missed, or a revenue difference; preparing user-understandable indications of the performance impact of the one or more code changes; and displaying the user-understandable indications of the performance impact in a graphical user interface (GUI) of the IDE when a respective code change is displayed in the GUI.
13. The computer-readable medium as in claim 12 , wherein the process further comprises: determining runtime performance information regarding execution of the software code in the IDE, the runtime performance information corresponding to individual portions of the software code; determining baselines of runtime performance information; determining lagging performance of individual portions of the software code in comparison to the baselines; and highlighting, within the GUI, individual portions of the software code having lagging performance.
14. The computer-readable medium as in claim 12 , wherein the process further comprises: determining baselines of runtime performance information based on external sources of baseline information, wherein the user-understandable indications are based on a comparison to the baselines.
15. The computer-readable medium as in claim 12 , wherein the performance impact comprises business transaction impact corresponding to individual portions of the software, and wherein the process further comprises: displaying the business transaction impact in the GUI when a respective corresponding individual portion of the software code is displayed in the GUI.
16. The computer-readable medium as in claim 12 , wherein determining the performance impact of each of the one or more code changes comprises at least one of: i) estimating the change in performance based on baselines of runtime performance information; and ii) executing the one or more code changes, determining runtime performance information regarding execution of the one or more code changes, and calculating a difference between runtime performance information of the given version of the software code and the determined runtime performance information of the subsequent version of the software code.
17. An apparatus, comprising: one or more network interfaces configured to communicate in a computer network; a processor coupled to the network interfaces and adapted to execute one or more processes; and a memory configured to store a process executable by the processor, the process when executed operable to: maintain an integrated development environment (IDE) for managing software code for one or more software programs that perform at least one monitored business transaction; determine one or more code changes to the software code between a given version of the software code and a subsequent version of the software code; determine a performance impact of each of the one or more code changes to the at least one monitored business transaction, wherein the performance impact is indicative of an effect of the one or more code changes on business activity associated with the at least one monitored business transaction measured as a potential value lost, a number of transactions lost, a number of visits missed, or a revenue difference; prepare user-understandable indications of the performance impact of the one or more code changes; and display the user-understandable indications of the performance impact in a graphical user interface (GUI) of the IDE when a respective code change is displayed in the GUI.
18. The apparatus as in claim 17 , wherein the process when executed is further operable to: determine runtime performance information regarding execution of the software code in the IDE, the runtime performance information corresponding to individual portions of the software code; determine baselines of runtime performance information; determine lagging performance of individual portions of the software code in comparison to the baselines; and highlight, within the GUI, individual portions of the software code having lagging performance.
19. The apparatus as in claim 17 , wherein the process when executed is further operable to: determine baselines of runtime performance information based on external sources of baseline information, wherein the user-understandable indications are based on a comparison to the baselines.
20. The apparatus as in claim 17 , wherein the process when executed is further operable to: determine baselines of runtime performance information based on past performance of the individual portions of the software code within the IDE, wherein the user-understandable indications are based on a comparison to the baselines.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
July 31, 2017
April 28, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.