# pyroscope **Repository Path**: siwei_group/pyroscope ## Basic Information - **Project Name**: pyroscope - **Description**: Continuous Profiling Platform! Debug performance issues down to a single line of code - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: 441-feature - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-27 - **Last Updated**: 2022-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Pyroscope

[![Go Tests Status](https://github.com/pyroscope-io/pyroscope/workflows/Go%20Tests/badge.svg)](https://github.com/pyroscope-io/pyroscope/actions?query=workflow%3AGo%20Tests) [![JS Tests Status](https://github.com/pyroscope-io/pyroscope/workflows/JS%20Tests/badge.svg)](https://github.com/pyroscope-io/pyroscope/actions?query=workflow%3AJS%20Tests) [![Go Report](https://goreportcard.com/badge/github.com/pyroscope-io/pyroscope)](https://goreportcard.com/report/github.com/pyroscope-io/pyroscope) [![Apache 2 License](https://img.shields.io/badge/license-Apache%202-blue.svg)](LICENSE) [![Latest release](https://img.shields.io/github/release/pyroscope-io/pyroscope.svg)](https://github.com/pyroscope-io/pyroscope/releases) [![DockerHub](https://img.shields.io/docker/pulls/pyroscope/pyroscope.svg)](https://hub.docker.com/r/pyroscope/pyroscope) [![GoDoc](https://godoc.org/github.com/pyroscope-io/pyroscope?status.svg)](https://godoc.org/github.com/pyroscope-io/pyroscope)

Website Docs Demo Examples Slack

#### _Read this in other languages._ [中文 (Simplified)](translations/README.ch.md) ### What is Pyroscope? Pyroscope is an open source continuous profiling platform. It will help you: * Find performance issues and bottlenecks in your code * Resolve issues with high CPU utilization * Understand the call tree of your application * Track changes over time ## 🔥 [Pyroscope Live Demo](https://demo.pyroscope.io/?name=hotrod.python.frontend%7B%7D) 🔥 [![Pyroscope GIF Demo](https://user-images.githubusercontent.com/662636/105124618-55b9df80-5a8f-11eb-8ad5-0e18c17c827d.gif)](https://demo.pyroscope.io/) ## Features * Can store years of profiling data from multiple applications * You can look at years of data at a time or zoom in on specific events * Low CPU overhead * Efficient compression, low disk space requirements * Snappy UI ## Add Pyroscope Server locally in 2 steps: Pyroscope supports all major architectures and is very easy to install. for example here is how you install on a mac: ```shell # install pyroscope brew install pyroscope-io/brew/pyroscope # start pyroscope server: pyroscope server ``` ## Send data to server via Pyroscope agent (language specific) For more documentation on how to add the Pyroscope agent to your code see the [agent documentation](https://pyroscope.io/docs/agent-overview) on our website. - [Golang Agent](https://pyroscope.io/docs/golang) - [Python Agent (pip)](https://pyroscope.io/docs/python) - [Ruby Agent (gem)](https://pyroscope.io/docs/ruby) - [eBPF Agent](https://pyroscope.io/docs/ebpf) - [PHP Agent](https://pyroscope.io/docs/php) - [.NET Agent](https://pyroscope.io/docs/dotnet) ## Example Code We also have language-specific examples (using Docker) of how to run the *server and agent together* - [Golang Example](https://github.com/pyroscope-io/pyroscope/tree/main/examples/golang) - [Python Pip Example](https://github.com/pyroscope-io/pyroscope/tree/main/examples/python) - [Ruby Gem Example](https://github.com/pyroscope-io/pyroscope/tree/main/examples/ruby) - [Grafana Example](https://github.com/pyroscope-io/pyroscope/tree/main/examples/grafana-integration) - [Java Example](https://github.com/pyroscope-io/pyroscope/tree/main/examples/java) - [PHP example](https://github.com/pyroscope-io/pyroscope/tree/main/examples/php) - [.NET Example](https://github.com/pyroscope-io/pyroscope/tree/main/examples/dotnet) ## Deployment Diagram ![Deployment Diagram](.github/markdown-images/deployment.svg) ## Documentation For more information on how to use Pyroscope with other programming languages, install it on Linux, or use it in production environment, check out our documentation: * [Public Roadmap](https://github.com/pyroscope-io/pyroscope/projects/1) * [Getting Started](https://pyroscope.io/docs/) * [Deployment Guide](https://pyroscope.io/docs/deployment) * [Developer Guide](https://pyroscope.io/docs/developer-guide) ## Downloads You can download the latest version of pyroscope for macOS, linux and Docker from our [Downloads page](https://pyroscope.io/downloads/). ## Supported Integrations * [x] Ruby (via `rbspy`) * [x] Python (via `py-spy`) * [x] Go (via `pprof`) * [x] Linux eBPF (via `profile.py` from `bcc-tools`) * [x] PHP (via `phpspy`) * [x] .NET (via `dotnet trace`) * [x] Java (via `async-profiler`) * [ ] Node [(seeking contributors)](https://github.com/pyroscope-io/pyroscope/issues/8) Let us know what other integrations you want to see in [our issues](https://github.com/pyroscope-io/pyroscope/issues?q=is%3Aissue+is%3Aopen+label%3Anew-profilers) or in [our slack](https://pyroscope.io/slack). ## Credits Pyroscope is possible thanks to the excellent work of many people, including but not limited to: * Brendan Gregg — inventor of Flame Graphs * Julia Evans — creator of rbspy — sampling profiler for Ruby * Vladimir Agafonkin — creator of flamebearer — fast flamegraph renderer * Ben Frederickson — creator of py-spy — sampling profiler for Python * Adam Saponara — creator of phpspy — sampling profiler for PHP * Alexei Starovoitov, Brendan Gregg, and many others who made BPF based profiling in Linux kernel possible ## Contributing To start contributing, check out our [Contributing Guide](CONTRIBUTING.md) ### Thanks to the contributors of Pyroscope! [//]: contributor-faces [//]: contributor-faces