IP Library Granted Patent US 9,652,357
Granted Patent B2
US 9,652,357 · App. 14/530,450 · Granted May 16, 2017

Analyzing physical machine impact on business transaction performance

Inventors: Amod Gupta (San Francisco, CA); Ryan Ericson (San Francisco, CA)
Assignee: AppDynamics, Inc.
G06F11/3495G06F11/3409G06F2201/81G06F2201/87
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,652,357
App. No.
14/530,450
Granted
May 16, 2017
Kind
B2
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 (79)

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.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2017
From: APPDYNAMICS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 044173/0050 →
CHANGE OF NAME Recorded Jun 23, 2017
From: APPDYNAMICS, INC.
To: APPDYNAMICS LLC
Reel/Frame 042964/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2015
From: GUPTA, AMOD; ERICSON, RYAN
To: APPDYNAMICS, INC.
Reel/Frame 035702/0883 →
Continuity (1)
Related Publication 20160124833A1 · May 5, 2016