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.16.0 release notes

The Pyroscope team is excited to present Grafana Pyroscope 1.16.0

This release contains enhancements, fixes, improves stability & performance.

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

Enhancements

  • Add OTLP HTTP/json and HTTP/protobuf ingestion (#4495)
  • Add a basic metric for metastore DLQ recovery (#4563)
  • Improve metastore observability (#4580)
  • Add option to add annotations to headless service (#4451)
  • Add admin pages for inspecting v2 blocks (#4480, #4543, #4555, #4560)
  • Performance: Cancel artificial delay on async ingest (#4261)
  • Add sanitized_label_names_total counter metric (#4501)
  • Add pyroscope-monitoring helm chart (#4525)
  • Implement utf8 label name client capability and use in UI/profilecli (#4442, #4490, #4493)
  • Add OTLP canary query (#4488)
  • Performance: add health check/warmup to segmentwriter to reduce first-write latency (#4453)
  • Update golang version to 1.24.9 (#4596)

Fixes

  • Fix distributor sampling rule processing priority (#4491)
  • Fix panic in ad-hoc profile upload (#4556)
  • Add ingest limits to connect push requests (#4586)
  • Add profile_name label to Speedscope profile ingestion (#4588)
  • Add stricter validation for metrics from profiles fields (#4522)
  • Ensure to build the same architecture image, as the current machine (#4552)
  • Fix go get in update-examples-cron.yml (#4547)
  • Handle Speedscope sample types in ingestion (#4568)
  • Handle utf-8 matchers correctly (#4496)
  • Fix Helm release only supports one changed chart at a time (#4583)
  • Fix OTLP: Guard against profiles with no lines (#4517)
  • Redirect to admin pages when no query API available (#4553)
  • Replace nop logger used in label validation (#4531)
  • Skip duplicated label name filtering in some cases (#4502)
  • Update deprecated GF_INSTALL_PLUGINS env var (#4554)
  • Avoid flushing empty tenant settings (quick win) (#4458)
  • Fix create fallback symbols for mappings without BuildIDs (#4527)
  • Fix go version for update-contributors (#4582)
  • Fix golang-push examples test (#4558)
  • Fix incorrect multitenancy header handling in new HTTP OTLP endpoint (#4559)
  • Fix not missing recording rules symbols by relaxing ObserveSymbols condition (#4545)
  • Fix opentelemetry-collector otlphttp exporter compatibility: gzip compression (#4579)
  • Fix panic when handling unsafe tenant name (#4519)
  • Use github app to update-make-docs workflow (#4548)
  • Don’t 500 on bad profile types (#4537)
  • Fix flaky admin test (#4528)
  • Pin node to v23 in examples until latest (v25) is supported (#4561)

Documentation

  • Update make docs procedure (#4551)
  • Generate API docs for connect-go API (#4408)