Identification of code synchronization points
AssigneeInternational Business Machines Corporation
InventorsMichael H. Dawson, Trent A. Gray-Donald
Life of this patent
Estimating the term…
Abstract
An illustrative embodiment of a computer-implemented method for identification of code synchronization points collects locking data for a set of locks in a managed runtime environment associated with the processor to form a set of contended metrics and analyzes the set of contended metrics using a set of predetermined event triggers. The method further determines whether a threshold in a set of predetermined thresholds in the set of predetermined event triggers is met and identifies a particular form of call path capture for a lock associated with the predetermined event trigger identified as having met the predetermined threshold. Call path information for the lock is captured using the particular form of call path capture.
Claims21
A computer-implemented method for identification of code synchronization points, the computer-implemented process comprising:
- collecting, by a processor, locking data for a set of locks in a managed runtime environment associated with the processor to form a set of contended metrics;
- analyzing the set of contended metrics, by the processor, using a set of predetermined event triggers, wherein the set of predetermined event triggers includes event triggers other than a releasing of a lock in the set of locks;
- determining, by the processor, whether a threshold in the set of predetermined thresholds in the set of predetermined event triggers is met;
- identifying, by the processor, a particular form of call path capture for the lock associated with the predetermined event trigger identified as having met the predetermined threshold;
- and
- capturing call path information for the lock using the particular form of call path capture, wherein the capturing occurs only after the lock has been released such that an acquiring of the lock by a thread is not delayed by the capturing.
A computer program product for identification of code synchronization points, the computer program product comprising:
- a non-transitory computer recordable-type device containing computer executable program code stored thereon, the computer executable program code comprising:
- computer executable program code for collecting, by a processor, locking data for a set of locks in a managed runtime environment associated with the processor to form a set of contended metrics;
- computer executable program code for analyzing the set of contended metrics, by the processor, using a set of predetermined event triggers, wherein the set of predetermined event triggers includes event triggers other than a releasing of a lock in the set of locks;
- computer executable program code for determining, by the processor, whether a threshold in the set of predetermined thresholds in the set of predetermined event triggers is met;
- computer executable program code for identifying, by the processor, a particular form of call path capture for the lock associated with the predetermined event trigger identified as having met the predetermined threshold;
- and
- computer executable program code for capturing call path information for the lock using the particular form of call path capture, wherein the capturing occurs only after the lock has been released such that an acquiring of the lock by a thread is not delayed by the capturing.
An apparatus for identification of code synchronization points, the apparatus comprising:
- a communications fabric;
- a memory connected to the communications fabric, wherein the memory contains computer executable program code;
- a communications unit connected to the communications fabric;
- an input/output unit connected to the communications fabric;
- a display connected to the communications fabric;
- and
- a processor unit connected to the communications fabric, wherein the processor unit executes the computer executable program code to direct the apparatus to:
- collect locking data for a set of locks in a managed runtime environment associated with the processor to form a set of contended metrics;
- analyze the set of contended metrics using a set of predetermined event triggers, wherein the set of predetermined event triggers includes event triggers other than a releasing of a lock in the set of locks;
- determine whether a threshold in the set of predetermined thresholds in the set of predetermined event triggers is met;
- identify a particular form of call path capture for the lock associated with the predetermined event trigger identified as having met the predetermined threshold;
- and
- capture call path information for the lock using the particular form of call path capture, wherein the capturing occurs only after the lock has been released such that an acquiring of the lock by a thread is not delayed by the capturing.
Dependencies are inferred from the claim text.