- Notifications
You must be signed in to change notification settings - Fork136
Perforator is a cluster-wide continuous profiling tool designed for large data centers
License
yandex/perforator
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Documentation |Post on Medium |Post on Habr
Perforator is a production-ready, open-source Continuous Profiling app that can collect CPU profiles from your production without affecting its performance, made by Yandex and inspired byGoogle-Wide Profiling. Perforator is deployed on tens of thousands of servers in Yandex and already has helped many developers to fix performance issues in their services.
- Efficient and high-quality collection of kernel + userspace stacks via eBPF.
- Scalable storage for storing profiles and binaries.
- Support of unwinding without frame pointers and debug symbols on host.
- Convenient query language and UI to inspect CPU usage of applications via flamegraphs.
- Support for C++, C, Go, and Rust, with experimental support for Java and Python.
- Generation of sPGO profiles for building applications with Profile Guided Optimization (PGO) viaAutoFDO.
Perforator runs on x86 64-bit Linux platforms consuming 512Mb of RAM (more on very large hosts with many CPUs) and <1% of host CPUs.
You can profile your laptop using localperforator record CLI command.
You can also deploy Perforator on playground/production Kubernetes cluster using ourHelm chart.
Instructions on how to build from source are locatedhere.
If you want to use prebuilt binaries, you can find themhere.
We are welcome to contributions! Thecontributor's guide provides more details on how to get started as a contributor.
This project is licensed under the Apache 2.0 License (Apache-2.0).Apache 2.0 License
NB: Formerly, we licensed Perforator under MIT license. We switched to Apache 2.0 to waive custom CLA signature requirements and simplify contributions.
The eBPF source code is licensed under the GPL 2.0 license.GPL 2.0
About
Perforator is a cluster-wide continuous profiling tool designed for large data centers