Claims Analysis
Total Claims: 19
Claim 1
Independent Claim
108 words
A method of monitoring execution of a transaction that invokes a plurality of application components of an application that runs on an application server, the method comprising: instrumenting code of each of the plurality of application components to permit execution of each application component to be monitored on the application server; in response to execution of the instrumented code within a thread, determining whether the thread is part of the transaction; and when the thread is part of the transaction, tracing execution of the thread through each of the plurality of application components to measure an amount of time spent by each such application component on the transaction.
Claim 2
Independent Claim
108 words
A method of monitoring execution of a transaction that invokes a plurality of application components of an application that runs on an application server, the method comprising: instrumenting code of each of the plurality of application components to permit execution of each application component to be monitored on the application server; in response to execution of the instrumented code within a thread, determining whether the thread is part of the transaction; and when the thread is part of the transaction, tracing execution of the thread through each of the plurality of application components to measure an amount of time spent by each such application component on the transaction.
Claim 3
Dependent Claim
34 words
The method of claim 1 , wherein tracing execution of the thread through each of the plurality of application components comprises recording execution start and stop times of specific methods of the application components.
Claim 4
Dependent Claim
26 words
The method of claim 1 , wherein determining whether the thread is part of the transaction comprises determining whether an associated transaction request message is colored.
Claim 5
Dependent Claim
14 words
The method of claim 1 , wherein the transaction is an actual user transaction.
Claim 6
Dependent Claim
51 words
The method of claim 1 , further comprising monitoring execution of the transaction from a location external to the application server to measure an end-user response time, whereby the method generates data sufficient to assess an impact each of the application components has on transaction performance as seen by end users.
Claim 7
Dependent Claim
13 words
The method of claim 1 , wherein the application components are J2EE components.
Claim 8
Dependent Claim
33 words
The method of claim 1 , wherein instrumenting the code of the plurality of application components comprises instrumenting each component as it is loaded into a memory of the application server for execution.
Claim 9
Dependent Claim
38 words
The method of claim 7 , wherein instrumenting the code of the plurality of application components further comprises using a patched version of a Java Virtual Machine class loader to access said code when application components are loaded.
Claim 10
Dependent Claim
12 words
A probe software component that embodies the method of claim 1 .
Claim 11
Dependent Claim
32 words
The method of claim 1 , further comprising, when the thread is not part of the transaction, refraining from tracing execution of the thread through each of the plurality of application components.
Claim 12
Dependent Claim
42 words
The method of claim 1 , wherein the plurality of components is a subset of a complete set of application components invoked by the transaction, said subset being dependent upon configuration data that specifies which components are to be instrumented for monitoring.
Claim 13
Independent Claim
101 words
A system for selectively monitoring application components on an application server, the system comprising: an instrumentation component that instruments code of application components to permit execution thereof by the application server to be monitored; a virtual machine that executes the application components on the application server; wherein the virtual machine is configured to pass the application components to the instrumentation component for instrumentation prior to execution thereof by the virtual machine, and wherein the instrumentation component selectively instruments the application components received from the virtual machine based on configuration data that specifies which application components are to be instrumented for monitoring.
Claim 14
Independent Claim
101 words
A system for selectively monitoring application components on an application server, the system comprising: an instrumentation component that instruments code of application components to permit execution thereof by the application server to be monitored; a virtual machine that executes the application components on the application server; wherein the virtual machine is configured to pass the application components to the instrumentation component for instrumentation prior to execution thereof by the virtual machine, and wherein the instrumentation component selectively instruments the application components received from the virtual machine based on configuration data that specifies which application components are to be instrumented for monitoring.
Claim 15
Dependent Claim
23 words
The system of claim 12 , wherein the configuration data comprises heuristics for determining which application components are to be instrumented for monitoring.
Claim 16
Dependent Claim
27 words
The system of claim 12 , further comprising a monitoring component that records execution start and stop times of instrumented application components executed by the virtual machine.
Claim 17
Dependent Claim
34 words
The system of claim 14 , wherein the monitoring component records said start and stop times in association with specific user transactions to which they correspond, to thereby collect transaction-specific application server performance data.
Claim 18
Dependent Claim
36 words
The system of claim 12 , wherein the virtual machine comprises a patched class loader class that is configured to pass code of an application component to the instrumentation component when said application component is loaded.
Claim 19
Dependent Claim
21 words
The method of claim 12 , wherein the configuration data indirectly specifies which application components are to be instrumented for monitoring.