Grafana Pyroscope logo

Grafana Pyroscope

Intuitive, queryless UI for continuous application profiling

Grafana Pyroscope delivers continuous profiling across languages, offering proactive resource optimization and reactive debugging with a queryless Explore Profiles UI, easy Docker or Homebrew deployment.

Grafana Pyroscope banner

Overview

Overview

Grafana Pyroscope is a continuous profiling platform that helps developers and SREs gain deep visibility into CPU, memory, and I/O behavior of applications. By collecting data via language‑specific SDKs or Grafana Alloy, it stores profiles in a central server that can be explored without writing queries.

Explore Profiles UI

The new Explore Profiles UI offers a queryless, intuitive interface integrated into Grafana. Users can instantly view flame graphs, compare time ranges, and drill down to the exact line of code responsible for a bottleneck. Deployment is straightforward: run the server locally with Docker or Homebrew, or enable it automatically on Grafana Cloud.

Getting Started

Start a server (docker run -p 4040:4040 grafana/pyroscope), add the appropriate SDK to your code, and open the Explore Profiles panel in Grafana. The platform supports Go, Java, Python, Ruby, Node.js, .NET, Rust, and eBPF, making it suitable for heterogeneous microservice environments.

Highlights

Queryless Explore Profiles UI for instant visualization
Broad language support including Go, Java, Python, Ruby, Node.js, .NET, Rust, eBPF
Push SDKs and pull via Grafana Alloy for flexible data collection
One‑click deployment via Docker or Homebrew

Pros

  • Deep line‑level insight across CPU, memory, and I/O
  • Broad language support reduces integration effort
  • Seamless Grafana integration for unified observability
  • Simple local deployment for quick start

Considerations

  • Requires running a dedicated Pyroscope server
  • Focused on profiling data; not a full APM solution
  • UI currently centered on flame graphs, limited advanced analytics
  • AGPL‑3.0 license may restrict commercial embedding

Managed products teams compare with

When teams consider Grafana Pyroscope, these hosted platforms usually appear on the same shortlist.

Blackfire Continuous Profiler logo

Blackfire Continuous Profiler

Low-overhead continuous profiling for app performance optimization.

Datadog Continuous Profiler logo

Datadog Continuous Profiler

Always-on code profiling to cut latency and cloud costs.

Elastic Universal Profiling logo

Elastic Universal Profiling

Whole-system, always-on profiling with no instrumentation.

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Teams needing continuous performance monitoring across microservices
  • Developers optimizing resource usage before release
  • SREs troubleshooting latency spikes with line‑level detail
  • Organizations already using Grafana for observability

Not ideal when

  • Projects that only need basic metrics without profiling
  • Environments where installing a separate server is prohibited
  • Users requiring proprietary licensing without AGPL constraints
  • Teams seeking a turnkey APM with out‑of‑the‑box dashboards only

How teams use it

Proactive CPU usage reduction

Identify hot functions during load testing and refactor code to lower CPU consumption by up to 30%.

Memory leak detection in production

Drill down to the exact line causing a leak, enabling rapid patch deployment.

Incident response for latency spikes

Correlate spike with profiling data to pinpoint bottleneck and restore performance within minutes.

Cross‑language service profiling

Collect and compare profiles from Go, Java, and Python services in a single UI for holistic analysis.

Tech snapshot

Go93%
TypeScript4%
SCSS1%
CSS1%
Makefile1%
Jsonnet1%

Tags

observabilitycontinuous-profilinghacktoberfestpyroscopeperformancepythonprofilingfind-bottlenecksmonitoringdevopsdeveloper-toolsgolanglinuxruby

Frequently asked questions

How do I start collecting profiling data?

Install a language‑specific SDK or use Grafana Alloy to push data to the Pyroscope server; see the documentation for each language.

Do I need to write queries to view data?

No. The Explore Profiles UI is queryless; it automatically displays recent profiles and lets you filter by service, time range, and profile type.

Can Pyroscope run locally for testing?

Yes. Use Docker (`docker run -p 4040:4040 grafana/pyroscope`) or Homebrew (`brew install pyroscope-io/brew/pyroscope`) to start a local server.

Which profiling types are supported?

CPU, memory, and I/O profiling are supported, with language‑specific profile formats such as pprof and eBPF.

What license is Pyroscope released under?

It is released under the AGPL‑3.0 license.

Project at a glance

Active
Stars
11,151
Watchers
11,151
Forks
716
LicenseAGPL-3.0
Repo age5 years old
Last commit2 days ago
Primary languageGo

Last synced 2 days ago