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.