finds.dev← search

// the find

grafana-cold-storage/phlare

★ 2,030 · Go · AGPL-3.0 · updated Jul 2023

🔥 horizontally-scalable, highly-available, multi-tenant continuous profiling aggregation system

Grafana Phlare was a horizontally-scalable continuous profiling backend — ingester/querier/store-gateway architecture lifted straight from Cortex/Mimir, applied to pprof data. It was archived in March 2023 when Grafana acquired Pyroscope and merged the two projects. If you're looking at this repo, you're looking at a dead end.

The eBPF profiling subsystem is genuinely interesting work: custom symbol table resolution for Go, C, and stripped ELF binaries, with mmap-based ELF caching to avoid repeated kernel overhead. The Parquet-based block format for storing profile data on object storage is a reasonable design that survived into Pyroscope. The Helm chart supports both monolithic and microservices deployment modes with a single values.yaml toggle, which is cleaner than most Grafana stack charts.

The repo is archived and receives no fixes, security patches, or new features — full stop. Any adoption means forking a dead codebase. The query path was never as mature as Mimir's: the query scheduler existed but flamegraph aggregation across large time ranges had known performance problems that were never resolved before the shutdown. Multi-language SDK support was incomplete at archive time (Java and Node were marked experimental). The merge into Pyroscope was not a clean migration — data stored in Phlare's block format requires manual tooling to port over.

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 →