Generating profiling data
AssigneeGoogle Inc.
InventorJames Anthony Roskind
Life of this patent
Estimating the term…
Abstract
Systems and methods for generating profiling data include monitoring the execution of a task on a thread of a program. Profiling data may be generated that includes metrics regarding the execution of the task. A profiling data aggregation service may aggregate generated profiling data from a plurality of devices that execute the program.
Claims20
A computerized method for profiling a program comprising:
- receiving, at a processing circuit of a first device, a request to execute a task on a thread of a commercially-released version of a software product;
- monitoring, by the processing circuit, the execution of the task;
- generating profiling data indicative of one or more metrics regarding the execution of the task, the commercially-released version of the software product including instructions to generate the profiling data during execution of the software product on the first device;
- and
- providing, over a network, the profiling data to a profiling data aggregation service for generation of aggregated profiling data.
A system for profiling a program comprising a processing circuit operable to:
- receive a request to execute a task on a thread of a commercially-released version of a software product;
- monitor the execution of the task;
- generate profiling data indicative of one or more metrics regarding the execution of the task, the commercially-released version of the software product including instructions to generate the profiling data during execution of the software product on a first device;
- and
- provide, over a network, the profiling data to a profiling data aggregation service for generation of aggregated profiling data.
A non-transitory computer-readable storage medium having instructions therein, the instructions being executable by a processor to cause the processor to perform operations comprising:
- providing a program to a plurality of electronic devices, the program being a commercially-released version of a software product for use by consumers, the program being a multi-threaded application, the program including instructions to generate profiling data indicative of one or more metrics regarding the execution of a task on a thread of the program during execution of the program at the plurality of electronic devices;
- receive the profiling data from the plurality of electronic devices regarding the execution of the task by the plurality of electronic devices;
- aggregate the profiling data from the plurality of electronic devices regarding the execution of the task, wherein the profiling data identifies at least one of a total run time for the task, an average run time for the task, or a maximum run time for the task.
Dependencies are inferred from the claim text.