1. Hi Dan – unfortunately, a CPU profiler is almost never the right tool for diagnosing slow or hanging requests.

    Most of the time, slow requests happen due to either slow db/network IO, or an application deadlock. The profiler will not help you see this because these operations are not CPU intensive (they usually end by placing the thread in a WAIT state, e.g. WaitOnMultipleObjects).

    In the rare cases where you have a high CPU hang, CPU intensive code could be the culprit and a CPU profiler could help identify it.

    In all other cases, you are better off with a debugger to look at the stacks where the hanging requests are stuck.


  2. matt g.

    Nice! helped catch a request hang today.

    Do you plan to blog more about how to figure out application-wide deadlocks? That”s a very interesting topic for us.

  3. Hi Matt,

    I”ll definitely blog about this in a later post. There is a lot to cover. We are also adding a diagnostic for this in LeanSentry to automatically figure it out without forcing the user to become an expert in troubleshooting deadlocks.


Leave a Reply

Your email address will not be published. Required fields are marked *