Partial process recording
AssigneeMicrosoft Technology Licensing, LLC
InventorsJordi Mola, Juan Carlos Arevalo Baeza, Darek Josip Mihocka
Life of this patent
Estimating the term…
Abstract
Techniques for processing recorded program data are described. In implementations, a trace module in a computing device processes instructions of a recorded program and generates a trace file for program optimization. In implementations, the trace module records a subset of a received program for inclusion in the trace file. The computing device can also or instead be implemented to gather and initiate analysis of application data proactively and without user initiation.
Claims20
A system for trimming portions of a program during tracing of the program, the system comprising:
- one or more processors;
- a memory;
- and
- computer-readable storage media including instructions stored thereon that, responsive to execution by the one or more processors, cause the system to perform operations comprising:
- executing code of a program at the one or more processors, including executing a plurality of program units in the code of the program;
- while executing the code of the program at the one or more processors, identifying replay-able trace data that represents the execution of the code of the program at the one or more processors, the replay-able trace data comprising a plurality of portions of trace data that record the execution of a plurality of program units of the code of the program;
- identifying a subset of the plurality of portions of trace data that record execution of a pre-specified subset of the plurality of program units that is less than all of the plurality of program units, the subset of the plurality of portions of trace data being less than all of the plurality of portions of trace data;
- and
- based on the subset of the plurality of portions of trace data recording execution of the pre-specified subset of the plurality of program units, committing the subset of the plurality of portions of trace data to a replay-able trace that is stored in the memory, such that the replay-able trace enables replay of a subset of the prior execution of the code of the program that corresponds to execution of the pre-specified subset of the plurality of program units.
A method, implemented at a computer system that includes one or more processors, for trimming portions of a program during tracing of the program, the method comprising:
- executing code of a program at the one or more processors, including executing a plurality of program units in the code of the program;
- while executing the code of the program at the one or more processors, identifying replay-able trace data that represents the execution of the code of the program at the one or more processors, the replay-able trace data comprising a plurality of portions of trace data that record the execution of a plurality of program units of the code of the program;
- identifying a subset of the plurality of portions of trace data that record execution of a pre-specified subset of the plurality of program units that is less than all of the plurality of program units, the subset of the plurality of portions of trace data being less than all of the plurality of portions of trace data;
- and
- based on the subset of the plurality of portions of trace data recording execution of the pre-specified subset of the plurality of program units, committing the subset of the plurality of portions of trace data to a replay-able trace that is stored in a memory, such that the replay-able trace enables replay of a subset of the prior execution of the code of the program that corresponds to execution of the pre-specified subset of the plurality of program units.
A computer program product comprising one or more hardware storage devices having stored thereon computer-executable instructions that are executable by one or more processors of a computer system to cause the computer system to perform at least the following:
- execute code of a program at the one or more processors, including executing a plurality of program units in the code of the program;
- while executing the code of the program at the one or more processors, identify replay-able trace data that represents the execution of the code of the program at the one or more processors, the replay-able trace data comprising a plurality of portions of trace data that record the execution of a plurality of program units of the code of the program;
- identify a subset of the plurality of portions of trace data that record execution of a pre-specified subset of the plurality of program units that is less than all of the plurality of program units, the subset of the plurality of portions of trace data being less than all of the plurality of portions of trace data;
- and
- based on the subset of the plurality of portions of trace data recording execution of the pre-specified subset of the plurality of program units, commit the subset of the plurality of portions of trace data to a replay-able trace that is stored in a memory, such that the replay-able trace enables replay of a subset of the prior execution of the code of the program that corresponds to execution of the pre-specified subset of the plurality of program units.
Dependencies are inferred from the claim text.