Triaging and debugging your errors and crashes often requires more than just intelligent grouping, analysis of appropriate contextual information, and deep introspection into system state. It also requires the ability to search, explore and discover fine-grained patterns that may exist across all your error data.
Most tools hamper your ability to perform this discovery, limiting the amount of data collected through event sampling, (sampling the data so you can’t be sure that you see every error a specific user encounters) or by not providing a search engine and data visualization tool.
Backtrace is different. We are on a mission to liberate your diagnostic data, and have developed a set of powerful indexing, query and visualization features to ensure that our users can find any individual error they are looking for, within the entire set of data they have collected.
We combine these features into the Web Console, and surface them through Triage, Explore and Debug views of your data. The Console allows you to filter, group and aggregate across the detailed treasure trove of the system information that is collected alongside errors and crashes. Let’s take a few moments to explore how our customers are using Backtrace and the Web Console.
Search All Your Error Data
Engineering and QA teams use Backtrace to search for issues that may (or may not) have commonly affected stack traces or fault addresses. Below, we show how Backtrace allows you to use operators such as contains, not-contains, or regex to filter by various attributes and search across functions and modules referenced in call stacks.
Group and View Error Data and Crash Reports Based on Context
Engineers and managers turn to Backtrace to group their crash reports by dimensions other than similarity score. They need to group and aggregate error data based on context. They can answer questions like, “What is the impact by affected users?” or “How does instability compare across OS versions?” Release Managers Want The Query Builder tool exposes simple to use Group By and Aggregate functions that allow for this powerful faceting.
Identify Code Paths with the Most Instability
Engineering teams who are concerned about code quality will often want to ask questions like “how frequently is a frame is present within crashes?”, or “how often does using a function lead to a crash.”. Or to get more specific, “how often does this sequence of frames within my crashes?”. The intention of these questions is to understand your areas of instability – some engineering groups call this hot spotting. Like with performance, finding the hotspot, the paths that lead to the most amount of instability.
Backtrace provides a flame graph visualization that is excellent for viewing large corpuses of data, like a collection of stack traces. Until flame graphs, sampling profilers offered only the ability to merge exactly identical stack trace sequences. For complex applications with divergent stack sequences, there may be tens of thousands of unique stack trace sequences. Unfortunately, this makes it difficult to identify common bottlenecks (sub-sequences) across the samples. Flame graphs merge common sub-sequences of many stack trace sequences, improving the ability of a practitioner to understand bottlenecks.
Are you a Backtrace user who has found other innovative ways for searching through your diagnostic data? Let us know! And if you can’t do this with your error management tools today, you should consider trying Backtrace for 30 days free now.
FREE TRIAL SCHEDULE A DEMO