1. A computer implemented method of sampling call stack information, the computer implemented method comprising: monitoring an accumulated latency time for each thread in a set of threads while executing in a data processing system; responsive to a thread in the set of threads having an associated accumulated latency exceeding a threshold, obtaining the call stack information for the thread, wherein the call stack information includes for each thread elapsed time, execution time, and previous latency; and constructing a call tree from the call stack information by monitoring method and function entries and exits, wherein the call tree includes nodes comprising call stack information and latency information associated with a particular thread for a method or a function.