Meta's Strobelight: A Profiling Orchestrator Saving 15,000 Servers

2025-03-07
Meta's Strobelight: A Profiling Orchestrator Saving 15,000 Servers

Meta unveiled Strobelight, a powerful profiling orchestrator combining multiple technologies (many open-source) to boost efficiency across its massive server fleet. Strobelight isn't a single profiler, but an orchestrator of various profilers collecting detailed CPU usage, memory allocation, and other performance metrics. Visualized through tools like Scuba and Tracery, Strobelight has already yielded significant savings, equivalent to 15,000 servers annually. A single character change in one code line (&) resulted in this massive gain. Strobelight leverages efficient eBPF technology, flexible custom profilers, automated data collection, and dynamic sampling for optimal performance.

Read more

Meta's Glean: Open-Source Code Indexing at Scale

2025-01-01
Meta's Glean: Open-Source Code Indexing at Scale

Meta has open-sourced Glean, a powerful code indexing system designed for efficiency and scalability. Glean collects and processes information from source code, providing it to developer tools via a flexible query language called Angle. Its innovative incremental indexing tackles the challenges of massive codebases, enabling features like code navigation, search, and documentation generation. Glean's versatility supports diverse languages and custom data schemas, making it a valuable asset for developers.

Read more
Development code indexing

Meta Fights Spam at Scale with Haskell

2024-12-22
Meta Fights Spam at Scale with Haskell

Meta's Sigma system, a crucial weapon in the fight against spam and malware, underwent a two-year overhaul. The system was rewritten in Haskell, a less common choice for large-scale production systems, achieving over one million requests per second. The shift to Haskell leveraged its pure functional and strongly typed nature, and the Haxl framework enabled automatic batching and concurrent data fetching. Performance improvements of 20-30% over the previous FXL-based system were observed. The project also involved significant contributions back to the GHC compiler, resolving several bugs.

Read more
Development Spam Filtering

Meta's Massive Java-to-Kotlin Translation: Conquering Millions of Lines of Code

2024-12-22
Meta's Massive Java-to-Kotlin Translation: Conquering Millions of Lines of Code

Meta has undertaken a multi-year effort to translate its massive Android codebase from Java to Kotlin. This post details how Meta built the Kotlinator, an automation tool, to overcome challenges like slow build speeds and insufficient linters, successfully converting over half of its code. The Kotlinator comprises several phases: preprocessing, headless J2K conversion, postprocessing, and error fixing. Meta also collaborated with JetBrains to improve J2K and open-sourced parts of the process to foster community collaboration. The article highlights null safety handling and various code issues encountered and resolved during the conversion.

Read more
Development code migration