US9652357B2ActiveUtilityA1

Analyzing physical machine impact on business transaction performance

71
Assignee: APPDYNAMICS INCPriority: Oct 31, 2014Filed: Oct 31, 2014Granted: May 16, 2017
Est. expiryOct 31, 2034(~8.3 yrs left)· nominal 20-yr term from priority
G06F 2201/87G06F 2201/81G06F 11/3495G06F 11/3409
71
PatentIndex Score
3
Cited by
6
References
30
Claims

Abstract

Application performance data and machine health are collected by a system. The system correlates the two data types to provide context as to how machine health affects the performance of an application. Performance data for an application, for example an application executing as part of a distributed business transaction, and health data for a machine which hosts the application are collected. The performance data and machine health data may be correlated for a particular period of time. The correlation may then be reported to a user. By viewing the correlation, a user may see when machine health was good and bad, and may identify the effects of the machine health on the performance of an application.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method for monitoring an application, comprising:
 monitoring, by an agent installed on a machine, performance of an application hosted on the same machine forming a portion of a distributed business transaction, the monitoring including:
 installing code into portions of the application, 
 using the installed code to collect application performance data from the application, and 
 aggregating the collected application performance data periodically or based on an event; 
 
 sampling machine health data on the machine hosting the application; 
 analyzing the sampled machine health data to determine whether a machine health violation is detected; 
 incrementing a violation count for each detected machine health violation; 
 determining whether the violation count exceeds or satisfies a threshold; 
 collecting a machine health snapshot based on the determining that the violation count exceeds or satisfies a threshold; and 
 reporting the application performance data and machine health data for a time period. 
 
     
     
       2. The method of  claim 1 , wherein the machine health data includes CPU data, memory data, or queue data. 
     
     
       3. The method of  claim 1 , wherein sampling the machine health data is performed at a sampling rate. 
     
     
       4. The method of  claim 1 , wherein analyzing the sampled machine health data includes comparing against a maximum threshold for each type of the sampled machine health data. 
     
     
       5. The method of  claim 1 , wherein determining whether the violation count exceeds or satisfies a threshold includes determining whether the violation count exceeds or satisfies a maximum number of allowed violations. 
     
     
       6. The method of  claim 5 , wherein the collected machine health data snapshot is collected and stored when the maximum number of violations is exceeded. 
     
     
       7. The method of  claim 1 , including:
 correlating machine health data with application performance data for the time period; and 
 providing a graphical display with the correlated machine health data and application performance data. 
 
     
     
       8. The method of  claim 7 , wherein providing the graphical display includes:
 displaying for a particular time window a timeline of machine health metrics generated from the machine health snapshot; and 
 retrieving the correlated application performance data for the time window. 
 
     
     
       9. The method of  claim 1 , wherein incrementing the violation count for each detected machine health violation includes incrementing the violation count for each type of machine health data. 
     
     
       10. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for monitoring an application, the method comprising:
 monitoring, by an agent installed on a machine, performance of an application hosted on the same machine forming a portion of a distributed business transaction, the monitoring including:
 installing code into portions of the application, 
 using the installed code to collect application performance data from the application, and 
 aggregating the collected application performance data periodically or based on an event; 
 
 sampling machine health data on the machine hosting the application; 
 analyzing the sampled machine health data to determine whether a machine health violation is detected; 
 incrementing a violation count for each detected machine health violation; 
 determining whether the violation count exceeds or satisfies a threshold; 
 collecting a machine health snapshot based on the determining that the violation count exceeds or satisfies a threshold; and 
 reporting the application performance data and machine health data for a time period. 
 
     
     
       11. The non-transitory computer readable storage medium of  claim 10 , wherein the machine health data includes CPU data, memory data, or queue data. 
     
     
       12. The non-transitory computer readable storage medium of  claim 10 , wherein sampling the machine health data is performed at a sampling rate. 
     
     
       13. The non-transitory computer readable storage medium of  claim 10 , wherein analyzing the sampled machine health data includes comparing against a maximum threshold for each type of the sampled machine health data. 
     
     
       14. The non-transitory computer readable storage medium of  claim 10 , wherein determining whether the violation count exceeds or satisfies a threshold includes determining whether the violation count exceeds or satisfies a maximum number of allowed violations. 
     
     
       15. The non-transitory computer readable storage medium of  claim 10 , wherein the collected machine health data snapshot is collected and stored when the maximum number of violations is exceeded. 
     
     
       16. The non-transitory computer readable storage medium of  claim 10 , including:
 correlating machine health data with application performance data for the time period; and 
 providing a graphical display with the correlated machine health data and application performance data. 
 
     
     
       17. The non-transitory computer readable storage medium of  claim 16 , wherein providing the graphical display includes:
 displaying for a particular time window a timeline of machine health metrics generated from the machine health snapshot; and 
 retrieving the correlated application performance data for the time window. 
 
     
     
       18. The non-transitory computer readable storage medium of  claim 15 , wherein incrementing the violation count for each detected machine health violation includes incrementing the violation count for each type of machine health data. 
     
     
       19. The non-transitory computer readable storage medium of  claim 18 , wherein health data is collected and stored based on policy rules if the maximum number of violations is exceeded. 
     
     
       20. The non-transitory computer readable storage medium of  claim 10 , further comprising:
 correlating machine health data with application performance data for the time period; and 
 providing a graphical display with the correlated machine health data and application performance data. 
 
     
     
       21. The non-transitory computer readable storage medium of  claim 20 , wherein providing the graphical display includes:
 displaying for a particular time window a timeline of machine health metrics generated from the machine health snapshot; and 
 retrieving the correlated application performance data for the time window. 
 
     
     
       22. A system for monitoring an application, comprising:
 a processor; 
 a memory; and 
 one or more modules stored in the memory and executable by the processor to perform operations including:
 monitor, by an agent installed on a machine, performance of an application hosted on the same machine forming a portion of a distributed business transaction, the monitoring including:
 install code into portions of the application, 
 using the installed code to collect application performance data from the application, and 
 aggregate the collected application performance data periodically or based on an event; 
 
 sample machine health data on the machine hosting the application; 
 analyze the sampled machine health data to determine whether a machine health violation is detected; 
 increment a violation count for each detected machine health violation; 
 determine whether the violation count exceeds or satisfies a threshold; 
 collect a machine health snapshot based on the determining that the violation count exceeds or satisfies a threshold; and 
 report the application performance data and machine health data for a time period. 
 
 
     
     
       23. The system of  claim 22 , wherein the machine health data includes CPU data, memory data, or queue data. 
     
     
       24. The system of  claim 22 , wherein the one or more modules are executable to sample the machine health data at a sampling rate. 
     
     
       25. The system of  claim 22 , wherein the one or more modules are executable to analyze the sampled machine health data including compare against a maximum threshold for each type of the sampled machine health data. 
     
     
       26. The system of  claim 22 , wherein the one or more modules are executable to determine whether the violation count exceeds or satisfies a threshold including determine whether the violation count exceeds or satisfies a maximum number of allowed violations. 
     
     
       27. The system of  claim 22 , wherein the one or more modules are executable to collect the machine health data snapshot and store the collected machine health data snapshot when the maximum number of violations is exceeded. 
     
     
       28. The system of  claim 27 , wherein the one or more modules are executable to perform operations including:
 correlate machine health data with application performance data for the time period; and 
 provide a graphical display with the correlated machine health data and application performance data. 
 
     
     
       29. The system of  claim 28 , wherein the one or more modules are executable to provide the graphical display including:
 display for a particular time window a timeline of machine health metrics generated from the machine health snapshot; and 
 retrieve the correlated application performance data for the time window. 
 
     
     
       30. The system of  claim 22 , wherein the one or more modules are executable to increment the violation count for each detected machine health violation including increment the violation count for each type of machine health data.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.