Automatic capture of diagnostic data based on transaction behavior learning
First Claim
1. A method for monitoring a business transaction, comprising:
- accessing runtime data associated with a request executing on a server, the runtime data including aggregated data indicating performance of the request and associated with a first thread running on the server and corresponding with the request, the request received and processed by the server;
executing a module by a processor, the module stored in memory and executable to determine an anomaly associated with the request and based on the runtime data; and
sampling a second thread running on the server and associated with a subsequent instance of the request associated with the anomaly, the second thread sampled at a first rate for a first period of time in response to detecting the anomaly to collect thread data; and
sampling the second thread call stack at a second rate for a second period of time, the second rate less than the first rate, second period of time beginning immediately after the end of the first period of time and extending longer than the first period of time;
updating a thread call stack snapshot based on the call stack samples collected for the second thread; and
reporting the sampled thread data.
4 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 distributed business application is monitored to detect an anomaly based the learned behavior of the business application. The behavior may be learned for each of one or more machines which implement a distributed business transaction. The present system may automatically collect diagnostic data for one or more business transactions and/or requests based on learned behavior for the business transaction or request. Data for a distributed business application transaction may be collected by sampling one or more threads assigned to handle portions of the distributed business transaction. Data regarding the distributed transaction may then be reported from agents monitoring portions of the distributed transaction to one or more controllers and assembled by one or more controllers into business transactions.
182 Citations
35 Claims
-
1. A method for monitoring a business transaction, comprising:
-
accessing runtime data associated with a request executing on a server, the runtime data including aggregated data indicating performance of the request and associated with a first thread running on the server and corresponding with the request, the request received and processed by the server; executing a module by a processor, the module stored in memory and executable to determine an anomaly associated with the request and based on the runtime data; and sampling a second thread running on the server and associated with a subsequent instance of the request associated with the anomaly, the second thread sampled at a first rate for a first period of time in response to detecting the anomaly to collect thread data; and sampling the second thread call stack at a second rate for a second period of time, the second rate less than the first rate, second period of time beginning immediately after the end of the first period of time and extending longer than the first period of time; updating a thread call stack snapshot based on the call stack samples collected for the second thread; and reporting the sampled thread data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
10. A method for monitoring a business transaction, comprising:
-
accessing runtime data associated with a plurality of requests associated with a category, the runtime data associated with a first thread running on a server of the plurality of servers and corresponding with the requests; executing a module by a processor, the module stored in memory and executable to determine an anomaly associated with the plurality of requests based on the runtime data and a business transaction performance baseline; automatically sampling a second thread associated with a subsequent instance of a request of the plurality of requests based on the anomaly, the second thread sampled at a first rate for a first period of time; sampling the second thread call stack at a second rate for a second period of time, the second rate less than the first rate, second period of time beginning immediately after the end of the first period of time and extending longer than the first period of time; and updating a thread call stack snapshot based on the call stack samples collected for the second thread. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for monitoring a business transaction, the method comprising:
-
accessing runtime data associated with a request executing on a server, the runtime data including aggregated data indicating performance of the request and associated with a thread running on the server and corresponding with the request, the request received by the server and processed by the server; executing a module by a processor, the module stored in memory and executable to determine an anomaly associated with the request and based on the runtime data; and sampling a second thread running on the server and associated with a subsequent instance of the request associated with the anomaly, the second thread sampled at a first rate for a first period of time in response to detecting the anomaly to collect thread data; sampling the second thread call stack at a second rate for a second period of time, the second rate less than the first rate, second period of time beginning immediately after the end of the first period of time and extending longer than the first period of time; updating a thread call stack snapshot based on the call stack samples collected for the second thread; and reporting the sampled thread data. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. A system for monitoring a business transaction, comprising:
-
a first application server having a first application; and a first agent stored in memory of the first application server and executable by a processor to sample a second thread to detect a call to a second application, modify the call to the second application with diagnostic information, and update a thread call stack snapshot based on the call stack samples collected for the second thread, the second thread associated with a subsequent instance of a request associated with an anomaly, the second thread sampled in response to detecting the anomaly at a first rate for a first period of time and at a second rate for a second period of time, the second rate less than the first rate, second period of time beginning immediately after the end of the first period of time and extending longer than the first period of time. - View Dependent Claims (34, 35)
-
Specification