About this project
Perforator is an open-source continuous profiling application developed by Yandex, inspired by Google-Wide Profiling. It is designed for large data centers and is already deployed on tens of thousands of servers. The tool collects CPU profiles from production environments using eBPF, with a stated overhead of less than 1% of host CPUs and about 512MB of RAM on typical x86 64-bit Linux hosts.
Key capabilities include efficient collection of kernel and userspace stacks via eBPF, scalable storage for profiles and binaries, unwinding without frame pointers or debug symbols on the host, and a query language with a UI for inspecting CPU usage through flamegraphs. It supports C++, C, Go, and Rust, with experimental support for Java and Python. Perforator can also generate sPGO profiles for Profile Guided Optimization via AutoFDO.
Users can profile a local machine using the perforator record CLI command or deploy it on Kubernetes clusters using the provided Helm chart. The project is licensed under Apache 2.0, with some eBPF program source code and OpenJDK profiling support portions under GPL 2.0.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.