Version 1.2 release notes
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 flame graph 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 1.2.0 Changelog: https://github.com/grafana/pyroscope/compare/v1.1.5...v1.2.0
Version 1.2.x changelogs:
Features and enhancements
This section lists all new features and enhancements for version 1.2.x.
Version 1.2.1
Features and enhancements for version 1.2.1:
- 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)
In addition, the following improvements and updates for version 1.2.1:
- 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)
Version 1.2
Enhancements for version 1.2:
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
Version 1.2.1
- 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)
Version 1.2
e572d26
Cleanup failed segment before flushing. (#2606)be7bc5d
Fix symbols resolver race condition (#2665)f4b0a60
fix(jfr): merge equal samples (#2652)
Documentation updates
Version 1.2.1
- 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 how to use Pyroscope pages (#2834, #2836, #2839)
Version 1.2
- We’ve added documentation for
profilecli
to query and upload pprof files. - We’ve also documented the store-gateway and compactor component.