Heartbeats: How Synthetic Traffic Keeps Us Running Let me take you on a journey of how we came to use heartbeats in our application design. It’s a happy story of love and no broken hearts along the way. What are heartbeats? What my teams have called heartbeats are a form of synthetic traffic generated by the application itself. The deployed…
#monitoring
7 posts
8 Sept 2025
10 Feb 2025
Introduction If your application uses MySQL and you’re interested in getting the best out of it via performance tuning and monitoring, then Releem is a very nice tool that can assist you in your endeavor. I discovered Releem from Roman Agabekov’s posts on social media. Roman is the founder of this tool, and since his posts about MySQL performance tuning…
16 Mar 2020
Periskop is an exception monitoring service that we built here at SoundCloud. It was designed with microservice environments in mind, but it…
4 Jun 2019
If there is anything like a silver bullet for creating meaningful and actionable alerts with a high signal-to-noise ratio, it is alerting based on service-level objectives (SLOs). Fulfilling a well-defined SLO is the very definition of meeting your users’ expectations. Conversely, a certain level of service errors is OK as long as you stay within the SLO — in other…
29 Aug 2018
At SoundCloud, we follow best practices around continuous delivery, i.e. deploying small incremental changes often (many times a day). In…
19 Jul 2016
On Monday this week, the Prometheus authors have released version 1.0.0 of the central component of the Prometheus monitoring and alerting system, the Prometheus server. (Other components will follow suit over the next months.) This is a major milestone for the project. Read more about it on the Prometheus blog, and check out the announcement of the CNCF, which has…
26 Jan 2015
In previous blog posts, we discussed how SoundCloud has been moving towards a microservice architecture. Soon we had hundreds of services, with many thousand instances running and changing at the same time. With our existing monitoring set-up, mostly based on StatsD and Graphite, we ran into a number of serious limitations. What we really needed was a system with the…