Firefly: Illuminate Your Website’s Performance
One of Yelp’s core values is “play well with others.” So it’s no surprise that Yelp thrives with open source projects written by others, and gives back by sharing projects of our own. That’s why I’m excited to share this post by the manager of our Infrastructure team, Oliver N. (or as he’s known around the office, “BigO”), which adds to our library of open source projects.
How do you know if your website slows down as a result of a code push? How do you keep tabs on the performance of your most important endpoints? How do you know if your error rates spike, or what their baselines are? If you’re not actively using it, how do you even know your website is serving traffic? For Yelp’s Infrastructure team, the answer is an emphatic “GRAPHS”. Tasked with keeping the site up and running smoothly, we rely heavily on graphing the data from a variety of real-time metric systems. We keep these graphs open on our work computers as well as splashed across large LCDs in our office, and they communicate to us the heartbeat of a system that serves approximately 78 million uniques per month. Today we are releasing the home-grown tool we use to navigate, explore, annotate and graph these time series metrics on github. Meet Firefly:
Firefly has a ton of features, and has been super useful to us. We’re going to keep expanding those features and are also really interested in seeing what uses the community can find for this tool. We’re only shipping it with a DataSource configured for Ganglia right now, but adding new sources is designed to be easy and over time we’ll be looking to release some more parts of this system. Fork Firefly on github, give it and shot and let us know what you think!