pyroscope

grafanaAGPL-3.0活跃维护

持续性能分析平台,能定位到具体代码行,帮你排查 CPU、内存等性能瓶颈,适合生产环境做可观测性监控。

Continuous Profiling Platform. Debug performance issues down to a single line of code

v2.4.3发布于 2026-11-03 21:09 UTC11,714star +3 / 7 天836fork同步于 2026-11-10 11:28 UTC

怎么上手

由 README 提炼,执行前请确认
docker run -it -p 4040:4040 grafana/pyroscope
硬件要求按 README 说明

README 未说明显存或 GPU 要求;服务端可用 Docker、Homebrew 或二进制在本地运行

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Grafana 出品的持续性能分析平台,帮你把性能问题定位到具体代码行

持续性能分析平台,能定位到具体代码行,帮你排查 CPU、内存等性能瓶颈,适合生产环境做可观测性监控。

核心能力

  • 按服务路由 profile 并直接写入对象存储
  • 后台 compaction-worker 合并小段为大块
  • 查询扇出对象存储生成火焰图
  • 支持 SDK 推送、Alloy 拉取和 OTLP 接入
  • 用 Profiles Drilldown 无查询式可视化分析

容易踩的坑

服务端默认监听 4040 端口,需确认端口未被占用;需自行接入 SDK、Alloy 或 OTLP 数据源才有 profile 可看;从 v1 升级需按迁移指南操作,v2 架构默认写对象存储

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2.4.3
  1. v2.3.52026-11-03 · 2026-11-03 21:09 UTC
    查看更新说明

    Changelog

    • 8ee15e04a5346cdf5485f71eceef3f2a1d465fd0 docs: backport v2.3.4 release notes (#5935) (#5938)
    • a26db7b2ccb175019dfc0b7f6728c43169f4730c docs: prepare v2.3.5 security release notes (#6038)
    • ffa18ed98f3204d26e141f12a3492aa823eab5f2 fix(deps): update undici to 8.12.3 (#6035) (#6036)
    • 4fcea10eccb94f978dcfd6c1d2de5af46b96980d fix(security): update golang.org/x/net to v0.62.0 in api module (#6016)
    • 829e10cf7e746edb6cf669f2e5cd3fe68e81a74e fix(security/high/): update module github.com/go-jose/go-jose/v4 to v4.1.6 [security] (#5967)
    • d927ca26058fe1154a633f96b62201e65714d437 fix(security/unknown/): update module golang.org/x/net to v0.62.0 [security] (#5975)

    As always, feedback is more than welcome, feel free to open issues/discussions. You can reach out to the team using:

    Docker Images

      docker pull grafana/pyroscope:2.3.5
    
  2. v2.4.3最新正式版2026-11-03 · 2026-11-03 21:09 UTC

    Changelog

    • 054e1462455e11657c2315c25872479de237c69b docs: backport v2.4.2 release notes (#5935) (#5937)
    • 860ef8d7093f9b6c824a7528010b15d782645e4f docs: prepare v2.4.3 security release notes (#6039)
    • 450765820c3cec9c66821d0446667b355783c899 fix(deps): update undici to 8.12.3 (#6035) (#6037)
    • ab80c48f88036fbe9c4f1480e057e64b7a552336 fix(security/high/): update module github.com/go-jose/go-jose/v4 to v4.1.6 [security] (#5966)
    • 064da62c375b92cc02aed1fc484d6013bfd669a6 fix(security/unknown/): update module golang.org/x/net to v0.62.0 [security] (#5973)
    • 584f609c00160e517d8f7bf94e0c38dc0c28b990 fix(security/unknown/api): update module golang.org/x/net to v0.62.0 [security] (#5974)

    As always, feedback is more than welcome, feel free to open issues/discussions. You can reach out to the team using:

    Docker Images

      docker pull grafana/pyroscope:2.4.3
    
  3. v2.4.22026-10-26 · 2026-10-26 12:43 UTC
    查看更新说明

    Changelog

    • 10a78e5ef038f8b97d6966bc76f1cf21bb5616ac chore(deps): bump github.com/andybalholm/brotli from v1.1.1 to v1.2.7 (#5933)

    As always, feedback is more than welcome, feel free to open issues/discussions. You can reach out to the team using:

    Docker Images

      docker pull grafana/pyroscope:2.4.2
    
  4. v2.3.42026-10-26 · 2026-10-26 12:43 UTC
    查看更新说明

    Changelog

    • 493570c7208097293de203a975c87a599c80e338 chore(deps): bump github.com/andybalholm/brotli from v1.1.1 to v1.2.7 (#5932)

    As always, feedback is more than welcome, feel free to open issues/discussions. You can reach out to the team using:

    Docker Images

      docker pull grafana/pyroscope:2.3.4
    
  5. v2.4.12026-10-21 · 2026-10-21 18:30 UTC
    查看更新说明

    Security fixes

    • Updated the Go build toolchain to 1.26.10 and distroless runtime images to include the compromised certificate authority mitigations (#5891).
    • Updated github.com/getkin/kin-openapi to v0.149.0 to address validation bypass and denial-of-service vulnerabilities (#5832).
    • Updated UI Vite to v8.3.4 to address dependency vulnerabilities (#5802).

    Bug fixes

    • Fixed decoding of resource and scope attributes stored in the OpenTelemetry profiles dictionary (#5894).

    Documentation

    • Documented Windows support for .NET Framework 4.7, 4.8, and IIS (#5869).

    Changelog

    • 6b23c618ae0e541cab7f4fd0d4bcc82bb3dc7546 [release/v2.4] chore(deps): update Go to 1.26.10 and distroless runtime images (#5891)
    • 4d5ce674739971576030b900eff6e9ed84c5ab67 chore(deps): lock file maintenance (#5802)
    • 7aac40dca9cbb36f249b25a2c00bc172ca96be67 docs(dotnet): mark .NET Framework 4.7, 4.8 and IIS as supported on Windows (#5868) (#5869)
    • 36d558a4799e86ce9814a5348e6ecc300e4ed192 docs: prepare v2.4.1 security release notes (#5898)
    • 7c8fa46c667dfb930c817a65f3ec198bca624328 fix(security/high/): update module github.com/getkin/kin-openapi to v0.149.0 [security] (#5832)
    • 81eb9c5ad8e398bdcacc82cb17a9b3587ced566b fix: resource and scope attributes encoded through the profiles dictionary (#5857) (#5894)

    As always, feedback is more than welcome, feel free to open issues/discussions. You can reach out to the team using:

    Docker Images

      docker pull grafana/pyroscope:2.4.1
    

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    ci Go Report License: AGPLv3 FOSSA Status Latest release DockerHub Go Reference

    🎉 Announcement: Pyroscope 2.0 is here!

    Pyroscope 2.0 makes the new v2 architecture the default. Profiles are written directly to object storage, removing the need for in-memory ingesters and local disks - simplifying operations and lowering resource usage at scale. Existing v1 deployments can opt in via a flag and migrate without data loss.

    Read the 2.0 release notes and the v2 architecture overview. Upgrading from v1? See the migration guide.

    Want the full story? Watch the GrafanaCON 2026 talk Pyroscope 2.0: Continuous Profiling Architecture Deep Dive.

    What is Grafana Pyroscope?

    Grafana Pyroscope is a continuous profiling platform designed to surface performance insights from your applications, helping you optimize resource usage such as CPU, memory, and I/O operations. With Pyroscope, you can both proactively and reactively address performance bottlenecks across your system.

    The typical use cases are:

    • Proactive: Reducing resource consumption, improving application performance, or preventing latency issues.
    • Reactive: Quickly resolving incidents with line-level detail and debugging active CPU, memory, or I/O bottlenecks.

    Pyroscope provides powerful tools to give you a comprehensive view of your application's behavior while allowing you to drill down into specific services for more targeted root cause analysis.

    How Does Pyroscope Work?

    deployment_diagram

    Pyroscope consists of three main components:

    • Pyroscope Server: Stores and processes profiling data and serves queries.
    • Clients and instrumentation: Profiling data reaches the server in several ways: the Pyroscope SDKs (push), Grafana Alloy (pull or push), or OTLP from OpenTelemetry-compatible sources such as the OpenTelemetry eBPF profiler.
    • Grafana Profiles Drilldown: A queryless, intuitive UI for visualizing and analyzing profiling data (formerly Explore Profiles).

    Under the hood, Pyroscope v2 writes profiles straight to object storage—no ingesters, no local disk. The animations below trace the three parts of the architecture. For the details behind each component, see the v2 architecture documentation.

    Write path — profiles are routed by service and written straight to object storage:

    Pyroscope v2 write path

    Compaction — compaction-workers merge small segments into larger blocks in the background:

    Pyroscope v2 compaction

    Read path — queries fan out across object storage to build flame graphs in Grafana Profiles Drilldown:

    Pyroscope v2 read path


    Pyroscope Live Demo

    Pyroscope GIF Demo


    Quick Start: Run the Pyroscope server locally

    Docker

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

    Homebrew (macOS / Linux)

    brew install pyroscope-io/brew/pyroscope
    brew services start pyroscope
    

    Binary

    Download the archive for your operating system and architecture from the latest release, unpack it, and run the binary:

    tar xvf pyroscope_*.tar.gz
    ./pyroscope
    

    Pyroscope listens on port 4040. For Kubernetes/Helm, Linux packages, building from source, and full configuration options, see the Get started guide and the server documentation.

    Quick Start: Visualize profiles with Grafana Profiles Drilldown

    Grafana Profiles Drilldown (formerly Explore Profiles) is the primary, queryless way to visualize and analyze your profiling data.

    Grafana Cloud / OSS

    Profiles Drilldown is pre-installed and is the default way to explore your profiles – all you need to do is start sending data.

    Documentation

    For more information on how to use Pyroscope with other programming languages, install it on Linux, or use it in a production environment, check out our documentation:

    Send data to the server

    You can send profiles to Pyroscope with the language SDKs, with Grafana Alloy, or over OTLP from OpenTelemetry-compatible sources such as the OpenTelemetry eBPF profiler.

    For more documentation on how to add the Pyroscope SDK to your code, see the client documentation on our website or find language-specific examples and documentation below:

    Supported Languages

    Our documentation contains the most recent list of supported languages and also an overview over what profiling types are supported per language.

    Let us know what other integrations you want to see in our issues or in our 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 flame graph renderer
    • Ben Frederickson — creator of py-spy — sampling profiler for Python
    • Adam Saponara — creator of phpspy — sampling profiler for PHP
    • Alexei Starovoitov, Daniel Borkmann, and many others who made BPF based profiling in Linux kernel possible
    • Jamie Wong — creator of speedscope — interactive flame graph visualizer

    Contributing

    To start contributing, check out our Contributing Guide

    Thanks to the contributors of Pyroscope!