IP Library Granted Patent US 9,563,485
Granted Patent B2
US 9,563,485 · App. 14/530,560 · Granted Feb 7, 2017

Business transaction context for call graph

Inventor: Christopher Brichford (San Mateo, CA)
Assignee: AppDynamics, Inc.
G06F9/54G06F11/30
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,563,485
App. No.
14/530,560
Granted
Feb 7, 2017
Kind
B2
Abstract

An application which utilizes a single thread is monitored and context for the individual requests and business transactions operating on that platform are provided. A wrapper is placed is around an object that calls a request. The wrapper renames a request object. Request objects are renamed with a unique name when they are called. When a call stack is sampled, the sampler will retrieve the unique name. Performance data associated with the unique name may be correlated to a business transaction and particular request as metrics are subsequently analyzed. For subsequent reporting, such as call graph reporting, the report or call graph will have requests in the context of a particular business transaction and a particular request instance. This provides more context in reporting of an business application request for frameworks that utilize as single request for multiple threads.

Claims (42)

1. A method for monitoring an application, comprising:

modifying an object with a callback wrapper by agent stored in memory;

receiving, by the agent, sampled call stack data associated with the callback wrapper by the agent, the sampled call stack data including a unique identification for each request in a business transaction; and

reporting the sampled call stack data to a remote server, the remote server reporting data associated with each request instance of the business transaction based on the sampled call stack data.

2. The method of claim 1 , wherein modifying the object includes placing the callback wrapper around the object that includes a callback object associated with a request.

3. The method of claim 2 , wherein the callback wrapper includes a globally unique name, the unique identification including the unique name.

4. The method of claim 2 , wherein the callback wrapper is retrieved from a pool of callback wrappers having unique names.

5. The method of claim 1 , further comprising associating the unique identification with a business transaction request instance by the agent, the reported sampled call stack data including the associated business transaction request instance.

6. The method of claim 1 , wherein the remote server reports a hierarchical call graph of the business transaction and requests called as part of the business transaction.

7. The method of claim 1 , wherein modifying the object includes modifying a listen method within a create server created via an application program interface of a programming framework.

8. The method of claim 1 , wherein the object is part of a platform built on Java script.

9. The method of claim 1 , wherein the object is executed on a NodeJS platform.

10. The method of claim 1 , further comprising: processing a request by modified object; and

providing a call stack with the unique identification.

11. 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:

modifying an object with a callback wrapper by agent stored in memory;

receiving, by the agent, sampled call stack data associated with the callback wrapper by the agent, the sampled call stack data including a unique identification for each request in a business transaction; and

reporting the sampled call stack data to a remote server, the remote server reporting data associated with each request instance of the business transaction based on the sampled call stack data.

12. The non-transitory computer readable storage medium of claim 11 , wherein modifying the object includes placing the callback wrapper around the object including:

a callback object associated with a request.

13. The non-transitory computer readable storage medium of claim 12 , wherein the callback wrapper includes a globally unique name, the unique identification including the unique name.

14. The non-transitory computer readable storage medium of claim 12 , wherein the callback wrapper is retrieved from a pool of callback wrappers having unique names.

15. The non-transitory computer readable storage medium of claim 11 , further comprising associating the unique identification with a business transaction request instance by the agent, the reported sampled call stack data including the associated business transaction request instance.

16. The non-transitory computer readable storage medium of claim 11 , wherein the remote server reports a hierarchical call graph of the business transaction and requests called as part of the business transaction.

17. The non-transitory computer readable storage medium of claim 11 , wherein modifying the object includes modifying a listen method within a create server created via an application program interface of a programming framework.

18. The non-transitory computer readable storage medium of claim 11 , wherein the object is part of a platform built on Java script.

19. The non-transitory computer readable storage medium of claim 11 , wherein the object is executed on a NodeJS platform.

20. The non-transitory computer readable storage medium of claim 11 , further comprising:

processing a request by modified object; and

providing a call stack with the unique identification.

21. A system for monitoring an application, comprising: a processor;

a memory; and

one or more modules stored in memory and executable by a processor to modify an object with a callback wrapper by an agent stored in memory, receive, by the agent, sampled call stack data associated with the callback wrapper by the agent, the sampled call stack data including a unique identification for each request in a business transaction, and report the sampled call stack data to a remote server, the remote server reporting data associated with each request instance of PA the business transaction based on the sampled call stack data.

22. The system of claim 21 , wherein the one or more modules are further executable to place the callback wrapper around the object that includes a callback object associated with a request.

23. The system of claim 22 , wherein the callback wrapper includes a globally unique name, the unique identification including the unique name.

24. The system of claim 22 , wherein the callback wrapper is retrieved from a pool of callback wrappers having unique names.

25. The system of claim 21 , wherein the one or more modules are further executable to associate the unique identification with a business transaction request instance by the agent, the reported sampled call stack data including the associated business transaction request instance.

26. The system of claim 21 , wherein the remote server reports a hierarchical call graph of the business transaction and requests called as part of the business transaction.

27. The system of claim 21 , wherein the one or more modules are further executable to modify a listen method within a create server created via an application program interface of a programming framework.

28. The system of claim 21 , wherein the object is part of a platform built on Java script.

29. The system of claim 21 , wherein the object is executed on a NodeJS platform.

30. The system of claim 21 , wherein the one or more modules are further executable to process a request by modified object and provide a call stack with the unique identification.

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 Dec 23, 2016
From: BRICHFORD, CHRISTOPHER
To: APPDYNAMICS, INC
Reel/Frame 040759/0756 →
Continuity (1)
Related Publication 20160127217A1 · May 5, 2016