For people unfamiliar with Backtrace, they often ask us: “How are you different from Application Performance Management (APM) tools?” As a Crash and Error Reporting platform, we consider both APMs and us under a broader classification of “Developer Tools” or “Infrastructure”, but our offering is in fact quite different from an APM. You can see in this nice little infographic on gaming products how DataDog, an APM, is classified under “Analytics”, while Backtrace is “Middleware/Backend”.
Using the old “explain it to your grandmother” tactic AKA how I describe Backtrace to my friends or interviews with non-technical folks, I explain it using airplanes. Yes, that’s right, airplanes! Specifically, I dive into Air Traffic Control and Flight Recorders.
Air Traffic Control is responsible for organizing plane traffic. They receive signals from planes, current positioning, and their flight patterns. From these signals, they can detect anomalies, but don’t have data readily available to understand why those anomalies occur. In the event of a catastrophic event, say an airplane crash, they would know something’s wrong because the plane would be off course or completely gone from detection, but they wouldn’t have information as to what caused the crash. APM solutions are similar: they listen to application information such as load and response time. When they stop receiving info, or behaviors spike/drop, you know something’s wrong, but not necessarily why.
On the other hand, the Flight Recorder (the famous “Black Box”), which sits aboard the plane, contains critical diagnostic info, such as altitude, position, speed, and engine data. If there’s anomalous behavior, then finding and analyzing the Flight Recorder will tell you much more about why that anomalous behavior happened so that you can address the root cause. If airplane crashes were happening very frequently, then plane owners/manufacturers want to have a way to collect this information consistently and easily to figure out what’s wrong, and stop planes from crashing.
In the infrastructure world, this is exactly what we do: Backtrace is a system for collecting and analyzing software crash and error reports.
Can we coexist? If you already have an APM, can you also use crash reporting, or vice versa? Our unequivocal answer is: absolutely you can! Just like in the plane crash case, you want to know both (1) when planes aren’t performing as expected and (2) why they aren’t performing. Having a comprehensive set of infrastructure that allows you monitor your applications and provide the critical info to diagnose when those applications fail is the best way to keep your systems stable and allow your developers to ship better code. APMs typically monitor for performance anomalies in infrastructure for production SaaS and other backend systems. This is complementary to Backtrace’s post-mortem debugging. Backtrace helps you ask and answer questions such as “When was the first time this user has seen an error?” or “What are the most impactful or severe issues we have seen this week in production or development?”