Engineering
The error monitoring tool I want
RG
Rasmus Gustafsson • Jul 10, 2024
For the majority of my life now, I have been building different software products. For observability, I’ve always just stuck with the usual setup of using logging on the backend, with Sentry on the front-end.
During the years I have been shipping products, the full-stack dev experience has come a long way from the days of deploying using FTP clients (s/o FileZilla) to manually move the assets etc. Nowadays we have 10 second push to deploy (or push to deploy is the norm), we have full-stack frameworks that make code-reuse, routing, caching, optimizations and shipping so much faster in general. I could go on forever.
However, It feels like the full-stack error monitoring and bug-fixing experience has been lacking the same massive gains in developer experience that were made in all other parts of the dev lifecycle.
The front-end error monitoring experience
On the front-end of things, I used to use Sentry to find possible front-end bugs. The problem I quickly found out with Sentry and similar tools are that they just catch all exceptions, including useless exceptions from browser extensions, a user’s internet connection dropping or something similar.
What ended up happening was that the large amount of unrelevant error alerts subdued me with time, and I stopped paying attention to the error alerts, and just went back to listening to error reports from user feedback.
And even when bugs are reported, they contain a often unhelpful stacktrace, leaving you more or less stranded when trying to reproduce what exactly happened.
The front-end error monitoring is like some kind of reverse Pareto principle, where 80% of the errors are useless, and drown out the 20% that are actual bugs. A very low signal to noise ratio.
Back-end error monitoring experience
On the back-end of things, I always used traditional log lines dispersed throughout the code, hoping that the context from the logs would be enough to fix any possible bugs that might happen on the back-end.
Low signal over noise