IP Library Granted Patent US 7,886,281
Granted Patent B2
US 7,886,281 · App. 11/092,281 · Granted Feb 8, 2011

System and methods for cross-tier transaction tracing

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 7,886,281
App. No.
11/092,281
Granted
Feb 8, 2011
Kind
B2
Abstract

The disclosure is directed to a method of tracing processing of software instructions associated with a transaction. The method includes writing an access data stream addressed to a receiving application on a remote application server and writing a transaction identifier to the end of the access data stream. The receiving application is configured to read the access data stream and the transaction identifier when an instrumented version of the receiving application is implemented on the remote application server.

Claims (53)

1. A method of tracing processing of software instructions associated with a transaction, the method comprising:

receiving an application file prior to loading the application file onto an application server, the application file comprising a first routine comprising a set of data stream writing instructions configured to provide a data stream configured to access a remote application located on a remote server;

processing the application file to add instrumentation instructions and to create an instrumentation file, the instrumented file comprising a second routine and a private static method, wherein:

the second routine is programmed to invoke the private static method and includes a set of transaction identification writing instructions, the transaction identification writing instructions being configured to add a transaction identifier to the data stream;

the private static method comprises the set of data stream writing instructions and enables a stack setup sequence to be handled automatically;

associating a transaction identifier with performance data of the application file on a first application server;

invoking a method of the remote application on the remote application server;

providing the transaction identifier to the remote application;

associating the transaction identifier with performance data of the remote application on the remote application server;

filtering the performance data of the remote application and the performance data of the application file based on a maximum call depth requirement such that performance data associated with a method called after the maximum call depth requirement is surpassed is ignored.

2. The method of claim 1 , wherein the transaction identifier is included as an argument for invoking the remote method of the remote application.

3. The method of claim 1 , wherein the transaction identifier is appended to an output stream sent from the application file to the remote application.

4. The method of claim 1 , further comprising:

filtering the performance data of the application file and the performance data of the remote application based on a minimum speed requirement such that performance data indicating execution times less than the minimum speed requirement is ignored.

5. The method of claim 1 , further comprising changing the remote application transaction identity to the transaction identifier.

6. The method of claim 5 , further comprising:

writing a return data stream addressed from the receiving application, the return data stream including the transaction identifier.

7. A method of tracing processing of software instructions associated with a transaction, the method comprising:

receiving an application file prior to loading the application file onto an application server, the application file comprising a first routine comprising a set of data stream writing instructions configured to provide a data stream configured to access a remote application located on a remote server;

processing the application file to add instrumentation instructions and to create an instrumentation file, the instrumented file comprising a second routine and a private static method, wherein:

the second routine is programmed to invoke the private static method and includes a set of transaction identification writing instructions, the transaction identification writing instructions being configured to add a transaction identifier to the data stream;

the private static method comprises the set of data stream writing instructions and enables a stack setup sequence to be handled automatically;

reading a data stream provided by the remote application located on the remote application server;

determining whether the data stream includes a transaction identifier appended to the data stream;

setting a transaction identification of a process of the application file to the transaction identifier when the data stream includes the transaction identifier; and

associating the transaction identifier with performance and diagnostic data of the remote application and the application file;

filtering the performance and diagnostic data of the remote application and the performance and diagnostic data of the application file based on a maximum call depth requirement such that performance data associated with a method called after the maximum call depth requirement is surpassed is ignored.

8. The method of claim 7 , further comprising:

setting the transaction identification of the process to a unique transaction identifier when the transaction identifier is absent from the data stream.

9. The method of claim 7 , further comprising:

writing log data associated with the process and including the transaction identifier.

10. The method of claim 7 , further comprising:

appending the transaction identifier to a return data stream addressed to the remote application located on the remote application server.

11. The method of claim 7 , further comprising:

writing the data stream; and

appending the transaction identifier to the data stream, wherein the remote application located on the remote application server is configured to write the data stream and append the transaction identifier.

12. The method of claim 7 , wherein the remote application is a Java application.

13. The method of claim 7 , wherein the remote application is a .NET application.

14. A method of adding instrumentation instructions to provide for tracing capability of a computer executable application, the method comprising:

receiving an application file prior to loading the application file onto an application server, the application file including a first routine including a set of data stream writing instructions configured to provide a data stream configured to access a remote application located on a remote server;

processing the application file to add instrumentation instructions and to create an instrumented file, the instrumented file including a second routine and a private static method, wherein:

the second routine is programmed to invoke the private static method and includes a set of transaction identification writing instructions, the transaction identification writing instructions being configured to add a transaction identifier to the data stream;

the private static method includes the set of data stream writing instructions and enables a stack setup sequence to be handled automatically;

loading the instrumented file onto the application server;

reading a data stream provided by the remote application located on the remote server;

determining whether the data stream includes the transaction identifier;

setting a transaction identification of the application file to the transaction identifier when the data stream includes the transaction identifier;

associating the transaction identifier with performance data of the remote application and performance data of the application file; and

filtering the performance data of the remote application and the performance data of the application file based on a maximum call depth requirement such that performance data associated with a method called after the maximum call depth is surpassed is ignored.

15. The method of claim 14 , wherein the transaction identification writing instructions are configured to add the transaction identification to an end of the data stream.

16. The method of claim 14 , wherein the second routine includes a set of instrumentation instructions configured to log performance data associated with performance of the second routine.

17. The method of claim 14 , wherein the application file is a JAVA class file.

18. The method of claim 14 , wherein the application file is a .NET assembly file.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2007
From: TONIC SOFTWARE, INC.
To: SYMANTEC CORPORATION
Reel/Frame 019826/0115 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY NAME, PREVIOUSLY RECORDED AT REEL 016433, FRAME 0737. Recorded Jul 7, 2006
From: SMITH, STEVEN; SCHANK, ERIC DAVID; TYLER, BRIAN MEAD
To: TONIC SOFTWARE, INC.
Reel/Frame 018088/0550 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2005
From: SMITH, STEVEN; SCHANK, ERIC DAVID; TYLER, BRIAN MEAD
To: TONIC SOLUTIONS, INC.
Reel/Frame 016433/0737 →