Filed under: Performance Monitoring
Over the past few months, we’ve been reaching out to users, doing user testing, and compiling a collection of the most complex traces TraceView has encountered to date. What have we found? Unsurprisingly, our customers’ apps (and ecologies thereof) continue to grow more sophisticated, distributed, and asynchronous.
We’re obviously excited about this trend, as instrumenting and visualizing complex, full-stack traces is our bread-and-butter. To make exploration of your most complex traces even easier, we’ve poured blood-sweat-and-coffee into to a slick new visualizer that lets you explore even your gnarliest multi-app traces all in one place.
Note: A trace is the path of a single user request through your application stack and across distributed hosts. For every user request to your app that we trace, you can visualize this path and see what was happening inside all the various components of your app as it fulfilled the request. This allows you to quickly identify which layer or component added the most time to your user’s request.
Narrow your search!
For complex environments, you can speed up investigation of a specific issue by searching for the layer or profile you’re interested in.
Improved visibility of short spans
Drag-selecting a timespan allows you to zoom into an area of interest so that you can more easily select shorter calls to see the details.
No trace too complex!
The interactive time slider now features natural sideways scrolling if you have a trackpad or mouse that supports this, so you can follow those long traces without touching your keyboard.
New Visualization modes
- Autozoom – The execution time for some extents can be microseconds. As a tiny percentage of total request time, these extents can be difficult to see as part of the whole request when viewing the entire trace. When auto-zoom is enabled, the visualization will zoom into selected layers, extents or spans.
- Collapse Blocked Spans – This toggle will collapse non-blocking layer spans so you can easily see which spans are part of the trace’s critical path(s).
- Waterfall Mode – This toggle puts each extent on its own row, and is capable of displaying very complex traces without vertical scrolling. This mode enables you to easily visualize the chronology of a trace.
- Expand Profiles – This feature is available if the trace you are looking at contains profiled code paths. It pulls profiled paths out of their parent layer so you can see them as individual extents. These profiled paths are either automatic, as certain frameworks are automatically profiled by our instrumentation, or manual as you can manually add profiled paths to your code using the language instrumentation API.
We’re all about saving time — and you can now explore your trace without touching your mouse. Use ↑ & ↓ arrow keys to move between Layers and Profiles, and ← and → to move between extents of a layer or profile. H, J, K, L to navigate is also supported.
Questions, comments, bugs, or ideas for new visualization modes? We love to hear what you think! Let us know: firstname.lastname@example.org