finds.dev← search

// the find

yandex/perforator

★ 3,411 · C++ · NOASSERTION · updated Jul 2026

Perforator is a cluster-wide continuous profiling tool designed for large data centers

Perforator is Yandex's cluster-wide continuous profiling system, open-sourced after running on tens of thousands of servers internally. It collects CPU profiles via eBPF — no instrumentation required, no debug symbols needed on the profiled host — stores them centrally, and surfaces them as flamegraphs with a query language for slicing by service, host, or time range. It also generates sPGO profiles for feeding directly into AutoFDO PGO builds.

Frame-pointer-less stack unwinding via eBPF without requiring debug symbols on the profiled machine is genuinely hard to do correctly; Yandex has been running this at scale for long enough that the edge cases are likely handled. The sPGO/AutoFDO profile export closes a loop most profiling tools ignore — you collect production data and feed it straight into optimized builds. Overhead numbers (<1% CPU, ~512MB RAM) come from a production environment rather than a controlled benchmark. Prebuilt binaries and a Helm chart exist, so adoption doesn't require understanding their build system.

The repo is a monorepo extraction from Yandex's internal Arcadia, and it shows: `ya.make` files are everywhere, the build system is Yandex's internal `ya` tool, and building from source without prebuilts means learning tooling with almost no external documentation. Java and Python support is explicitly experimental — if your services are JVM-heavy, you're second-class. The eBPF unwinder code is GPL v2 in an otherwise Apache 2.0 project, which is a split-license situation that will get flagged in any legal review. Community support outside Russia is thin; the primary channels are Russian-language Telegram and Habr, and the English equivalents are quieter.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →