Built-in Elixir error reporting and tracking
SaaS fatigue is real. Reliance on third-party tools is widespread. How did we get to this situation? Starting a project should not require you to sign up for five different services.
While error reporting is extremely valuable for most projects, it is absent from many. The most common reason is that this requires entering SaaS territory. Most solutions are provided by third-parties that require you to subscribe and pay for the privilege of tracking your errors.
Cost is a clear downside. Maybe you have a side project that doesn’t generate much money (or at all) so it doesn’t even cover the cost of integrating third-party error tracking. That integration will never happen and you will have a hard time identifying, reproducing and fixing problems.
There is also another downside that may not be so clear at first sight: data ownership. When you integrate any of this third-party solutions you are giving away an incredible amount of data. This may include PII and other sensible information leaking from errors, parameters and stacktraces. As you can imagine, this data should never leave your system. Depending on where your service operates you may be even legally bound by GDPR, HIPAA and other laws that restrict data transfer and retention rules.
Announcing ErrorTracker
In many cases you don’t need to rely on third-party services for error tracking. You may use your existing web server and database. ErrorTracker is born out of this desire for simplification.
The simplicity of co-locating your errors with the rest of your data cannot be overstated. You don’t need to set up any third-party services. You don’t need to manage developer accounts. You don’t need to keep an eye on billing. You don’t need mind quotas and worry that some errors may not be recorded if you exceed the allotted limit. You don’t need be concerned about the third-party compliance policies.
With the Error Tracker you just install the package and start tracking errors right away. There is also a web dashboard built with Phoenix LiveView so you can access and manage recorded errors.
Christian Alexander made a great video showcasing ErrorTracker. In just three minutes he explains how to set it up in your own project and shows the LiveView dashboard for managing recorded errors.
Recorded errors live in your database. You decide what is kept and for how long. You decide who has access to it. You decide if and how it is backed up. You decide if you want to use the main database or a different one. You decide. You choose.
If you are starting a new project, consider whether you really need a third party service. Maybe a local solution is enough, at least for some time. If you are already using a third-party service consider if the cost-benefit ratio is adequate.
That’s it. Simple, self hosted and self managed. It doesn’t have to be much more complicated than that.