Rationale
BugSnag is our primary error monitoring tool. It provides error reporting libraries that automatically detect and report errors in real-time in our applications and capture diagnostic data required to help the engineering team reproduce and fix each error.
The main reasons why we chose it over other alternatives are:
- It provides real-time alerts about errors through different channels.
- It allows error grouping, making it easier for developers to understand the events.
- It provides error-reporting libraries for an extensive list of different platforms.
- It provides information about user actions when the error occurs.
- It allows an easy setup process.
- It makes eventualities easy to debug with detailed data for each exception.
- It allows us to compare different versions of our applications and environments.
- It smoothly integrates with third-party services and plugins to improve developers' experience.
- It provides powerful error searching and segmentation.
Alternatives
The following alternatives were considered but not chosen for the following reasons:
- Sentry: At the moment we tried it was not as simple to use as BugSnag and did not provide any aggregated value for our needs that encouraged us to move to it.
- LogRocket: It provides valuable functionality to record the screen and track user actions when errors occur. It was implemented in an additional way, oriented only to this feature helping us improve observability.
Usage
We use BugSnag for:
- Display stability dashboards
- Error monitoring
- Error labeling
- Relate errors directly to GitLab's issues
- Debug errors and keep track of warnings
- Compare errors between app versions
- Track errors over time
- Classify and filter errors by severity, release, state, and date
We do not use BugSnag for:
- Measure app performance
- Monitor features and experiments
- Real User Monitoring