US2016226728A1PendingUtilityA1

Automatic capture of detailed analysis information for web application outliers with very low overhead

49
Assignee: APPDYNAMICS INCPriority: Feb 2, 2012Filed: Apr 11, 2016Published: Aug 4, 2016
Est. expiryFeb 2, 2032(~5.6 yrs left)· nominal 20-yr term from priority
G06N 99/005G06F 9/45533H04L 43/045H04L 67/10H04L 43/022G06F 2201/875G06F 11/3409G06F 11/302G06F 11/3466G06F 2201/87G06F 2201/81G06F 11/3093G06F 2201/865G06F 2201/815G06Q 20/00G06F 11/3419G06F 11/3003G06N 20/00G06N 5/00
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system monitors a network or web application provided by one or more distributed applications and provides data for each and every method instance in an efficient low-cost manner. The web application may be provided by one or more web services each implemented as a virtual machine or one or more applications implemented on a virtual machine. Agents may be installed on one or more servers at an application level, virtual machine level, or other level. The agent may identify one or more hot spot methods based on current or past performance, functionality, content, or business relevancy. Based on learning techniques, efficient monitoring, and resource management, the present system may capture data for and provide analysis information for outliers of a web application with very low overhead.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method for monitoring a business transaction, comprising:
 recording performance data for each of a plurality of methods of a network application, the performance data stored by an execution thread;   ignoring the performance data for one or more of the plurality of methods that satisfy a threshold; and   storing the performance data for one or more of the plurality of methods having a root node that does not satisfy a condition.   
     
     
         2 . The method of  claim 1 , wherein the performance data includes a start time and an end time for execution of the method. 
     
     
         3 . The method of  claim 1 , wherein the condition includes a threshold for time of execution. 
     
     
         4 . The method of  claim 1 , wherein the condition includes calling an external Java Virtual Machine. 
     
     
         5 . The method of  claim 1 , wherein storing the data includes storing execution data and external call data. 
     
     
         6 . The method of  claim 1 , wherein the performance data is stored in an array within the execution thread header. 
     
     
         7 . The method of  claim 1 , further comprising:
 building a call graph for a Java Virtual Machine; and   identifying methods within the call graph that do not satisfy the condition.   
     
     
         8 . The method of  claim 1 , further comprising:
 qualifying the methods associated with the stored data;   storing a portion of the stored data based on the qualification of the methods.   
     
     
         9 . The method of  claim 1 , further comprising processing the stored hot spot data to generate a graphical representation of the methods. 
     
     
         10 . The method of  claim 1 , further comprising:
 automatically identifying one of the plurality of methods executed as part of a business transaction as part of a learning process; and   recording performance data for each of a plurality of methods associated with the business transaction.   
     
     
         11 . The method of  claim 10 , wherein automatically identifying includes pre-loading previously stored methods associated with the business transaction. 
     
     
         12 . The method of  claim 11 , further comprising ending the learning process based on the number of step of automatically identifying. 
     
     
         13 . The method of  claim 12 , further comprising re-starting the learning process after a period of time. 
     
     
         14 . 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 a transaction, the method comprising
 recording performance data for each of a plurality of methods of a network application, the performance data stored by an execution thread;   ignoring the performance data for one or more of the plurality of methods that satisfy a threshold; and   storing the performance data for one or more of the plurality of methods having a root node that does not satisfy a condition.   
     
     
         15 . The non-transitory computer-readable storage medium of  claim 14 , wherein the performance data includes a start time and an end time for execution of the method. 
     
     
         16 . The non-transitory computer-readable storage medium of  claim 14 , wherein the condition includes a threshold for time of execution. 
     
     
         17 . The non-transitory computer-readable storage medium of  claim 14 , wherein the condition includes calling an external Java Virtual Machine. 
     
     
         18 . The non-transitory computer-readable storage medium of  claim 14 , wherein storing the data includes storing execution data and external call data. 
     
     
         19 . The non-transitory computer-readable storage medium of  claim 14 , wherein the performance data is stored in an array within the execution thread header. 
     
     
         20 . The non-transitory computer-readable storage medium of  claim 14 , the method further comprising:
 building a call graph for a Java Virtual Machine; and   identifying methods within the call graph that do not satisfy the condition.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.