# pyroscope **Repository Path**: xzwwzw/pyroscope ## Basic Information - **Project Name**: pyroscope - **Description**: No description available - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: 2023-10-19/update-make-docs - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-10 - **Last Updated**: 2024-05-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Pyroscope

[![ci](https://github.com/grafana/pyroscope/actions/workflows/test.yml/badge.svg)](https://github.com/grafana/pyroscope/actions/workflows/test.yml) [![JS Tests Status](https://github.com/grafana/pyroscope/workflows/JS%20Tests/badge.svg)](https://github.com/grafana/pyroscope/actions?query=workflow%3AJS%20Tests) [![Go Report](https://goreportcard.com/badge/github.com/grafana/pyroscope)](https://goreportcard.com/report/github.com/grafana/pyroscope) [![License: AGPLv3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](LICENSE) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fgrafana%2Fpyroscope.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fgrafana%2Fpyroscope?ref=badge_shield) [![Latest release](https://img.shields.io/github/release/grafana/pyroscope.svg)](https://github.com/grafana/pyroscope/releases) [![DockerHub](https://img.shields.io/docker/pulls/grafana/pyroscope.svg)](https://hub.docker.com/r/grafana/pyroscope) [![GoDoc](https://godoc.org/github.com/grafana/pyroscope?status.svg)](https://godoc.org/github.com/grafana/pyroscope) ### 🌟 What is Grafana Pyroscope? Grafana Pyroscope is an open source continuous profiling platform. It will help you: * Find performance issues and bottlenecks in your code * Use high-cardinality tags/labels to analyze your application * Resolve issues with high CPU utilization * Track down memory leaks * Understand the call tree of your application * Auto-instrument your code to link profiling data to traces ## 🔥 [Pyroscope Live Demo](https://demo.pyroscope.io/) 🔥 [![Pyroscope GIF Demo](https://user-images.githubusercontent.com/23323466/143324845-16ff72df-231e-412d-bd0a-38ef2e09cba8.gif)](https://demo.pyroscope.io/) ## 🎉 Features * Minimal CPU overhead * Horizontally scalable * Efficient compression, low disk space requirements * Can handle high-cardinality tags/labels * Calculate the performance "diff" between various tags/labels and time periods * Advanced analysis UI ## 💻 Quick Start: Run Pyroscope Locally ### Homebrew ```sh brew install pyroscope-io/brew/pyroscope brew services start pyroscope ``` ### Docker ```sh docker run -it -p 4040:4040 grafana/pyroscope ``` For more documentation on how to configure Pyroscope server, see [our server documentation](https://grafana.com/docs/pyroscope/latest/configure-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://grafana.com/docs/pyroscope/latest/configure-client/) on our website or find language specific examples and documentation below:

Golang

Documentation
Examples

Java

Documentation
Examples

Python

Documentation
Examples

Ruby

Documentation
Examples

NodeJS

Documentation
Examples

Dotnet

Documentation
Examples

eBPF

Documentation
Examples

Rust

Documentation
Examples
## Deployment Diagram ![deployment_diagram](https://github.com/grafana/pyroscope/assets/23323466/2a32f401-2855-4d15-a1ac-8e3c91ecf9f9) ## 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: * [Getting Started](https://grafana.com/docs/pyroscope/latest/get-started/) * [Deployment Guide](https://grafana.com/docs/pyroscope/latest/deploy-kubernetes/) * [Pyroscope Architecture](https://grafana.com/docs/pyroscope/latest/reference-pyroscope-architecture/) ## Downloads You can download the latest version of pyroscope for macOS, linux and Docker from our [Releases page](https://github.com/grafana/pyroscope/releases). ## Supported Languages * [x] Go (via `pprof`) * [x] Python (via `py-spy`) * [x] Ruby (via `rbspy`) * [x] Linux eBPF * [x] Java (via `async-profiler`) * [x] Rust (via `pprof-rs`) * [x] .NET * [x] PHP (via `phpspy`) * [x] Node Let us know what other integrations you want to see in [our issues](https://github.com/grafana/pyroscope/issues?q=is%3Aissue+is%3Aopen+label%3Anew-profilers) or in [our slack](https://slack.grafana.com). ## 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 * Jamie Wong — creator of speedscope — interactive flamegraph visualizer ## Contributing To start contributing, check out our [Contributing Guide](docs/internal/contributing/README.md) ### Thanks to the contributors of Pyroscope! [//]: contributor-faces [//]: contributor-faces