Our fundamental unit of performance data is the trace, an incredibly rich view into the performance of an individual request moving through your web application. Given all this data and the diversity of the contents of any individual trace, it’s important to have an interface for understanding what exactly was going on when a request was served. How did it get handled? What parts were slow, and what parts were anomalous?
Over the past year, the TraceView team has been listening to your thoughts on this topic as well as hatching some of our own. Today we get to share the fruit of our labors: Trace Details, redesigned!
RUM, meet trace details.
Trace details and RUM are old friends, so it’s no surprise they’re here together now. But there are a few details that might be surprising to you:
- Using full-page caching (eg. Varnish, WP Super Cache, …)? Now you can measure cache effectiveness by seeing the # of cached pageviews for each generated page, both here and in the end-user dashboard.
- Get more details about the client-side performance of the page (why did this take so long to render in the user’s browser?) by triggering a webpagetest.org test for full waterfall + video comparisons!
Context is everywhere.
Have you ever wondered: was this request slow because the app server was under high load when it was served? How does this query perform normally, does it always take this long? Traces are now immersed in the full context of your app, from host health at the time of the transaction to the typical execution patterns of individual queries and RPCs.
Minimize your critical path.
A trace can traverse many layers of your stack across different processes, hosts, and even datacenters. Now it’s easy to toggle between viewing the full-stack trace structure and focusing on the critical path of the request.
Improved asynchronous trace visualization.
You might use asynchronous data processing to get higher concurrency or parallelize data lookups during a request. We were thinking of you when we improved your display of asynchronous request processing–now it’s super easy to find out where the long tail of your fanout is.
Per-call polish–now with 50% more keyboard nav!
Selecting a part of your traced transaction now yields custom-tailored display, including niceties like SQL formatting. Click through to view the backtrace at time of query or the performance of this query over the past 24 hours. And want to step through the request, replaying its path through your stack? Just use the left and right arrow keys on your keyboard!
But wait, there’s more!
We’ve improved a bunch of other stuff as well, both in the presentation and under the hood. Already tracing?