IP Library Granted Patent US 10,776,245
Granted Patent B2
US 10,776,245 · App. 15/582,701 · Granted Sep 15, 2020

Analyzing physical machine impact on business transaction performance

Inventors: Amod Gupta (San Francisco, CA); Ryan Ericson (San Francisco, CA)
Assignee: Cisco Technology, 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 10,776,245
App. No.
15/582,701
Granted
Sep 15, 2020
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 (50)

1. A method for monitoring an application, comprising:

receiving, at a controller device in a computer network from an agent installed on a remote machine, performance data of an application that performs a portion of a distributed business transaction, wherein the application is hosted on the remote machine, further wherein the performance data is indicative of performance of the distributed business transaction;

receiving, at the controller device from the agent, machine health data for the remote machine;

analyzing, by the controller device, the machine health data to determine whether a machine health violation is detected;

determining, by the controller device, whether a count of the machine health violation detected exceeds or satisfies a threshold;

in response to determining that the count has exceeded the threshold, initiating, by the controller device, a machine health snapshot of at least CPU data, memory data and queue data;

correlating, by the controller device, the performance data and the machine health data for a period of time; and

reporting, by the controller device, the correlation of the performance data and machine health data for the period of time.

2. The method of claim 1 , wherein the machine health data includes the CPU data, the memory data, or the queue data.

3. The method of claim 1 , wherein analyzing the machine health data includes comparing against a maximum threshold for each type of the machine health data.

4. The method of claim 1 , wherein determining whether the count exceeds or satisfies a threshold includes determining whether the count exceeds or satisfies a maximum number of allowed violations.

5. The method of claim 4 , wherein the machine health snapshot is collected and stored when the maximum number of allowed violations is exceeded.

6. The method of claim 1 , further comprising:

providing a graphical display with the correlated machine health data and application performance data.

7. The method of claim 6 , 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.

8. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor on a controller device in a computer network to perform operations for monitoring an application, the operations comprising:

receiving, at the processor from an agent installed on a remote machine, performance data of an application that performs a portion of a distributed business transaction, wherein the application is hosted on the remote machine, further wherein the performance data is indicative of performance of the distributed business transaction;

receiving, at the processor from the agent, machine health data for the remote machine;

analyzing, by the processor, the machine health data to determine whether a machine health violation is detected;

determining, by the processor, whether a count of the machine health violation detected exceeds or satisfies a threshold;

in response to determining that the count has exceeded the threshold, initiating, at the processor, a machine health snapshot of at least CPU data, memory data and queue data;

correlating, by the processor, the performance data and the machine health data for a period of time; and

reporting, by the processor, the correlation of the performance data and machine health data for the period of time.

9. The non-transitory computer readable storage medium of claim 8 , wherein the machine health data includes the CPU data, the memory data, or the queue data.

10. The non-transitory computer readable storage medium of claim 8 , wherein analyzing the received machine health data includes comparing against a maximum threshold for each type of the machine health data.

11. The non-transitory computer readable storage medium of claim 10 , wherein determining whether the count exceeds or satisfies a threshold includes determining whether the count exceeds or satisfies a maximum number of allowed violations.

12. The non-transitory computer readable storage medium of claim 8 , further comprising:

providing a graphical display with the correlated machine health data and application performance data.

13. A controller device 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 comprising:

receive, at the controller from an agent installed on a remote machine, performance data of an application that performs a portion of a distributed business transaction, wherein the application is hosted on the remote machine, further wherein the performance data is indicative of performance of the distributed business transaction;

receive, at the controller from the agent, machine health data for the remote machine;

analyze, by the controller device, the machine health data to determine whether a machine health violation is detected;

determine, by the controller device, whether a count of the machine health violation detected exceeds or satisfies a threshold;

in response to a determination that the count has exceeded the threshold, initiate, by the controller device, a machine health snapshot of at least CPU data, memory data and queue data;

correlate, by the controller device, the performance data and the machine health data for a period of time; and

report, by the controller device, the correlation of the performance data and machine health data for the period of time.

14. The controller device of claim 13 , wherein the machine health data includes the CPU data, the memory data, or the queue data.

15. The controller device of claim 13 , wherein to analyze the machine health data includes comparing against a maximum threshold for each type of the machine health data.

16. The controller device of claim 13 , wherein to determine whether the count exceeds or satisfies a threshold includes determining whether the count exceeds or satisfies a maximum number of allowed violations.

17. The controller device of claim 16 , wherein the one or more modules are executable to store the machine health snapshot when the maximum number of allowed violations is exceeded.

18. The controller device of claim 13 , wherein the one or more modules are executable to perform operations further comprising:

provide a graphical display with the correlated machine health data and application performance data.

19. The controller device of claim 18 , wherein to provide the graphical display includes:

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.

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 24, 2017
From: GUPTA, AMOD; ERICSON, RYAN
To: APPDYNAMICS, INC.
Reel/Frame 042484/0478 →
Continuity (2)
Continuation 14530450 · Oct 31, 2014
Related Publication 20180081781A1 · Mar 22, 2018