End-to- End Application Tracking Framework
AssigneeQwest Communications International Inc.
InventorsIgor I. Malkiman, Chauncey G. Powis, Tyson Matthew Bunch
Life of this patent
Estimating the term…
Abstract
Novel tools and techniques for tracing application execution and performance. Some of the tools provide a framework for monitoring the execution and/or performance of applications in an execution chain. In some cases, the framework can accomplish this monitoring with a few simple calls to an application programming interface on an application server. In other cases, the framework can provide for the passing of traceability data in protocol-specific headers of existing inter-application (and/or intra-application) communication protocols.
Claims21
A method for establishing a framework for end-to-end traceability and performance monitoring of an execution chain, the method comprising:
- maintaining an end-to-end execution chain for one or more application components, using traceability data, the traceability data including traceability data for each of the one or more application components of the end-to-end execution chain, the one or more application components comprising at least one of one or more request type application components or one or more callout type application components, a callout type application component being associated with a request type application component;
- and
- generating a report comprising the end-to-end execution chain, the report listing an actual execution time attributable to each of the one or more application components in the end-to-end execution chain in processing each request by each request type application component, wherein the actual execution time for each request callout type application component is measured by a difference between a start time and a stop time of each callout type application component, and wherein the actual execution time for each request type application component is measured by adding a pre-callout processing time, a sum of any and all interval callout processing time, and a post-callout processing time, the pre-callout processing time being measured by measuring a difference between a start time of each request type application component and a start time of a first serial callout type application component associated with each request type application component, the post-callout processing time being measured by measuring a difference between a stop time of a last serial callout type application component and a stop time of each request type application component associated with each request type application component, and each of the interval callout processing time being measured by measuring a difference between the stop time of each serial callout type application component and the stop time of any subsequent serial callout type application component, wherein each serial callout type application component is selected from a longest duration parallel callout type application component of any set of parallel callout type application components that is collectively executed before a subsequent serial callout type application components.
An apparatus, comprising:
- one or more non-transitory computer-readable storage media having encoded thereon one or more sets of instructions executable by one or more computers to perform one or more operations, the one or more sets of instructions collectively comprising:
- instructions for maintaining an end-to-end execution chain for one or more application components, using traceability data, the traceability data including traceability data for each of the one or more application components of the end-to-end execution chain, the one or more application components comprising at least one of one or more request type application components or one or more callout type application components, a callout type application component being associated with a request type application component;
- and
- instructions for generating a report comprising the end-to-end execution chain, the report listing an actual execution time attributable to each of the one or more application components in the end-to-end execution chain in processing each request by each request type application component, wherein the actual execution time for each request callout type application component is measured by a difference between a start time and a stop time of each callout type application component, and wherein the actual execution time for each request type application component is measured by adding a pre-callout processing time, a sum of any and all interval callout processing time, and a post-callout processing time, the pre-callout processing time being measured by measuring a difference between a start time of each request type application component and a start time of a first serial callout type application component associated with each request type application component, the post-callout processing time being measured by measuring a difference between a stop time of a last serial callout type application component and a stop time of each request type application component associated with each request type application component, and each of the interval callout processing time being measured by measuring a difference between the stop time of each serial callout type application component and the stop time of any subsequent serial callout type application component, wherein each serial callout type application component is selected from a longest duration parallel callout type application component of any set of parallel callout type application components that is collectively executed before a subsequent serial callout type application components.
A computer system, comprising:
- one or more processors;
- and
- one or more non-transitory computer-readable storage media having encoded thereon one or more sets of instructions executable by one or more computers to perform one or more operations, the one or more sets of instructions collectively comprising:
- instructions for maintaining an end-to-end execution chain for one or more application components, using traceability data, the traceability data including traceability data for each of the one or more application components of the end-to-end execution chain, the one or more application components comprising at least one of one or more request type application components or one or more callout type application components, a callout type application component being associated with a request type application component;
- and
- instructions for generating a report comprising the end-to-end execution chain, the report listing an actual execution time attributable to each of the one or more application components in the end-to-end execution chain in processing each request by each request type application component, wherein the actual execution time for each request callout type application component is measured by a difference between a start time and a stop time of each callout type application component, and wherein the actual execution time for each request type application component is measured by adding a pre-callout processing time, a sum of any and all interval callout processing time, and a post-callout processing time, the pre-callout processing time being measured by measuring a difference between a start time of each request type application component and a start time of a first serial callout type application component associated with each request type application component, the post-callout processing time being measured by measuring a difference between a stop time of a last serial callout type application component and a stop time of each request type application component associated with each request type application component, and each of the interval callout processing time being measured by measuring a difference between the stop time of each serial callout type application component and the stop time of any subsequent serial callout type application component, wherein each serial callout type application component is selected from a longest duration parallel callout type application component of any set of parallel callout type application components that is collectively executed before a subsequent serial callout type application components.
Dependencies are inferred from the claim text.