IP Library Granted Patent US 8,504,674
Granted Patent B2
US 8,504,674 · App. 13/153,630 · Granted Aug 6, 2013

System and method for high-performance profiling of application events

Inventor: Jeffrey A. Vaught (Batavia, OH)
Assignee: CA, Inc.
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 8,504,674
App. No.
13/153,630
Granted
Aug 6, 2013
Kind
B2
Abstract

A system and method for high-performance profiling of web-enabled application events are provided. In one embodiment, the method includes registering a profiler as a provider to an event tracer. Information associated with an event is captured using the profiler, the event is associated with a web-enabled application. A function token is associated with the captured information, which is communicated to the event tracer.

Claims (67)

1. A method for high-performance profiling of application events, the method comprising:

using a processor, registering a profiler to provide, to an event tracer, information associated with a profiler function that the profiler implements to instrument an executing application;

capturing an event from the executing application with the profiler, wherein the profiler captures the event in response to information associated with the event satisfying a profile criterion; and

offloading the profiler function implemented via the profiler from the profiler to the event tracer, wherein offloading the profiler function to the event tracer comprises:

communicating the event captured from the executing application and a function token associated with the event from the profiler to the event tracer, wherein the profiler function implemented via the profiler returns the function token associated with the event; and

identifying a function name to associate with the event based on the function token returned from the profiler function implemented via the profiler.

2. The method of claim 1 , further comprising:

querying assembly metadata associated with the function token returned from the profiler function implemented via the profiler to identify the function name to associate with the event; and

using, the function name identified from the assembly metadata associated with the function token to populate metadata in a record in an event tracing log associated with the profiler function offloaded to the event tracer.

3. The method of claim 2 , wherein the profiler function offloaded to the event tracer comprises the query to identify the function name to associate with the event.

4. The method of claim 1 , wherein:

the capturing comprises capturing a plurality of events including the event from the executing application with the profiler,

the communicating comprises communicating the plurality of events and a plurality of function tokens associated with the plurality of events from the profiler to the event tracer,

the plurality of events communicated from the profiler are correlated based on identified function names associated with the plurality of events to offload the corresponding profiler functions implemented via the profiler from the profiler to the event tracer, and

correlating the plurality of events comprises:

identifying a start event among the plurality of events communicated from the profiler in response to the plurality of events communicated from the profiler including an end event; and

associating the start event with the end event in response to the function name associated with the start event matching the function name associated with the end event to correlate the plurality of events communicated from the profiler.

5. The method of claim 1 , further comprising:

determining whether the profiler function implemented via the profiler is active in response to a notification message that invokes the profiler; and

executing, by the profiler, the profiler function to capture the event from the executing application, if the profiler function is determined to be active.

6. The method of claim 1 , further comprising:

determining that the information associated with the event does not satisfy the profile criterion; and

storing the information associated with the event that does not satisfy the profile criterion in a cache prior to having the event tracer perform the function offloaded from the profiler on the event that does not satisfy the profile criterion.

7. A non-transitory computer-readable storage medium containing computer-executable instructions for high-performance profiling of application events, wherein executing the computer-executable instructions on a processor causes the processor to:

register a profiler to provide, to an event tracer, information associated with a profiler function implemented via the profiler to instrument an executing application;

capture an event from the executing application with the profiler in response to information associated with the event satisfying a profile criterion;

communicate the event captured from the executing application and a function token associated with the event from the profiler to the event tracer, wherein the profiler function implemented via the profiler returns the function token associated with the event; and

identify a function name to associate with the event based on the function token returned from the profiler function implemented via the profiler

to offload the profiler function implemented via the profiler from the profiler to the event tracer.

8. The non-transitory computer-readable storage medium of claim 7 , wherein executing the computer-executable instructions on the processor further causes the processor to:

query assembly metadata associated with the function token returned from the profiler function implemented via the profiler to identify the function name to associate with the event events; and

use the function name identified from the assembly metadata associated with the function token to populate metadata in a record in an event tracing log associated with the profiler function offloaded to the event tracer.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the profiler function offloaded to the event tracer comprises the query to identify the function name to associate with the event.

10. The non-transitory computer-readable storage medium of claim 7 , wherein executing the computer-executable instructions further causes processor to:

capture a plurality of events including the event from the executing application with the profiler, and communicate the plurality of events and a plurality of function tokens associated with the plurality of events from the profiler to the event tracer;

correlate the plurality of events communicated from the profiler based on identified function names associated with the plurality of events to offload the corresponding profiler functions implemented via the profiler from the profiler to the event tracer;

identify a start event among the plurality of events communicated from the profiler in response to the plurality of events communicated from the profiler including an end event; and

associate the start event with the end event in response to the function name associated with the start event matching the function name associated with the end event to correlate the plurality of events communicated from the profiler.

11. The non-transitory computer-readable storage medium of claim 7 , wherein executing the computer-executable instructions on the processor further causes the processor to:

determine whether the profiler function implemented via the profiler is active in response to a notification message; and

execute the profiler function to capture the event from the executing application, if the profiler function is determined to be active.

12. The non-transitory computer-readable storage medium of claim 7 , wherein executing the computer-executable instructions on the processor further causes the processor to:

determine that the information associated with the event does not satisfy the profile criterion; and

store the information associated with the event that does not satisfy the profile criterion in a cache prior to having the event tracer perform the function one or more functions offloaded from the profiler on the event that does not satisfy the profile criterion.

13. A system for high-performance profiling of application events, wherein the system comprises a hardware server comprising a processor configured to:

register a profiler to provide, to an event tracer, information associated with a profiler function implemented via the profiler to instrument an executing application;

capture an event from the executing application with the profiler in response to information associated with the event satisfying a profile criterion;

communicate the event captured from the executing application and a function token associated with the event from the profiler to the event tracer, wherein the profiler function implemented via the profiler returns the function token associated with the event; and

identify a function name to associate with the event based on the function token returned from the profiler function implemented via the profiler to offload the profiler function implemented via the profiler from the profiler to the event tracer.

14. The system of claim 13 , wherein the processor is further configured to:

query assembly metadata associated with the function token returned from the profiler function implemented via the profiler to identify the function name to associate with the event; and

use the function name identified from the assembly metadata associated with the function token to populate metadata in a record in an event tracing log associated with the profiler function offloaded to the event tracer.

15. The system of claim 14 , wherein the profiler function offloaded to the event tracer comprises the query to identify the function name to associate with the event.

16. The system of claim 13 wherein the processor is further configured to:

capture a plurality of events including the event from the executing application with the profiler, and communicate the plurality of events and a plurality of function tokens associated with the plurality of events from the profiler to the event tracer;

correlate the plurality of events communicated from the profiler based on identified function names associated with the plurality of events to offload the corresponding profiler functions implemented via the profiler from the profiler to the event tracer;

identify a start event among the plurality of events communicated from the profiler in response to the plurality of events communicated from the profiler including an end event; and

associate the start event with the end event in response to the function name associated with the start event matching the function name associated with the end event to correlate the plurality of events communicated from the profiler.

17. The system of claim 13 , wherein the processor is further configured to:

determine whether the profiler function implemented via the profiler is active in response to a notification message; and

execute the profiler function to capture the event from the executing application, if the profiler function is determined to be active.

18. The system of claim 13 , wherein the processor is further configured to:

determine that the information associated with the event does not satisfy the profile criterion; and

store the information associated with the event that does not satisfy the profile criterion in a cache prior to having the event tracer perform the function offloaded from the profiler on the event that does not satisfy the profile criterion.

19. The system of claim 13 , wherein the executing application has a namespace that associates the event captured from the executing application with the function token returned from the profiler function implemented via the profiler.

20. The method of claim 1 , wherein the executing application has a namespace that associates the event captured from the executing application with the function token returned from the profiler function implemented via the profiler.

21. The non-transitory computer-readable storage medium of claim 7 , wherein the executing application has a namespace that associates the event captured from the executing application with the function token returned from the profiler function implemented via the profiler.

Assignments (2)
MERGER Recorded Jul 2, 2013
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 030727/0138 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2011
From: VAUGHT, JEFFREY A.
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 026393/0320 →
Continuity (3)
Continuation 10886756 · Jul 7, 2004
Provisional Application 60486601 · Jul 11, 2003
Related Publication 20110238812A1 · Sep 29, 2011