Method and system for compensating for output overhead in trace data using initial calibration information
First Claim
1. A method for determining temporal overhead in generating trace records in a data processing system, the method comprising the computer-implemented steps of:
- retrieving a start time;
generating a selected number of trace records;
retrieving an end time;
computing an trace overhead calibration value as an average time for generating the selected number of trace records between the start time and the end time; and
storing the trace overhead calibration value for subsequent use in a profiling-related process in the data processing system.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for compensating for trace overhead is provided by analyzing and compensating for the temporal overhead associated with generating or outputting trace information to a trace buffer or a trace file in the form of trace records. A trace record generally represents an occurrence of a profiling event of interest. The amount of time required to generate a trace record may be determined, and the trace times retrieved from the trace records are adjusted to compensate for the amount of time required to generate those trace records. A trace overhead calibration value may be determined by computing the average time necessary to generate a trace record, or in certain cases, by computing the minimum time necessary to generate a trace record. The trace overhead calibration value is stored for subsequent use in a profiling-related process in the data processing system.
106 Citations
33 Claims
-
1. A method for determining temporal overhead in generating trace records in a data processing system, the method comprising the computer-implemented steps of:
-
retrieving a start time;
generating a selected number of trace records;
retrieving an end time;
computing an trace overhead calibration value as an average time for generating the selected number of trace records between the start time and the end time; and
storing the trace overhead calibration value for subsequent use in a profiling-related process in the data processing system. - View Dependent Claims (2, 3, 4)
computing a plurality of trace overhead compensation values using a plurality of trace record sizes; and
storing the plurality of trace overhead compensation values in association with the plurality of trace record sizes.
-
-
5. A method for determining temporal overhead in generating trace records in a data processing system, the method comprising the computer-implemented steps of:
-
generating a selected number of trace records;
for each successive pair of trace records in a trace file or trace buffer, computing a difference between a first timestamp in a preceding trace record and a second timestamp in a succeeding trace record to obtain a delta trace time, wherein the delta trace time represents an amount of time to generate a trace record;
determining a trace overhead compensation value as a minimum of all delta trace times; and
storing the trace overhead calibration value for subsequent use in a profiling-related process in the data processing system.
-
-
6. A method for processing trace data output in a data processing system, the method comprising the computer-implemented steps of:
-
reading a first timestamp from a first trace record and a second timestamp from a second trace record;
computing the difference between the two timestamps to obtain a delta time;
retrieving a trace overhead compensation value; and
adjusting the delta time in proportion to the trace overhead compensation value. - View Dependent Claims (7, 8, 9, 10, 11)
attributing the adjusted delta time to a performance statistic for a routine whose execution caused the first trace record or the second trace record to be output.
-
-
11. The method of claim 6 further comprising:
adjusting the delta time in proportion to a plurality of trace overhead compensation values.
-
12. A data processing system for determining temporal overhead in generating trace records in the data processing system, the data processing system comprising:
-
first retrieving means for retrieving a start time;
generating means for generating a selected number of trace records;
second retrieving means for retrieving an end time;
first computing means for computing an trace overhead calibration value as an average time for generating the selected number of trace records between the start time and the end time; and
first storing means for storing the trace overhead calibration value for subsequent use in a profiling-related process in the data processing system. - View Dependent Claims (13, 14, 15)
second computing means for computing a plurality of trace overhead compensation values using a plurality of trace record sizes; and
second storing means for storing the plurality of trace overhead compensation values in association with the plurality of trace record sizes.
-
-
16. A data processing system for determining temporal overhead in generating trace records in the data processing system, the data processing system comprising:
-
generating means for generating a selected number of trace records;
computing means for computing, for each successive pair of trace records in a trace file or trace buffer, a difference between a first timestamp in a preceding trace record and a second timestamp in a succeeding trace record to obtain a delta trace time, wherein the delta trace time represents an amount of time to generate a trace record;
determining means for determining a trace overhead compensation value as a minimum of all delta trace times; and
storing means for storing the trace overhead calibration value for subsequent use in a profiling-related process in the data processing system.
-
-
17. A data processing system for processing trace data output in the data processing system, the method comprising:
-
reading means for reading a first timestamp from a first trace record and a second timestamp from a second trace record;
computing means for computing the difference between the two timestamps to obtain a delta time;
retrieving means for retrieving a trace overhead compensation value; and
adjusting means for adjusting the delta time in proportion to the trace overhead compensation value. - View Dependent Claims (18, 19, 20, 21, 22)
attributing means for attributing the adjusted delta time to a performance statistic for a routine whose execution caused the first trace record or the second trace record to be output.
-
-
22. The data processing system of claim 17 further comprising:
adjusting means for adjusting the delta time in proportion to a plurality of trace overhead compensation values.
-
23. A computer program product in a computer-readable medium for use in a data processing system for determining temporal overhead in generating trace records, the computer program product comprising:
-
first instructions for retrieving a start time;
second instructions for generating a selected number of trace records;
third instructions for retrieving an end time;
fourth instructions for computing an trace overhead calibration value as an average time for generating the selected number of trace records between the start time and the end time; and
fifth instructions for storing the trace overhead calibration value for subsequent use in a profiling-related process in the data processing system. - View Dependent Claims (24, 25, 26)
instructions for computing a plurality of trace overhead compensation values using a plurality of trace record sizes; and
instructions for storing the plurality of trace overhead compensation values in association with the plurality of trace record sizes.
-
-
27. A computer program product in a computer-readable medium for use in a data processing system for determining temporal overhead in generating trace records, the computer program product comprising:
-
first instructions for generating a selected number of trace records;
second instructions for computing, for each successive pair of trace records in a trace file or trace buffer, a difference between a first timestamp in a preceding trace record and a second timestamp in a succeeding trace record to obtain a delta trace time, wherein the delta trace time represents an amount of time to generate a trace record;
third instructions for determining a trace overhead compensation value as a minimum of all delta trace times; and
fourth instructions for storing the trace overhead calibration value for subsequent use in a profiling-related process in the data processing system.
-
-
28. A computer program product in a computer-readable medium for use in a data processing system for processing trace data output, the computer program product comprising:
-
first instructions for reading a first timestamp from a first trace record and a second timestamp from a second trace record;
second instructions for computing the difference between the two timestamps to obtain a delta time;
third instructions for retrieving a trace overhead compensation value; and
fourth instructions for adjusting the delta time in proportion to the trace overhead compensation value. - View Dependent Claims (29, 30, 31, 32, 33)
instructions for attributing the adjusted delta time to a performance statistic for a routine whose execution caused the first trace record or the second trace record to be output.
-
-
33. The computer program product of claim 28 further comprising:
instructions for adjusting the delta time in proportion to a plurality of trace overhead compensation values.
Specification