×

System and method for identifying contention of shared resources in a runtime system

  • US 9,280,444 B2
  • Filed: 10/11/2010
  • Issued: 03/08/2016
  • Est. Priority Date: 10/11/2010
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method of determining a runtime of a thread of an application, the method comprising:

  • receiving synchronization events for a first thread of an application executing on a computer system, the synchronization events including at least a first synchronization event and a second synchronization event for the first thread, each synchronization event includes a synchronization event timestamp corresponding to a time at which the synchronization event occurred and an accumulated timestamp corresponding to a time during which a runtime system of the computer system has been executing runtime system operations that include generating at least one stack trace of the first thread;

    calculating a first difference between the synchronization event timestamp of the first synchronization event and the synchronization event timestamp of the second synchronization event;

    calculating a second difference between the accumulated timestamp of the first synchronization event and the accumulated timestamp of the second synchronization event;

    calculating, by at least one processor of a computer system, a runtime of the first thread of the application as a difference between the first difference and the second difference;

    providing a first user interface that displays a synchronization snapshot, the synchronization snapshot including a plurality of statistics selections that each causes a different type of display of statistics;

    in response to a threads-by-identifier selection of the plurality of statistics selections, providing a second user interface that displays a list of threads including the first thread and corresponding blocking information for each thread in the list, the corresponding blocking information including an identifier of each thread, a blocked time for each thread, and a block count for each thread; and

    receiving a selection of a thread from the list of threads, the selection causing presentation of a third user interface including additional blocking statistics for only the selected thread, the additional blocking statistics including a number of times that one or more other threads blocked the selected thread, an identifier for each of the one or more other threads, and a blocked time for each of the one or more other threads.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×