Welcome back to another episode of Sentry’s Snack of the Week.
In today’s episode we’re going to get lazy while improving performance all at the same time.
How’s it going everyone? My name is Sarah and I’m part of DevRel at Sentry. Today we’re going to chat about two-phased loading, and how fetching release and health data separately, and in parallel, led to a 22% faster UI and almost half a second faster load time. Oh shoot, I just gave away the surprise. You can also read all about this improvement on our blog.
Since we’re building the platform that other developers use to monitor performance, we take performance in loading views for you very seriously. But with the amount of data that we not only process, but render, we were encountering a performance issue that no one on Stack Overflow could tell us how to quickly solve.
Let’s take a look at one of the views that you might care about as a developer: the Releases page. In just this one page we need to fetch:
So we first split the request into two parallel requests, to at least be able to show some of our results immediately. But we noticed in Performance (yes, we use our Performance feature to track our own performance) that especially with release-heavy organizations, like those organizations that push code multiple times per hour, this still wasn’t enough.
That’s when we got lazy. OK, not really. “Lazy loading” is kind of a weird term because it yields more performant pages. What we did was fetch releases and health data separately, while still in parallel. And I know I already gave away the spoiler, but this lazy loading resulted in a 22% faster UI and almost half a second faster load time.
And don’t forget to like, subscribe and follow us on YouTube. You don’t want to miss anymore of these Sentry Snacks of the Week.
Director of DevRel, Sentry