v1.2.0
🚀 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
Notable changes are listed below for more details check out the Full Changelog: v1.1.5...v1.2.0
Enhancements
- 728493e feat: Scalable Compactor (#2466)
- d4e3b03 Create a physical plan for block querying (#2586)
- 1488496 Extend profile schema to support spans (#2508)
- 1e7ebd9 Allow to configure pyroscope high disk utilization (#2666)
- 4e8439d Optimize repeated row iterator (#2572)
- f1b82c5 feat(ebpf): add pyperf (#2201)
- 25084ea Randomize sessions after aggregation (#2656)
- 3c5a959 Make max node limit configurable (#2658)
Bug Fixes
- e572d26 Cleanup failed segment before flushing. (#2606)
- be7bc5d Fix symbols resolver race condition (#2665)
- f4b0a60 fix(jfr): merge equal samples (#2652)
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
- @jeyraof made their first contribution in #2327
- @nlamirault made their first contribution in #2342
- @urgerestraint made their first contribution in #2357
- @bodji made their first contribution in #2363
- @rabunkosar-dd made their first contribution in #2364
- @wilfriedroset made their first contribution in #2424
- @jhedev made their first contribution in #2432
- @mlcdf made their first contribution in #2459
- @grafakus made their first contribution in #2496
- @github-actions made their first contribution in #2493
- @vivekkoya made their first contribution in #2499
- @yuseferi made their first contribution in #2537
- @jjangga0214 made their first contribution in #2502
- @segler-alex made their first contribution in #2557
- @bubu11e made their first contribution in #2560
- @zalintyre made their first contribution in #2536
- @dxsup made their first contribution in #2581
- @nickelghost made their first contribution in #2601
- @aleks-p made their first contribution in #2645
- @knylander-grafana made their first contribution in #2676
- @JakeCooper made their first contribution in #2699
- @AS-Labs made their first contribution in #2705
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)