DIAGNOSIS OF APPLICATION PERFORMANCE PROBLEMS VIA ANALYSIS OF THREAD DEPENDENCIES
First Claim
1. A system for constructing control patterns for use in diagnosing root causes of performance problems in applications, comprising:
- a device for monitoring events and inter-thread interactions of a task during execution of the task using instrumentation techniques;
a device for recording trace data including the events and inter-thread interactions of the task for a period of interest; and
a device for evaluating the recorded trace data to construct control patterns, said control patterns including identifications of all critical participant threads and causal relations of operations that happened in those threads during the period of interest.
2 Assignments
0 Petitions
Accused Products
Abstract
A “Performance Evaluator” provides various techniques for tracking system events to diagnose root causes of application performance anomalies. In general, traces of system events involved in inter-thread interactions are collected at application runtime. These traces are then used to construct inter-thread dependency patterns termed “control patterns.” Control patterns are then evaluated to determine root causes of performance anomalies. Where an application terminates abnormally or full traces cannot be collected for some reason, partial control patterns are constructed for that application. In various embodiments, “fingerprints” are then generated from full or partial control patterns and are matched to fingerprints corresponding to operations in other control patterns extracted from reference traces collected on the same or similar systems. Matched fingerprints or control patterns are then used to deduce the root cause of application performance anomalies associated with full or partial traces.
90 Citations
20 Claims
-
1. A system for constructing control patterns for use in diagnosing root causes of performance problems in applications, comprising:
-
a device for monitoring events and inter-thread interactions of a task during execution of the task using instrumentation techniques; a device for recording trace data including the events and inter-thread interactions of the task for a period of interest; and a device for evaluating the recorded trace data to construct control patterns, said control patterns including identifications of all critical participant threads and causal relations of operations that happened in those threads during the period of interest. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for constructing control patterns for use identifying critical participant threads and causal relations of operations during execution of an application, comprising steps for:
-
using instrumentation elements to monitor events and inter-thread interactions associated with a task during execution of the task; identifying a period of interest during execution of the task; recording trace data including the events and inter-thread interactions of the task for the period of interest; constructing one or more control patterns from the recorded trace data, said control patterns including identifications of all critical participant threads and causal relations of operations that happened in those threads during the period of interest; and evaluating the control patterns to determine one or more root causes of a performance problem that occurred during the execution of the task. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable medium having computer-executable instructions stored thereon for diagnosing root causes of performance problems in applications, said instructions comprising:
-
buffering system-level and application-level trace data including events and inter-thread interactions related to execution of a particular task; automatically initiating a recording of the trace data, including any buffered trace data whenever any operation associated with the task does not complete within a predetermined time period; constructing one or more control patterns from the recorded trace data, said control patterns including identifications of all critical participant threads and causal relations of operations that happened in those threads during the period of interest; and evaluating the control patterns to determine one or more root causes of a performance problem that occurred during the execution of the task. - View Dependent Claims (17, 18, 19, 20)
-
Specification