
Blackfire Continuous Profiler
Low-overhead continuous profiling for app performance optimization.
Discover top open-source software, updated regularly with real-world adoption signals.

Zero‑impact continuous CPU profiling for large‑scale Linux services
Perforator collects high‑quality CPU profiles from production Linux servers using eBPF, storing them scalably and offering flamegraph UI, supporting C/C++/Go/Rust and enabling PGO via AutoFDO.

Perforator is a production‑ready continuous profiling solution that captures kernel and userspace stacks via eBPF with negligible overhead (under 1 % CPU and 512 MiB RAM). It supports C, C++, Go, Rust, and experimental Java/Python, and can generate sPGO profiles for AutoFDO‑driven compiler optimizations.
Designed for large data‑center environments, it provides a scalable backend for storing profiles and binaries, a powerful query language, and an interactive flamegraph UI that lets developers quickly locate CPU hotspots across heterogeneous services. Teams building high‑throughput microservices, CI pipelines that need PGO data, or operations groups monitoring performance regressions will find Perforator especially valuable.
Perforator runs on any x86_64 Linux host with eBPF support. It can be installed locally via the perforator record CLI or deployed cluster‑wide using the provided Helm chart for Kubernetes environments. Detailed build and contribution guides are available in the repository.
When teams consider Perforator, these hosted platforms usually appear on the same shortlist.
Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.
Identify CPU hotspots in a microservice fleet
Developers pinpoint hot functions via flamegraphs, reduce latency, and lower cloud costs.
Generate AutoFDO profiles for CI builds
Build pipeline consumes sPGO data, producing binaries with up to 15% runtime improvement.
Monitor performance regressions after deployment
Ops receive alerts when profile metrics deviate, enabling rapid rollback.
Profile mixed‑language services (C++ + Go)
Unified view across languages simplifies cross‑language optimization.
It runs on x86_64 Linux systems with eBPF support, requiring at least 512 MiB RAM and less than 1 % CPU overhead.
Profiles and binaries are stored in a scalable backend that can be queried via Perforator’s built‑in query language and visualized through the web UI.
eBPF programs require elevated privileges; typically the collector runs as root or with CAP_SYS_ADMIN.
Java and Python support are currently experimental and best used for testing or non‑critical workloads.
Yes, a Helm chart is provided for easy installation on both playground and production clusters.
Project at a glance
ActiveLast synced 4 days ago