Note that there are some explanatory texts on larger screens.

plurals
  1. POJava Profilers That Display Per Request Statistics and Program Flow
    text
    copied!<p>I'm looking for profilers that support per request profiling statistics, ideally along the programs flow (not the usual thread call stack). So basically a profiler call stack + sequential calls view for each single request, something like this:</p> <pre><code>doGet 100ms + doFilter 95ms + doFilter2 90ms + validateValues 20ms + calculateX 40ms + calc1 10ms + calc2 30ms + renderResponse 30ms </code></pre> <p>Which classes / methods are profiled is configured in some way, for a tracing profiler that processes each method call, this is of course not usable.</p> <p>I know of and have used dynaTrace, its "PurePath" Feature (<a href="http://www.dynatrace.com/en/architecture-tame-complexity-with-purepath.aspx" rel="nofollow">http://www.dynatrace.com/en/architecture-tame-complexity-with-purepath.aspx</a>) supports this, but I'm looking for tools that are usable in smaller projects and require less of an initial investment and set up.</p> <p>Does any "classical" profiler (YourKit, etc) support this and I have overlooked the feature?</p> <p>Addendum: To supply some background: The main goal is to have statistics for the monitoring and analysis of a system in production. First and foremost the idea is to get live statistics of how long requests take and in case response time goes up to have data for certain (types of) requests (think JETM + x).</p> <p>Per request profiling statistics allows for a detailed analysis of why just some requests are slow, e.g. if 10% of the requests take ten times as long as your average. With aggregated statistics this is AFAIK very hard to solve.</p> <p>The same goes for a profiling statistics that renders the calls along the program flow, because it is easy to identify where in the request the problem lies, e.g. a method performs ten DB queries, you see each call as a single one and not just ten aggregated calls.</p> <p>Ideally the measurement points are configure and en/disabled at run time.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload