Thread execution analyzer
First Claim
Patent Images
1. A method performed by a computer system, the method comprising:
- analyzing a first context switch data of a first thread of a program, the first context switch data stored in response to a first blocking event corresponding to the first thread;
correlating the first blocking event with a first one of a plurality of blocking classes using the first context switch data; and
providing a first indication of the first thread, the first blocking event, and the first one of the plurality of blocking classes as part of a blocking analysis output.
2 Assignments
0 Petitions
Accused Products
Abstract
A thread execution analyzer analyzes blocking events of threads in a program using execution data and callstacks collected at the blocking events. The thread execution analyzer attempts to identify an application programming interface (API) responsible for each blocking event and provides blocking analysis information to a user. The blocking analysis information may be used by a developer of the program to understand the causes of blocking events that occur for threads of the program.
-
Citations
20 Claims
-
1. A method performed by a computer system, the method comprising:
-
analyzing a first context switch data of a first thread of a program, the first context switch data stored in response to a first blocking event corresponding to the first thread; correlating the first blocking event with a first one of a plurality of blocking classes using the first context switch data; and providing a first indication of the first thread, the first blocking event, and the first one of the plurality of blocking classes as part of a blocking analysis output. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method performed by a computer system, the method comprising:
-
employing at least one processor configured to execute computer-executable instructions stored in memory to perform the following acts; generating first and second thread execution analyses that correspond to first and second threads, respectively; and displaying first and second representations of the first and the second thread execution analyses, each of the representations including one or more respective execution periods, one or more respective blocking periods, and respective indications of one of a plurality of blocking classes for each blocking period. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer-readable storage medium storing computer-executable instructions that, when executed by a computer system, perform a method comprising:
-
executing a program including at least one thread; storing execution data including a callstack corresponding to the thread in response to detecting a context switch of the thread; matching a stack frame of the callstack in the execution data to a known blocking application programming interface (API) signature; correlating the context switch with one of a plurality of blocking classes, indicative of categories of blocking causes, associated with the known blocking API signature; and providing a first indication of the thread, the context switch, and the one of the plurality of blocking classes as part of a blocking analysis output. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification