1. A method for performing a diagnostic session for a request, comprising: monitoring a request at a server, the request part of a distributed business transaction; detecting an event associated with the request; initiating a diagnostic session in response to the event and associated with the request at the server; collecting diagnostic data by sampling an application thread on each of two or more servers, the two or more application threads associated with the same business transaction which is distributed over and processed by each of the two or more servers, the business transaction associated with the request, wherein sampling an application thread includes sampling a thread call stack handling a request received at a server of the two or more servers to determine the thread call stack state, wherein the diagnostic data including the performance of one or more outgoing calls performed as part of the request, at least one outgoing call associated with an application thread at a second server of the two or more servers; and storing the thread call stack state data.