IP Library Granted Patent US 7,716,652
Granted Patent B2
US 7,716,652 · App. 11/092,282 · Granted May 11, 2010

System and methods for tracing transactions

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,716,652
App. No.
11/092,282
Granted
May 11, 2010
Kind
B2
Abstract

The disclosure is directed to an application server including memory including an instrumented computer executable application. The instrumented computer executable application includes a first routine including a first set of tracing instructions and external resource access instructions and the instrumented computer executable application includes a second routine. The second routine includes a first segment including a second set of tracing instructions and instructions configured to access the first routine and the second routine includes a second segment including the external resource access instructions.

Claims (43)

1. An application server comprising memory including an instrumented computer executable application comprising:

a first routine including a first set of tracing instructions and external resource access instructions programmed to access a resource external to the application server; and

a second routine including:

an instrumented segment including a second set of tracing instructions and instructions configured to access the first routine, wherein the first routine is a proxy method for the instrumented segment of the second routine and is programmed to access the resource on behalf of the instrumented segment; and

an un-instrumented segment including the external resource access instructions and programmed to be executed in place of the instrumented segment when tracing is dormant, wherein the external resource access instructions in the un-instrumented segment are programmed to access the resource for the un-instrumented segment.

2. The application server of claim 1 , wherein the second routine includes conditional logic configured to determine whether tracing is active or dormant.

3. The application server of claim 2 , wherein the second routine is configured to execute the instrumented segment when tracing is active.

4. The application server of claim 2 , wherein the second routine is configured to execute the un-instrumented segment and not the instrumented segment when tracing is dormant.

5. The application server of claim 1 , wherein the first routine includes error handling instructions.

6. The application server of claim 5 , wherein the error handling instructions are configured to detect an error condition associated with the first set of tracing instructions and to perform the external resource access instructions and not the first set of tracing instructions when the error condition is detected.

7. The application server of claim 1 , wherein the external resource access instructions include database access instructions.

8. A computer-implemented method of adding instrumentation instructions to provide for tracing capability of a computer executable application, the computer-implemented 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 external resource access instructions;

processing the application file to add instrumentation instructions and to create an instrumented file, the instrumented file including a second routine including the set of external resource access instructions and a third routine functionally associated with the first routine, the third routine including an instrumented segment including a set of tracing instructions and instructions configured to access the second routine and including an un-instrumented segment including the set of external resource access instructions, wherein:

the second routine is a proxy method for the instrumented segment of the third routine and is programmed to access an external resource on behalf of the instrumented segment;

the un-instrumented segment is programmed to be executed in place of the instrumented segment when tracing is dormant, wherein the external resource access instructions in the un-instrumented segment are programmed to access the resource for the un-instrumented segment; and

loading the instrumented file onto the application server.

9. The computer-implemented method of claim 8 , wherein the third routine includes conditional logic configured to determine whether tracing is active or dormant.

10. The computer-implemented method of claim 9 , wherein the third routine is configured to execute the instrumented segment when tracing is active.

11. The computer-implemented method of claim 9 , wherein the third routine is configured to execute the un-instrumented segment and not the instrumented segment when tracing is dormant.

12. A computer-implemented method of tracing processing of software instructions associated with a transaction, the computer-implemented method comprising:

determining whether tracing is active;

executing a routine based on the result of the determining step, wherein the routine includes a first segment that performs first and second application methods and a second segment that performs a third application method;

when tracing is active:

performing the first application method including a first set of tracing instructions and instructions configured to access the second application method, the second application method including a second set of tracing instructions and external resource access instructions; and

performing the second application method, the second application method returning results associated with the external resource access instructions to the first application method, wherein the second application method is a proxy method for the first application method and is programmed to access an external resource on behalf of the first segment;

when tracing is dormant:

performing the third application method, the third application method being un-instrumented and including the external resource access instructions, wherein the external resource access instructions in the third application method are programmed to access the external resource for the third application method.

13. The computer-implemented method of claim 12 , wherein the external resource access instructions include database access instructions.

14. The computer-implemented method of claim 13 , wherein the database access instructions include an SQL statement.

15. The computer-implemented method of claim 12 , further comprising determining whether tracing of the software instructions is dormant or active.

16. The computer-implemented method of claim 12 , wherein performing the second application method includes detecting an error condition associated with the second set of tracing instructions and performing the external resource access instructions and not the second set of tracing instructions when the error condition is detected.

17. An enterprise environment comprising:

a data resource system; and

an application server comprising:

memory including an instrumented computer executable application comprising:

a first routine including a first set of tracing instructions and access instructions configured to access the data resource system; and

a second routine including an instrumented segment and an un-instrumented segment, the instrumented segment including a second set of tracing instructions and instructions configured to access the first routine, the un-instrumented segment including the access instructions configured to access the data resource system, wherein:

the first routine is a proxy method for the instrumented segment of the second routine and is programmed to access the data resource system on behalf of the instrumented segment;

the un-instrumented segment is programmed to be executed in place of the instrumented segment when tracing is dormant, wherein the access instructions in the un-instrumented segment are programmed to access the data resource system for the un-instrumented segment.

18. The enterprise environment of claim 17 , wherein the second routine includes conditional logic configured to determine whether tracing is active or dormant.

19. The enterprise environment of claim 18 , wherein the second routine is configured to execute the instrumented segment when tracing is active.

20. The enterprise environment of claim 18 , wherein the second routine is configured to execute the un-instrumented segment and not the instrumented segment when tracing is dormant.

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/0297 →
CORRECTIVE DOCUMENT FOR INCORRECTLY RECORDED ASSIGNMENT DOCUMENT, PREVIOUSLY RECORDED AT REEL 016433 FRAME 0762. Recorded Jul 7, 2006
From: SMITH, STEVEN; SCHANK, ERIC DAVID; TYLER, BRIAN MEAD
To: TONIC SOFTWARE, INC.
Reel/Frame 018091/0654 →
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/0762 →