Bigeye is the data observability platform that data teams at companies like Zoom and Instacart use to keep their data fresh, high quality, and reliable.
We currently have services running across three languages and Sentry has plugins for them all - this gives the team the confidence to say that, were we to build anything new, Sentry would be able to monitor it.” Egor Gryaznov, CTO & Co-founder, Bigeye.
Bigeye’s customers depend on them to detect problems in their data pipelines 24/7, which means margins for error are razor thin; and the availability of their product has a direct impact on their customers’ ability to keep their data reliable enough for production use cases of analytics and machine learning.
In this environment, waiting for a customer to let them know that something isn’t working means it’s already too late. They have to be able to preemptively monitor the performance of their applications before things break.
Read on to learn how, with Sentry, Bigeye has been able to save 18-24 engineering hours per month.
It’s prohibitively expensive to wait until a customer comes to you and says ‘hey, there’s an error’ and a lot of this actually comes from not knowing what the context is around errors.
When the time came to find a solution that would fit their needs, Bigeye CTO & Co-founder, Egor Gryaznov knew that even though the team was small at the time, they would need a solution that could grow as the business did, setting them up for success at scale. This meant choosing a vendor with native Java integrations that supports Typescript and React, and one that could be customized for their unique use cases; saving the team from having to solve problems that were already solved by a scalable solution.
The dealbreaker would be a SaaS-based solution, Egor did not want them to host anything themselves and whatever tool they chose would need to be extensible as the team grew and added new systems to their stack.
In terms of efficiency, we didn’t want to manage infrastructure and needed it to be easy to extend into anything else we would want to do as the business grew.
In choosing Sentry, Bigeye is able to leverage native Java integrations for instrumenting the applications they write, and easily create React components for the frontend using Typescript.
We currently have services running across three languages and Sentry has SDKs for them all - this gives the team the confidence to say that, were we to build anything new, Sentry would be able to monitor it.
Engineering time is also better spent solving product problems and building things that make life better for their customers rather than monitoring deployments or keeping an eye on errors.
An example of this is how they work their way back from identifying an error using breadcrumbs to retrace the steps leading up to an error, quickly pinpointing where in the timeline things broke and fixing the issue.
We save up to 4 hours per week on average for our on-call engineers and up to 2 additional hours per week just on project-related debugging.
With Sentry’s Typescript and React support Egor’s team is able to receive rich context around errors throughout their stack. They manage this by creating an introspective wrapper around function calls and log parameters as they go through the stack, locking them into the context.
Then, if they receive an error report, the context includes their custom parameters all the way down the stack. This speeds up debugging since they can quickly see the IDs of the objects the call was trying to access.
Having this level of context available to us makes it much easier for us to correlate issues in our application, figuring out what we did and then going and finding the root cause.
A focus on scalable growth requires a degree of efficiency, and the ability to surface errors affecting specific business outcomes. Metric alerts allow Bigeye to set thresholds so that only once a certain volume of errors occur, they trigger an alert. Egor’s team is then able to customize these alerts based on where they would have the biggest impact on their business and allocate engineering resources more efficiently.
In the beginning, we had a lot of noise about specific customer environments that would send a lot of alerts. Sentry provided the visibility that helped us rethink what should be an error level log or exception vs something that should be addressed separately.
Bigeye runs a SaaS-based central deployment and offers single tenant hosted instances to their customer base, so each customer can have their own unique stack. This adds a certain level of complexity, but with Sentry Egor’s team is automatically routed to a specific instance based on preset tags, whenever there’s an error.
We have, over time, used Sentry to focus more on issues that affect multiple customers, and have really been able to narrow down what we pay attention to in Sentry to focus on the big ticket items rather than trying to knock out random one-off issues.
Once that happens, they’re quickly able to determine whether an error is coming from production, their staging environment or whether it’s related to a specific customer. This has helped the team hone in on issues much faster by automatically disregarding areas and instances where there aren’t any errors and only surfacing those that need attention.
With Sentry, Bigeye has sped up the time it takes to resolve critical issues affecting user experience, saving time that could be better spent building awesome products for their users. On top of that, Egor’s team developed new strategies to better understand where to focus their attention to best serve the business.
I don’t remember what we did before Sentry, we probably just spent all our time looking through logs trying to figure out where the problem started.
You’ve seen a lot about how Sentry has helped Bigeye detect and resolve issues, but how do you know whether your data has any issues? Bigeye is a fast and easy way to get visibility into the state of your data stack, check them out!