Repolode
grafana

grafana/pyroscope

Continuous profiling platform that collects CPU, memory and I/O profiles from running applications so you can trace slow code down to individual lines.

Open-source alternative to:Datadog Continuous Profiler

Stars
11,703
Forks
827
Open issues
419
Last commit
14 hours ago

What is it?

Grafana Pyroscope is a continuous profiling platform for finding performance bottlenecks in applications. It records CPU, memory and I/O usage over time, so developers can examine both live incidents and long-term trends, down to the line of code responsible for resource consumption.

Profiles reach the server through language SDKs for Go, Java, Python, Ruby, Node.js, .NET and Rust, through Grafana Alloy using pull or push, or over OTLP from OpenTelemetry-compatible sources such as the OpenTelemetry eBPF profiler. Results are explored in Grafana Profiles Drilldown, a queryless interface for flame graphs and comparisons.

Version 2 writes profiles directly to object storage without in-memory ingesters or local disks. The server can be started with Docker, Homebrew or a release binary and listens on port 4040.

Key features

  • 01Collects CPU, memory and I/O profiles from running applications.
  • 02Provides SDKs for Go, Java, Python, Ruby, Node.js, .NET and Rust.
  • 03Accepts profiles through Grafana Alloy and OTLP from OpenTelemetry sources.
  • 04Offers a queryless UI for flame graphs in Grafana Profiles Drilldown.
  • 05Stores profiles directly in object storage in the v2 architecture.

Use cases

  • Finding which functions consume the most CPU in a slow production service.
  • Tracking memory allocation growth across releases.
  • Investigating latency incidents with line-level detail during an outage.
  • Comparing profiles over time to catch performance regressions.

Quick start

  1. 1

    Run the Pyroscope server locally with Docker

    docker run -it -p 4040:4040 grafana/pyroscope
  2. 2

    Or install via Homebrew and start the service

    brew install pyroscope-io/brew/pyroscope
  3. 3

    Start the Homebrew service

    brew services start pyroscope

Things to know

  • Licensed under AGPL-3.0, a copyleft license with obligations for networked services.
  • Full setup for Kubernetes, packages, or production needs the separate documentation and extra effort.

In collections

Topics

FAQ

What is pyroscope?
Continuous profiling platform that collects CPU, memory and I/O profiles from running applications so you can trace slow code down to individual lines. Grafana Pyroscope is a continuous profiling platform for finding performance bottlenecks in applications. It records CPU, memory and I/O usage over time, so developers can examine both live incidents and long-term trends, down to the line of code responsible for resource consumption.
Is pyroscope free to use? What license does it have?
pyroscope is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is pyroscope still maintained?
Actively maintained. The last commit to pyroscope was on Oct 24, 2026.
What can I use pyroscope for?
Finding which functions consume the most CPU in a slow production service. Tracking memory allocation growth across releases. Investigating latency incidents with line-level detail during an outage. Comparing profiles over time to catch performance regressions.
How do I install pyroscope?
Run the Pyroscope server locally with Docker: docker run -it -p 4040:4040 grafana/pyroscope Or install via Homebrew and start the service: brew install pyroscope-io/brew/pyroscope Start the Homebrew service: brew services start pyroscope
Where can I get pyroscope?
The source code and installation instructions are on GitHub: https://github.com/grafana/pyroscope

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects