Company
Date Published
Author
Vicent Martí
Word count
1386
Language
English
Hacker News points
None

Summary

GitHub's engineering culture emphasizes the importance of meticulous performance measurement and monitoring, inspired by Coda Hale's "Metrics, Metrics Everywhere" talk. Initially, GitHub adopted Etsy's statsd, a Node.js-based metrics aggregation tool, to track performance across their infrastructure. However, as GitHub's growth led to increased data, statsd's UDP-based system began dropping significant amounts of data, prompting a reevaluation of their metrics system. The limitations of statsd's single-threaded, event-loop design in Node.js led GitHub to develop Brubeck, a new multi-threaded, C-based daemon designed for high throughput and reliability, which outperformed statsd by effectively handling up to 4.3 million metrics per second without packet loss. The introduction of Linux's SO_REUSEPORT further improved Brubeck's performance by allowing multiple threads to bind to the same port, enhancing scalability and simplifying code. After three years of successful use, GitHub released Brubeck as open-source, contributing back to the monitoring community that supported their development journey.