This is documentation for the next version of Grafana Pyroscope documentation. For the latest stable release, go to the latest version.

Open source

Version 1.20.0 release notes

The Pyroscope team is excited to present Grafana Pyroscope 1.20.0.

This release contains enhancements, fixes, improves stability & performance, and ships new v1 → v2 migration documentation.

Notable changes are listed below. For more details, check out the 1.20.0 changelog.

Enhancements

  • Add flags to disable v1 components in single-binary v2 mode (#4934)
  • Implement SelectMergeTree via the model.Tree (#4790)
  • Switch tracing instrumentation to OpenTelemetry (#4855)
  • Add trace ID field to profile storage schema (#4884)
  • Add tenant ID config for self-profiling (#4880)
  • Enable native histograms across all classic-only histogram metrics (#4961)
  • Log query weight on the read path (#4964)
  • Log decompressed size of JFR, OTLP (and other non-pprof) profiles (#4968)
  • Frontend: support auto for --enable-query-backend-from flag (#4926)
  • Metastore: add log store write timeout to prevent stuck raft leader (#4892)
  • profilecli: Add exemplar query and profile-id drill-down (#4939)
  • profilecli: Add span exemplar query command (#4953)
  • profilecli: Rename exemplars individual to exemplars profile (#4954)
  • Helm: Support global.imageRegistry (#4866)
  • JFR: Switch to klauspost/compress for gzip decompression (#4958)
  • Bump jfr-parser to v0.16.0 (#4960)
  • Update OTLP version (#4952)
  • Update parquet-go to v0.26.4 (#4925)
  • Embedded UI v2 refactor (#4948)
  • Prune infiniteStrategy from distributor (#4913)
  • Exercise exemplars on the canary exporter (#4959)

Fixes

  • OTLP: Extend v1.AnyValue possible types in stringValueFromAnyValue (#4988)
  • OTLP: Handle slice-typed sample attributes from pprof OTLP profiles (#4966)
  • Symbolizer: Skip locations with MappingId 0 instead of erroring (#4985)
  • symdb: Bounds-check mapping and function IDs in SymbolMerger (#4967)
  • Fix BinaryJoinIterator unalignment bug (#4950)
  • Metastore: Implement MonotonicLogStore on timeoutLogStore (#4935)
  • Querier: Surface previously dropped errors (#4914)
  • profilecli: Remove duplicate --collect-diagnostics flag (#4911)
  • debug-info: Use LimitReader (#4898)
  • lidia: Tolerate elf.ErrNoSymbols when both symbol tables are missing (#4895)
  • Helm: Filter pyroscope.components by storage flags in microservices mode (#4946)
  • Fix CVE vulnerabilities in go.mod files (#4970)
  • Update google.golang.org/grpc to v1.79.3 (security) (#4921)
  • Update github.com/buger/jsonparser to v1.1.2 (security) (#4962)

Documentation

  • Add v1 → v2 migration guide (#4927)
  • v2 architecture and components docs (#4912)
  • Update .NET documentation (#4949)
  • Move otel-collector eBPF example and update docs (#4969)
  • Add V2 run instructions to AGENTS.md (#4899)
  • Update list of contributors in README (#4963)