Eventbrite has implemented Bugsnag in their development and release process which has given them peace of mind. They know any bugs will be detected before they impact their entire user base. Eventbrite has also become more agile since they can release features to a subset of users, monitor incoming errors, and decide when to rollout platform wide, knowing they will be alerted swiftly of issues.
CHALLENGE: As Eventbrite neared the release of their rewritten platform in React.js, they knew observability on the frontend was a problem they needed to solve. If they were going to release a dynamic, JavaScript application, they would need visibility into their product. Their homegrown solution sent errors to Splunk, but there was no clarity around which errors were problematic.
RESULTS: Eventbrite has now implemented Bugsnag in their development and release process which has given them peace of mind. They know any bugs will be detected before they impact their entire user base. Eventbrite has also become more agile since they can release features to a subset of users, monitor incoming errors, and decide when to rollout platform wide, knowing they will be alerted swiftly of issues.
Growth Goals and an Innovating Product Highlighted the Need for Visibility into Errors
Eventbrite is an online events platform that helps organizers build, manage, and grow their events. Their software provides end-to-end online event logistics, and enables organizers to get up and running smoothly and quickly, whether they are hosting intimate gatherings or complex, large scale events.
As Eventbrite solidified its platform for event organizers, they sought to grow their user base of attendees to become the destination for finding things to do. They also decided to move away from being a monolithic platform and break up their product functionality. This would allow them to offer certain services to event organizers who may not need their entire platform. These growth goals would require thinking about quality in a new way, but Eventbrite’s Frontend Platform team knew their previous system would not support their growth.
“Before Bugsnag, all of our JavaScript errors were put into Splunk, and it was just a pile of errors. It was very difficult to sort through or even get any visibility into. There was no grouping or ability to see what was actually impactful, and it was mixed in with all other error messages and logs as well,” says Senna Bala who manages the Eventbrite QA team. “I would spend time trying to force people to look at errors because no one would do it proactively on their own when it’s just so difficult to do.” Since they are responsible for helping engineering produce high quality software through testing and release support, this caused a lot of problems for her team.
At the time, the most common way to discover bugs was when they were reported by customers experiencing difficulty with their platform. It’s important to remember that for each user who complains about a bug, there are countless others who also experienced it and abandoned a product. Ben Ilegbodu, Principal Frontend Engineer, explains that their team was even suspicious of errors negatively impacting some of their business metrics, like conversion, but there was no way to know with certainty because of the lack of visibility into errors.
Gaining Peace of Mind Enables More Agile Development at Eventbrite
In the end, Eventbrite chose Bugsnag to monitor all frontend applications because of its superior user experience, like the ease with which they are able to find specific errors using custom filters. Senna and Ben agree the best thing they have gained from using Bugsnag is the tremendous peace of mind it brings their teams.
“Now I can be confident that everything is going into Bugsnag, and we can actually see the number of users that are hitting a bug, the number of different events. We get such granular data that I know I can go in there and find errors that are impactful.” - Senna Bala, QA Enginerring Manager
The ability to know about errors before they negatively impact customers has helped them speed up their release process. “In a sense it’s kind of like a safety net. If there’s a problem, we know we’re going to catch it. We are trying to move in a more agile way, where we can just decide to put something out to 5% of users and see how it goes. We can slowly release it out and check Bugsnag to see if there are any issues users are experiencing. This helps us move quicker since we don’t need to make sure everything is perfect before showing it to anyone, and we can get feedback early in terms of user experience and errors,” says Ben.
When issues do arise, they are fixing them much faster. According to Ben, having Bugsnag “is the difference between fixing bugs and not fixing them. It’s infinitely faster.”
Improved Pre-production Testing and Smoother Releases
Using Bugsnag has empowered the QA team to improve their processes and facilitate smoother releases. Running test flights have been significantly sped up, and when they do find errors, they are able to easily reproduce them using Bugsnag’s automatic breadcrumbs. “It is incredibly helpful for QA to be able to provide steps to reproduce because it means there’s a 90% chance it’ll get fixed. Without steps to reproduce, it’s more like a 5% chance because it requires so much work from the developer to dig into and find out why or how it’s happening," says Senna.
“JavaScript errors in particular are so edge-casey and hard to reproduce, and we’ve really appreciated having breadcrumbs that actually lay out step by step what a user did to get into this weird state that caused an error.”
-Senna Bala, QA Engineering Manager
Eventbrite now uses custom filters to monitor releases which has made shipping new features a much smoother process. During a release, new code is only deployed to one server which lets them monitor and fix issues while they are isolated. Eventbrite configured a custom filter in Bugsnag to filter errors by server so they can focus on the release and remove other noise from their view. When a release goes out, the engineers use this filter and monitor incoming errors on the server. This has helped them improve their releases and prevent rollbacks. “We’ve been able to catch a few errors that we wouldn’t have found in our QA process otherwise and been able to resolve those quickly rather than waiting for a customer to report them after a release.”