Logging trace data for program code execution at an instruction level
AssigneeMicrosoft Technology Licensing, LLC
InventorJordi MOLA
Life of this patent
Estimating the term…
Abstract
Methods and systems are disclosed for logging trace data generated by executing program code at an instruction level. In aspects, high volumes of trace data are generated during certain time periods, e.g., immediately following a start of the tracing. Processors operating at normal speeds are often unable to log such high volumes of trace data. The issue of such high volumes of trace data may be addressed by selectively and dynamically controlling logging of outstanding trace data. For example, a rate of generating the trace may be reduced by slowing processor speeds, logging of outstanding trace data may be suspended for a period, and logging of non-urgent trace data may be selectively delayed.
Claims20
A computer device, comprising:
- at least one processing unit;
- and
- at least one memory storing computer-executable instructions for logging trace data generated by executing program code at an instruction level, the computer-executable instructions when executed by the at least one processing unit causing the computer device to:
- receive a number of outstanding trace data to be logged;
- compare the number of outstanding trace data to be logged with at least one threshold;
- and
- based on the comparison, selectively process trace data, comprising one or more steps selected from the list consisting of:
- changing a rate of generating the trace data by slowing processor speed;
- suspending logging of the trace data for a period of time;
- and
- selectively delaying logging of at least some of the outstanding trace data.
A method, implemented at a computer device that includes at least one processing unit, for logging trace data generated by executing program code at an instruction level, the method comprising:
- receiving a number of outstanding trace data to be logged;
- comparing the number of outstanding trace data to be logged with at least one threshold;
- and
- based on the comparison, selectively processing trace data, comprising one or more steps selected from the list consisting of:
- changing a rate of generating the trace data by slowing processor speed;
- suspending logging of the trace data for a period of time;
- and
- selectively delaying logging of at least some of the outstanding trace data.
A hardware storage device storing computer-executable instructions for logging trace data generated by executing program code at an instruction level, the computer-executable instructions when executed by the at least one processing unit causing a computer device to:
- receive a number of outstanding trace data to be logged;
- compare the number of outstanding trace data to be logged with at least one threshold;
- and
- based on the comparison, selectively process trace data, comprising one or more steps selected from the list consisting of:
- changing a rate of generating the trace data by slowing processor speed;
- suspending logging of the trace data for a period of time;
- and
- selectively delaying logging of at least some of the outstanding trace data.
Dependencies are inferred from the claim text.