Application tracing by distributed objectives
First Claim
1. A method performed by a computer processor, said method comprising:
- receiving an application to instrument;
analyzing said application to identify a plurality of objects;
creating a set of trace objectives by creating a trace objective for each of said plurality of objects;
causing each of said trace objectives to be deployed on an instrumented environment that executes said application, said instrumented environment generating a result set for a trace objective;
performing a static code analysis of said application to identify a preliminary list of functions;
performing an initial trace of said application using said preliminary list of function to generate a detailed list of function;
analyzing said detailed list of functions to determine said plurality of objects; and
collecting said result set from each of said trace objectives;
aggregating said result sets to create an aggregated result set.
2 Assignments
0 Petitions
Accused Products
Abstract
A tracing system may divide trace objectives across multiple instances of an application, then deploy the objectives to be traced. The results of the various objectives may be aggregated into a detailed tracing representation of the application. The trace objectives may define specific functions, processes, memory objects, events, input parameters, or other subsets of tracing data that may be collected. The objectives may be deployed on separate instances of an application that may be running on different devices. In some cases, the objectives may be deployed at different time intervals. The trace objectives may be lightweight, relatively non-intrusive tracing workloads that, when results are aggregated, may provide a holistic view of an application'"'"'s performance.
176 Citations
19 Claims
-
1. A method performed by a computer processor, said method comprising:
-
receiving an application to instrument; analyzing said application to identify a plurality of objects; creating a set of trace objectives by creating a trace objective for each of said plurality of objects; causing each of said trace objectives to be deployed on an instrumented environment that executes said application, said instrumented environment generating a result set for a trace objective; performing a static code analysis of said application to identify a preliminary list of functions; performing an initial trace of said application using said preliminary list of function to generate a detailed list of function; analyzing said detailed list of functions to determine said plurality of objects; and collecting said result set from each of said trace objectives; aggregating said result sets to create an aggregated result set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a processor; a trace objective generator operating on said processor, said trace objective generator that; receives an application to instrument; analyzes said application to identify a plurality of objects; creates a set of trace objectives by creating a trace objective for each of said plurality of objects; a dispatcher that; causes each of said trace objectives to be deployed on an instrumented environment that executes said application, said instrumented environment generating a result set for a trace objective performing a static code analysis of said application to identify a preliminary list of functions; performing an initial trace of said application using said preliminary list of function to generate a detailed list of function; analyzing said detailed list of functions to determine said plurality of objects, each of said trace objectives that further transmits said result set to a data collector. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification