Performance markers to measure performance of features in a program
AssigneeMicrosoft Corporation
InventorsJames P. Rodrigues, Suneetha Annangi
Life of this patent
Estimating the term…
Abstract
A method, apparatus, and article of manufacture provide a mechanism for inserting performance code markers into programs to obtain and provide data regarding the run-time operation of the programs. The computing system has an init module, a performance code marker module for obtaining and storing the run-time internal state data for later retrieval, and an uninit module. The init module is executed before any run-time internal state data is collected. The performance code marker module is executed each time run-time internal state data is to be collected. The uninit module is executed after all run-time internal state data desired has been collected.
Claims27
A computing system for obtaining run-time internal state data within an application program, the computing system comprising:
- a processor unit;
- an init module for determining if the run-time internal state data is to be collected during the operation of the application program;
- a performance code marker module for obtaining and storing the run-time internal state data for later retrieval at predefined points corresponding to permanently inserted performance markers, wherein the application program calls the performance code marker module each time one of the permanently inserted performance markers is reached;
- and
- an uninit module for formatting and storing the obtained run-time internal state data into memory that permits retrieval after the termination of the application program;
- wherein
- the init module is executed before any run-time internal state data is collected;
- the performance code marker module is executed each time run-time internal state data is to be collected;
- and
- the uninit module is executed after all run-time internal state data desired has been collected.
A method for obtaining run-time internal state data within an application program, the method comprising:
- permanently inserting one or more code markers into the application program at locations within the application program corresponding to the point at which run-time internal state data is desired;
- determining if run-time internal state data is to be collected at each code marker by calling a performance code marker module, the performance code marker module checking for the existence of processing modules identified by an identification key within a system registry;
- if run-time internal state data is to be collected at each code marker:
- generating a performance data record containing the collected run-time internal state data each time the code markers are reached;
- storing the performance data records within a data memory block within the processing modules identified by the identification key within the system registry;
- retrieving the performance data records from the data memory block for transfer to a mass storage device once all of the run-time internal state data has been collected.
A computer storage medium readable by a computing system and encoding a computer program of instructions for executing a computer process for obtaining run-time internal state data within an application program, said computer process comprising the steps of:
- permanently inserting one or more code markers into the application program at locations within the application program corresponding to the point at which run-time internal state data is desired;
- determining if run-time internal state data is to be collected at each code marker by calling a performance code marker module;
- if run-time internal state data is to be collected at each code marker:
- generating a performance data record containing the collected run-time internal state data each time the code markers are reached;
- storing the performance data records within a data memory block;
- retrieving the performance data records from the data memory block for transfer to a mass storage device once all of the run-time internal state data has been collected.
Dependencies are inferred from the claim text.