Method and Apparatus for Computing User-Specified Cost Metrics in a Data Space Profiler
First Claim
1. A method, comprising:
- accessing an event set comprising a plurality of events, wherein each event represents a runtime event that occurred during execution of a software application and comprises a plurality of respective extended address element values; and
applying a user-specified cost function to the event set;
wherein said applying comprises;
determining a respective profiling object identifier value for each of one or more events in the event set dependent on one of the plurality of respective extended address element values comprised in the event, wherein the one of the plurality of respective extended address element values corresponds to a hardware component, a software construct, or a data allocation construct associated with the represented runtime event;
computing a respective cost metric value for each of the one or more events dependent on at least one extended address element value comprised in the event corresponding to a cost associated with the respective profiling object identifier and dependent on the user-specified cost function; and
returning the respective profiling object identifier value of each of the one or more events and the respective cost metric value of each of the one or more events.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for profiling a software application may include means for defining a custom cost metric that includes a cost metric identifier and a cost function. The cost function may apply a mathematical formula to data extracted from an event set to calculate a respective cost metric value for each of one or more events in the event set. The data extracted from the event set may include one or more respective profiling object identifiers and one or more other respective costs associated with each of the one or more events. A cost associated with an event in the event space may be associated with a function or basic block of instructions. The cost function may include a distribution formula for attributing at least a portion of the cost associated with a function or basic block to each of the instructions comprising the function or basic block.
-
Citations
20 Claims
-
1. A method, comprising:
-
accessing an event set comprising a plurality of events, wherein each event represents a runtime event that occurred during execution of a software application and comprises a plurality of respective extended address element values; and applying a user-specified cost function to the event set; wherein said applying comprises; determining a respective profiling object identifier value for each of one or more events in the event set dependent on one of the plurality of respective extended address element values comprised in the event, wherein the one of the plurality of respective extended address element values corresponds to a hardware component, a software construct, or a data allocation construct associated with the represented runtime event; computing a respective cost metric value for each of the one or more events dependent on at least one extended address element value comprised in the event corresponding to a cost associated with the respective profiling object identifier and dependent on the user-specified cost function; and returning the respective profiling object identifier value of each of the one or more events and the respective cost metric value of each of the one or more events. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus, comprising:
-
means for defining a custom cost metric comprising a cost metric identifier and a user-specified cost function; means for accessing an event set comprising a plurality of events, wherein each event represents a runtime event that occurred during execution of a software application and comprises a plurality of respective extended address element values; and means for applying the user-specified cost function to the event set; wherein said means for applying comprises; means for determining a respective profiling object identifier value for each of one or more events in the event set dependent on one of the plurality of respective extended address element values comprised in the event, wherein the one of the plurality of respective extended address element values corresponds to a hardware component, a software construct, or a data allocation construct associated with the represented runtime event; means for computing a respective cost metric value for each of the one or more events dependent on at least one extended address element value comprised in the event corresponding to a cost associated with the respective profiling object identifier and dependent on the user-specified cost function; and means for returning the respective profiling object identifier value of each of the one or more events and the respective cost metric value of each of the one or more events. - View Dependent Claims (14, 15, 16)
-
-
17. A computer-readable storage medium comprising program instructions computer-executable to implement:
-
accessing an event set comprising a plurality of events, wherein each event represents a runtime event that occurred during execution of a software application and comprises a plurality of respective extended address element values; and applying a user-specified cost function to the event set; wherein said applying comprises; determining a respective profiling object identifier value for each of one or more events in the event set dependent on one of the plurality of respective extended address element values comprised in the event, wherein the one of the plurality of respective extended address element values corresponds to a hardware component, a software construct, or a data allocation construct associated with the represented runtime event; computing a respective cost metric value for each of the one or more events dependent on at least one extended address element value comprised in the event corresponding to a cost associated with the respective profiling object identifier and dependent on the user-specified cost function; and returning the respective profiling object identifier value of each of the one or more events and the respective cost metric value of each of the one or more events. - View Dependent Claims (18, 19, 20)
-
Specification