Performing call stack sampling
First Claim
1. A method for sampling an application thread to monitor a request, comprising:
- monitoring a request at a server, the request part of a distributed business transaction;
detecting a diagnostic event with respect to the processing of the request;
sampling a thread call stack associated with the request in response to detecting the diagnostic event;
updating a thread snapshot based on a state of the call stack over time with timing information, the state of the call stack retrieved from sampling the thread call stack based on the sampling, the timing information associated with particular call stack state, the snapshot including a hierarchical representation of calls performed during the request and detected by sampling the call stack; and
transmitting the thread snapshot and timing information to a remote server.
3 Assignments
0 Petitions
Accused Products
Abstract
The present technology may determine an anomaly in a portion of a distributed business application. Data can automatically be captured and analyzed for the portion of the application associated with the anomaly. By automatically capturing data for just the portion associated with the anomaly, the present technology reduces the resource and time requirements associated with other code-based solutions for monitoring transactions. A method for sampling an application thread to monitor a request may begin with detecting a diagnostic event with respect to the processing of a request. A thread call stack associated with the request may be sampled in response to detecting the diagnostic event. A state of the call stack may be stored with timing information based on the sampling. The call stack state and timing information may be transmitted to a remote server.
176 Citations
30 Claims
-
1. A method for sampling an application thread to monitor a request, comprising:
-
monitoring a request at a server, the request part of a distributed business transaction; detecting a diagnostic event with respect to the processing of the request; sampling a thread call stack associated with the request in response to detecting the diagnostic event; updating a thread snapshot based on a state of the call stack over time with timing information, the state of the call stack retrieved from sampling the thread call stack based on the sampling, the timing information associated with particular call stack state, the snapshot including a hierarchical representation of calls performed during the request and detected by sampling the call stack; and transmitting the thread snapshot and timing information to a remote server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for sampling an application thread to monitor a request, the method comprising:
-
monitoring a request at a server, the request part of a distributed business transaction; detecting a diagnostic event with respect to the processing of the request; sampling a thread call stack associated with the request in response to detecting the diagnostic event; updating a thread snapshot based on a state of the call stack over time with timing information, the state of the call stack retrieved from sampling the thread call stack based on the sampling, the timing information associated with particular call stack state the snapshot including a hierarchical representation of calls performed during the request and detected by sampling the call stack; and transmitting the thread snapshot and timing information to a remote server. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for monitoring a business transaction, comprising:
-
a first application server having memory; and one or more modules stored in memory of the first application server and executable by a processor to monitor a request at a server, the request part of a distributed business transaction, detect a diagnostic event with respect to the processing of the request, sample thread call stack associated with the request in response to detecting the diagnostic event, update a thread snapshot based on a state of the call stack over time with timing information, the state of the call stack retrieved from sampling the thread call stack based on the sampling, the timing information associated with particular call stack state, the snapshot including a hierarchical representation of calls performed during the request and detected by sampling the call stack, and transmit the thread snapshot and timing information to a remote server. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification