Determination of production vs. development uses from tracer data
AssigneeMicrosoft Technology Licensing, LLC
InventorRussell Krajec
Life of this patent
Estimating the term…
Abstract
Production or development uses of an application may be identified from tracing data when the data fits a heuristic. The heuristic may include length of execution run, number of executions, repeating patterns within the execution run, or other factors. Similarly, prototyping or development uses of an application may be identified by frequent code changes, sporadic uses, low loads, and other factors. The production and development uses of an application may be displayed by a uses versus user graph, where production users may be displayed as those users with the largest number of uses. The tracing data may be gathered by monitoring an entire application or from monitoring functions, modules, subroutines, libraries, interfaces, services, or other portions of an application.
Claims57
A system comprising:
- at least one computer processor;
- one or more computer-readable storage devices having encoded therein computer-executable instructions which, when executed on the at least one computer processor, configure the system to include:
- an interface that receives trace data collected from a plurality of executing applications;
- a classification engine that:
- analyzes a first time series of the trace data, and, as a result of the analysis of the first time series of the trace data:
- determines that the first time series is a production usage of a first executing application, and
- classifies the first time series as a production usage of the first executing application;
- and
- analyzes a second time series of the trace data, and, as a result of the analysis of the second time series of said trace data:
- determines that the second time series is a development usage of the first executing application, and
- classifies the second time series as a development usage of the first executing application.
A method performed on a computer processor, said method comprising:
- receiving a first time series of trace data collected from a first executing application;
- analyzing the first time series of the trace data;
- as a result of the analysis of the first time series of the trace data, classifying the first time series as a production use of the first executing application;
- receiving a second time series of trace data collected from the first executing application;
- analyzing the second time series of the trace data;
- as a result of the analysis of the second time series of the trace data, classifying said second time series as a development use of the first executing application.
A method performed on a computer processor, said method comprising:
- receiving a request for a metric relating to production use of a first application;
- identifying a first plurality of time series datasets gathered while monitoring the first application;
- analyzing the first plurality of time series datasets;
- based on the analysis, determining that each of said first plurality of time series datasets were taken during production use of said first application;
- and
- generating the metric from said first plurality of time series datasets.
A system comprising:
- at least one computer processor;
- a database comprising trace data gathered by monitoring an application, the trace data being time series datasets, each of the time series datasets being classified as production datasets or not production datasets;
- a query engine executing on the at least one computer processor, said wherein the query engine:
- receives a request for a metric relating to the production use of a first application;
- identifies a first plurality of time series datasets gathered while monitoring the first application;
- analyzes the first plurality of time series datasets;
- based on the analysis, determines that each of the first plurality of time series datasets were taken during production use of the first application;
- and
- generates the metric from the first plurality of time series datasets.
A system comprising:
- a database comprising:
- trace data comprising performance data gathered by profiling a plurality of applications, each of the plurality of applications being traced for an execution run;
- and
- metadata for each of the execution runs, the metadata including identification of a use scenario identifying one of a production use or a non-production use;
- an interface that:
- receives a request, the request comprising a use scenario;
- retrieves a plurality of the execution runs having metadata matching the requested use scenario;
- and
- returns at least one summary statistic representing the trace data for the plurality of execution runs having metadata matching the requested use scenario.
A method performed on at least one computer processor, the method comprising:
- receiving a request for trace data for a first reusable software component, the request comprising a metadata descriptor defining an expected use scenario identifying one of a production use or a non-production use;
- retrieving a plurality of execution runs, each of said execution runs matching the expected use scenario;
- generating at least one summary statistic from the plurality of execution runs;
- and
- returning the at least one summary statistic.
Dependencies are inferred from the claim text.