Transaction tracer
First Claim
Patent Images
1. A machine implemented method for monitoring software;
- comprising;
monitoring performance of an application and generating performance data about the application, the monitoring and generating being performed on a computing device executing the application, the monitoring performance and generating performance data comprises;
acquiring a first time stamp associated with a start of a transaction in response to a method being called, the method is called as part of the transaction, the method calls one or more resources to be performed as part of the transaction,acquiring parameter information for the transaction,creating a particular stack entry that identifies an invocation of the method, the first time stamp, the parameter information and the one or more resources called by the method,pushing the particular stack entry on a stack in response to the method being called,creating one or more additional stack entries for the one or more resources called by the method and pushing the one or more additional stack entries on to the stack,determining that the transaction has completed by detecting that the method has completed;
acquiring a second time stamp when the method has completed,removing the particular stack entry from the stack in response to the method completing and accessing the first time stamp, anddetermining execution time of the transaction based on the first time stamp from the stack entry and the second time stamp;
determining whether the performance data satisfies a filter by comparing the execution time of the transaction to a threshold; and
transmitting report data about the transaction from the computing device executing the application to a different computing device only if the execution time of the transaction satisfies the threshold;
the report data about the transaction includes an identification of the transaction, the execution time of the transaction, the parameter information from the stack entry and an indication of the one or more resources called by the method.
3 Assignments
0 Petitions
Accused Products
Abstract
A user specifies a threshold trace period and can initiate transaction tracing on one, some or all of the transactions running on a software system. Transactions with an execution time that exceeds the threshold trace period are reported to the user using a graphical user interface that lists transactions exceeding the specified threshold. For each listed transaction, a visualization can be provided that enables the user to immediately understand where time was being spent in the traced transaction.
71 Citations
8 Claims
-
1. A machine implemented method for monitoring software;
- comprising;
monitoring performance of an application and generating performance data about the application, the monitoring and generating being performed on a computing device executing the application, the monitoring performance and generating performance data comprises; acquiring a first time stamp associated with a start of a transaction in response to a method being called, the method is called as part of the transaction, the method calls one or more resources to be performed as part of the transaction, acquiring parameter information for the transaction, creating a particular stack entry that identifies an invocation of the method, the first time stamp, the parameter information and the one or more resources called by the method, pushing the particular stack entry on a stack in response to the method being called, creating one or more additional stack entries for the one or more resources called by the method and pushing the one or more additional stack entries on to the stack, determining that the transaction has completed by detecting that the method has completed; acquiring a second time stamp when the method has completed, removing the particular stack entry from the stack in response to the method completing and accessing the first time stamp, and determining execution time of the transaction based on the first time stamp from the stack entry and the second time stamp; determining whether the performance data satisfies a filter by comparing the execution time of the transaction to a threshold; and transmitting report data about the transaction from the computing device executing the application to a different computing device only if the execution time of the transaction satisfies the threshold; the report data about the transaction includes an identification of the transaction, the execution time of the transaction, the parameter information from the stack entry and an indication of the one or more resources called by the method. - View Dependent Claims (2, 3, 4, 5)
- comprising;
-
6. An apparatus for monitoring software, comprising:
-
a first computing device that includes manager software; and a second computing device in communication with the first computing device, the second computing device includes a software application and monitoring software, the monitoring software monitors the software application and generates performance data about the software application based on the monitoring, the monitoring software determines whether the performance data satisfies a filter, the monitoring software transmits a subset of the performance data to the managing software on the first computing device, performance data that is determined to satisfy the filter is transmitted from the monitoring software to the managing software, performance data that is determined to not satisfy the filter is not transmitted from the monitoring software to the managing software; the monitoring software monitors the software application and generates performance data by acquiring parameter information for a transaction;
creating a particular stack entry that identifies an invocation of a method, a first timestamp, parameter information and one or more resources called by the method;
pushing the particular stack entry on a stack in response to the method being called;
creating one or more additional stack entries for the one or more resources called by the method and pushing the one or more additional stack entries on to the stack;
determining that the transaction has completed by detecting that the method has completed;
acquiring a second time stamp when the method has completed;
removing the particular stack entry from the stack in response to the method completing and accessing the first time stamp; and
determining execution time of the transaction based on the first time stamp from the stack entry and the second time stamp;the monitoring software determines whether the performance data satisfies a filter based on comparing the execution time to a threshold. - View Dependent Claims (7)
-
-
8. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:
-
accessing existing object code for an application; automatically modifying the existing object code by changing the existing object code and adding new object code; monitoring performance of the application using the new object code and the changed existing object code, the monitoring being performed on the computing device that is executing the application; generating performance data about the performance of the application in response to the monitoring, the generating being performed on the computing device executing the application; determining whether the performance data satisfies a filter; and transmitting a subset of performance data from the computing device that is executing the application to a different computing device than the computing device that is executing the application, performance data that is determined to satisfy the filter is transmitted to the different computing device, performance data that is determined to not satisfy the filter is not transmitted to the different computing device; wherein monitoring performance and generating performance data comprises; acquiring a first timestamp associated with a start of a transaction in response to a method being called, the method is called as part of the transaction, the method calls one or more resources to be performed as part of the transaction; acquiring parameter information for the transaction; creating a particular stack entry that identifies an invocation of the method, the first timestamp, the parameter information and the one or more resources called by the method; pushing the particular stack entry on a stack in response to the method being called; creating one or more additional stack entries for the one or more resources called by the method and pushing the one or more additional stack entries on to the stack; determining that the transaction has completed by detecting that the method has completed; acquiring a second time stamp when the method has completed; removing the particular stack entry from the stack in response to the method completing and accessing the first time stamp; and determining execution time of the transaction based on the first time stamp from the stack entry and the second time stamp, the determining whether the performance data satisfies a filter is based on comparing the execution time to a threshold.
-
Specification