Skip to content

Releases: grafana/pyroscope

v1.5.0

19 Mar 19:41
891146f
Compare
Choose a tag to compare

Release Notes for Pyroscope 1.5.0

Improvements and Updates

  • Repair Go stack traces (#3014)
  • eBPF: Aggregate python stacks in kernel space instead of user space (#2996)
  • eBPF: Propagate PID namespace to kernel space (#3008)
  • eBPF: Run tests on many kernels (#3025)
  • eBPF: Add support for more Python versions (#3035)
  • Improve trace span propagation in streaming requests (#2992)
  • Drop type params from Go function names (#3010)
  • Disable vt proto pools (#3034)
  • Allow running multiple rideshare examples in the same network namespace (#2990)

Fixes

  • Wait for ongoing queries to finish at close (#3030)
  • Fix data duplication in the read path (#3100, #3103)
  • Fix merging of empty pprof samples (#3031)
  • Correctly format makefile help rule (#3021)

Documentation Improvements

  • Reorganize examples folder to match documentation structure (#3026)
  • Update Configure the client and span profiles doc (#3028)
  • Improve intro and span profiles docs (#3089, #3099)
  • Update make docs procedure (#2994, #3011, #3059)

Changelog

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

Docker Images

  docker pull docker.io/grafana/pyroscope:1.5.0

v1.4.0

07 Feb 23:51
f8e6d8b
Compare
Choose a tag to compare

Release Notes for Pyroscope 1.4.0

New Features

  • Adhoc profiles API (#2963)
  • Add query-tracer to profilecli (#2966)
  • Add ServiceMonitor support to helm chart (#2944, #2929, #2967)
  • Scope time series to flamegraph node API (#2961)

Improvements and Updates

  • Improve release workflows and documentation (#2954, #2989, #2948, #2952, #2960, #2975)
  • Improve block grouping in admin block viewer (#2947)
  • Remove tenant settings from microservices deploy (#2962)
  • Add test ids (#2957)
  • Bump chart app version (#2940)
  • Bump godeltaprof and jfr-parser dependencies (#2955)
  • Update default image tag in chart (#2941)
  • Per target configuration with labels (#2977)
  • Async profile row iterator (#2953)
  • Disable Go names decoration (#2976)

Fixes

  • Add missing module dependencies (#2969)
  • Fix missing icon assets (#2985)
  • Store-gateway: Handle index read error properly (#2959)
  • Use correct field in mappingsKey (#2964)
  • Bump golang.org/x/net (#2986)
  • Fix elf base for unaligned PT_LOAD offset, make build id error not fatal (#2983)

Documentation Improvements

  • Add 1.3 release notes for docs (#2949)
  • Add span profiles documentation (#2982)
  • Update eBPF and Java documentation (#2972, #2973)

Changelog

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

Docker Images

  docker pull docker.io/grafana/pyroscope:1.4.0

v1.3.0

18 Jan 04:58
87ad94c
Compare
Choose a tag to compare

Release Notes for Pyroscope 1.3.0

New Features

  • Enhanced symbol compaction process: Improved performance and storage efficiency with the new symbol compaction process (#2864).
  • Introduced function selector in pprof query: More precise profiling with the addition of a function selector (#2878).
  • Support for time-based downsampling during compaction: Optimized data processing with time-based strategies (#2880).
  • Added tracing integrations to compaction: Better observability in the compaction process (#2876).
  • Added language mapping for Grafana agent in Java: Expanded profiling capabilities (#2866).

Improvements and Updates

  • Updated Alpine and Golang versions: Enhanced security and performance with the latest versions of Alpine (3.18.5) and Golang (1.21.5) (#2901, #2902).
  • Injected JFR labels into pprof: Enriched profiling data for better insights (#2868).
  • Streamlined Makefile and go.mod: Better build process with updated Makefile and tidied go.mod (#2900).
  • Updated agent configuration in Helm: More flexible deployments in Kubernetes environments (#2879).
  • Refactored ebpf installation documentation: Improved clarity and usability in ebpf documentation (#2849).
  • Upgraded connect-go, protobuf, and buf: Improved system interoperability (#2909).
  • Enhanced compaction shutdown process: Improved system stability during shutdowns (#2903).
  • Implemented profilecli compact command: Efficient data management with the new command (#2869).

Fixes

  • Fixed panic in compaction benchmark: Addressed issues causing system instability (#2918).
  • Resolved block cleanup process issues: Ensured system integrity and stability (#2916).
  • Fixed pprof profile builder panics: Enhanced system stability (#2917).
  • Corrected profile types call handling: Better data management without bucket store (#2910).
  • Removed delta reserved labels from storage: Optimized the storage system (#2920).
  • Increased parquet read buffer size: Improved data processing efficiency (#2924).

Documentation Improvements

  • Enhanced memory overhead documentation: Deeper insights into system performance (#2895).
  • Updated NodeJS documentation: Fixed Markdown link issues for better clarity (#2890).
  • Expanded java.md documentation: Comprehensive Java profiling guidance (#2904).
  • Removed dependency on Grafana agent: Streamlined Pyroscope architecture (#2913).
  • Updated various sections: Intro, analyze, sampling, and SDK pages now offer clearer and more detailed information (#2855, #2844, #2854, #2851, #2861).
  • Launched a 1-minute YouTube short on ebpf: Providing a quick and informative overview of ebpf (#2893).

Changelog

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

Docker Images

  docker pull docker.io/grafana/pyroscope:1.3.0

v1.2.1

15 Dec 15:38
178e882
Compare
Choose a tag to compare

Release Notes for Pyroscope 1.2.1

New Features

  • Add a way to control the aggregation type for the SelectSeries API (#2758)
  • Add admin module serving the bucket web tool (#2724)
  • Add block compaction level to bucket index (#2721)
  • Introduce the first release of the Cluster API Versioning (#2780)
  • Implement Settings API (#2711)
  • Develop optimized pprof symbolication and pprof truncation (#2679, #2754)
  • Add the first iteration of the blocks viewer cli tool (#2697)

Improvements and Updates

  • Improve SelectMatchingProfiles performance (#2734)
  • Enhance language detection performance (#2823)
  • Refactor Azure bucket configs (#2742)
  • Update various dependencies and libraries (#2741, #2744, #2826, #2827, #2832)
  • Switch to relative links in block viewer to address issue with alternate base URLs (#2763)
  • Update styling to match Grafana (#2827)

Fixes

  • Fix duplicate @emotion/react import and favicon (#2798)
  • Resolve query split logic issues for LabelNames, LabelValues, and ProfileTypes (#2852)
  • Rename Phlare to Pyroscope (#2722)
  • Fix span name for BlockSelect from store-gateway (#2842)
  • Address issues in version merging in memberlist (#2815)
  • Correct handling of overriding extraArgs in components (#2751)
  • Remove go.mod replace for golang.org/x/exp (#2848)
  • Remove parquet page file buffer in symbdb (#2820)
  • Fix various issues in ebpf, ReduxQuerySync, and UI units (#2703, #2761, #2778, #2788, #2789, #2812, #2838)
  • Fix ingress for Pyroscope UI (#2807)

Documentation Improvements

  • Add initial docs for the /pyroscope/render API endpoint (#2837)
  • Create "Ingest and analyze profile data" section in docs (#2828)
  • Add upgrade from standard pprof example (#2829)
  • Add compactor to docs (#2720)
  • Migrate from Standard pprof to Pyroscope for Continuous Profiling (#2830)
  • Add introductory material and placeholder pages for Pyroscope documentation (#2834, #2836, #2839)

As always, feedback is more than welcome. Feel free to open issues or discussions. You can reach out to the team using the provided channels.


Changelog

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

Docker Images

  docker pull docker.io/grafana/pyroscope:1.2.1

v1.2.0

17 Nov 09:36
67c47fd
Compare
Choose a tag to compare

🚀 We are excited to present this release of Grafana Pyroscope packed with 150 commits 🚀

In this release, we've introduced significant enhancements to our microservice mode, aiming to boost performance and streamline operations. The compactor component has been added to optimize block management, improving query speed and reducing replication factor overhead.

Our physical planning has undergone optimization, ensuring that data deduplication occurs only when necessary. Additionally, we've initiated tracing integrations, allowing for the inclusion of span ids in profiling samples and enabling flamegraph filtering.

For users leveraging Function as a Service (FaaS) environments, we've enhanced profiling data ingestion by automatically aggregating profiles. This not only reduces the number of profiles but also contributes to improved overall efficiency.

We've invested substantial effort in optimizing the read path and refining query performance, delivering a smoother user experience.

Trace to profiles integrations
image

Notable changes are listed below for more details check out the Full Changelog: v1.1.5...v1.2.0

Enhancements

Bug Fixes

Documentation Updates

  • We've added documentation for profilecli to query and upload pprof files.
  • We've also documented the store-gateway and compactor component.

New Contributors

Your feedback is crucial to us, and we encourage you to explore the improvements in this release, report any issues, and join the discussions to help us continue refining and enhancing Grafana Pyroscope.

Thank you for your ongoing support!

You can reach out to the team using:

Docker Images

  docker pull docker.io/grafana/pyroscope:1.2.0

The Pyroscope team

(@kolesnikovae @korniltsev @cyriltovena @simonswine @aleks-p @bryanhuhta @petethepig @Rperry2174)

v1.1.5

12 Oct 16:37
Compare
Choose a tag to compare

Changelog

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

Docker Images

  docker pull docker.io/grafana/pyroscope:1.1.5

v1.1.0

12 Oct 16:37
Compare
Choose a tag to compare
v1.1.0 Pre-release
Pre-release

Pyroscope version 1.1 release notes

The Pyroscope team is excited to announce the the second release. This release allows to retrieve series from persistent storages like local disk and object store and also has a couple of performance improvements (e.g. JFR ingestion is handled a lot more efficently).

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 docker.io/grafana/pyroscope:1.1.0

Pyroscope Release Changelog Summary

Improvements & Enhancements:

  • Switched to v1 Golang SDK.
  • Updated multiple dependencies including Go, Ruby, Django, Rust, and more.
  • Introduced meta fetcher that synchronizes filtered metadata locally.
  • Introduced pyroscope packaging via nfpm.
  • Use Grafana flamegraph component.
  • 'ExportData' now respects the 'flamegraph.com' related prop.
  • Introduced option to disable RBAC.
  • Introduced a tenant scanner.
  • Refactoring for block compaction to enable shard-splitting.
  • Improved multitenancy default behavior documentation.

Fixes:

  • Addressed various race conditions and bug fixes.
  • Improved URL handling and pprof merges.
  • Fixed various documentation inconsistencies and outdated references.
  • Fixed broken links.
  • Resolved multiple issues related to dotnet and ebpf.
  • Addressed flaky tests and issues in ingestionAdapter.
  • Handle profiles without timestamps.

Documentation Updates:

  • Added tabs to Java docs and updated ebpf docs.
  • Added section for Apple arm64 builds.
  • Updated documentation for contributors.
  • Improved helm documentation.
  • Optimized and clarified querier API calls.

DevOps & Tooling:

  • Introduced helm v1.0.0 release.
  • Automation added for brew releases.
  • Helm improvements: setting correct namespace, adding initContainers, hostNetwork, etc.
  • Refactored after dskit upgrade.
  • Updated rideshare examples for ingesting to grafana.com.

New Contributors:


Detailed Changelog

Read more

v1.0.0

29 Aug 03:54
2217f3a
Compare
Choose a tag to compare

Pyroscope version 1.0 release notes

The Pyroscope team is excited to announce the first release. We’re committed to building the best continuous profiling experience in Grafana and contributing to that space along with the open-source community.

From the first release you can expect:

  • Pyroscope is a horizontally-scalable, highly-available, multi-tenant continuous profiling aggregation system with similar architecture to Grafana Mimir, Grafana Loki, and Grafana Tempo.
  • Easy to get started with guides covering Helm, Tanka, and docker-compose installations.
  • A fully integrated data source in Grafana to correlate your continuous profiling data with other observability signals using Grafana Explore and dashboards. The native flame graph panel visualization can also be used by other profiling data sources.

Changelog

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

Docker Images

  docker pull docker.io/grafana/pyroscope:1.0.0

v1.0.0-rc.0

29 Aug 03:55
Compare
Choose a tag to compare
v1.0.0-rc.0 Pre-release
Pre-release

Changelog

Read more

v0.37.2

15 Feb 16:27
Compare
Choose a tag to compare

Installation

For instructions on how to install pyroscope visit our Getting Started guide.

Source code

pyroscope-0.37.2-source.tar.gz

Linux binary builds

pyroscope-0.37.2-linux-amd64.tar.gz
pyroscope-0.37.2-linux-arm64.tar.gz

Ubuntu / Debian (.deb) builds

pyroscope_0.37.2_amd64.deb
pyroscope_0.37.2_arm64.deb

RHEL / CentOS (.rpm) builds

pyroscope-0.37.2-1-x86_64.rpm
pyroscope-0.37.2-1-aarch64.rpm

Windows (.msi) builds

pyroscope_agent_0.37.2_amd64.msi

Changes:

Bug Fixes

  • jfr: do no try to decompress labels if there are no labels (#1852) (65e1d69)
  • pprof parsing: initialize function to zero values (#1837) (692f11b)

Features

Performance Improvements

  • flamegraph: don't convert to graphviz format unnecessarily (#1834) (8f78e54)