Application Execution Path Tracing With Configurable Origin Definition
First Claim
1. A method performed on at least one computer processor, said method comprising:
- executing an application in a first execution path to a first function, said first function being part of said application;
identifying said first execution path as meeting conditions for tracing and assigning a first identifier for said first execution path;
collecting first trace data while executing said first function and associating said first identifier to said first trace data;
executing said application to a first instance of a second function and determining that said first instance of said second function is part of said first execution path and collecting second trace data while executing said first instance of said second function and associating said first identifier to said second trace data; and
transmitting said first trace data and said second trace data.
4 Assignments
0 Petitions
Accused Products
Abstract
A tracing system may define an origin for consolidating and comparing trace paths within a traced application. A tracer may define an identifier that may be passed through a tracing route, and the identifier may be defined to capture specific instances or groups of instances of traces. The traces may be consolidated into a graphical representation of the program flow. The identifier may be passed across various boundaries, including function boundaries, library boundaries, application boundaries, device boundaries. An analysis system may consolidate or aggregate trace results having the same identifier, and may render such data graphically or provide statistics using the identified datasets.
-
Citations
50 Claims
-
1. A method performed on at least one computer processor, said method comprising:
-
executing an application in a first execution path to a first function, said first function being part of said application; identifying said first execution path as meeting conditions for tracing and assigning a first identifier for said first execution path; collecting first trace data while executing said first function and associating said first identifier to said first trace data; executing said application to a first instance of a second function and determining that said first instance of said second function is part of said first execution path and collecting second trace data while executing said first instance of said second function and associating said first identifier to said second trace data; and transmitting said first trace data and said second trace data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
at least one processor; an execution environment executing on said at least one processor, said execution environment executing a first application; a tracer that collects observations while said first application executes, said tracer that further; determines that execution has progressed to a first function; identifies said first execution path as meeting conditions for tracing and assigns a first identifier for said first execution path; collects first trace data while executing said first function and associates said first identifier to said first trace data; executes said application to a first instance of a second function and determines that said first instance of said second function is part of said first execution path and collects second trace data while executing said first instance of said second function and associates said first identifier to said second trace data; and transmits said first trace data and said second trace data. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method performed on at least one processor, said method comprising:
-
displaying a topology graph of an application, said application comprising a plurality of components, said topology graph comprising representations of said plurality of components; receiving a first selection from a user input device, said first selection comprising a first component within said topology graph; receiving a second selection comprising a first condition for tracing execution paths passing through said first component; and storing said first condition for said first component as a tracer rule associated with said first component. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A system comprising:
-
at least one processor; a trace database comprising trace data gathered from tracing an application; an interactive user interface presented on a device comprising said at least one processor, said interactive user interface that; displays a topology graph of an application, said application comprising a plurality of components, said topology graph comprising representations of said plurality of components; receives a first selection from a user input device, said first selection comprising a first component within said topology graph; receives a second selection comprising a first condition for tracing execution paths passing through said first component; and stores said first condition for said first component as a tracer rule associated with said first component. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. A method performed on at least one computer processor, said method comprising:
-
tracing an application; receiving a first rule for a first classification of execution paths through said first function, said first rule defining a first tracing sampling frequency; when executing said application; detecting said first function while executing a plurality of said execution paths; tracing said plurality of execution paths by selecting a first subset of said execution paths according to said first tracing sampling frequency, and causing each of said first subset of said execution paths to be traced. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A system comprising:
-
at least one processor; an execution environment executing on said at least one processor, said execution environment executing an application; a tracer that; receives a first rule for a first classification of execution paths through said first function, said first rule defining a first tracing sampling frequency; detecting said first function while executing a plurality of said execution paths; tracing said plurality of execution paths by selecting a first subset of said execution paths according to said first tracing sampling frequency, and causing each of said first subset of said execution paths to be traced. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50)
-
Specification