Releases: grafana/phlare
v0.6.1
Changelog
- 929d630 Add MaxLookBack and MaxLength Query Limits (#741)
- 62021d9 Add block stats to store-gateway status page (#753)
- fbbcc95 Add grafana agent docs (#720)
- 877b118 Add links to frontend README (#762)
- 8262108 Add store-gateway components (#701)
- 62b2679 Allow the service_name label to exist (#739)
- 782a320 Enable metadata test for ingester (#759)
- b6d364b Fix concurrent map access in ingester (#763)
- 3e8f226 Fix error message (#756)
- af7155e Fix stacktrace tree min value counting (#723)
- 5eda321 Fixes the make generate target (#715)
- faf62ed Flush profiles rowgroup asynchronously (#760)
- 50a6d5e Free profile objects when cutting a row group (#746)
- 7e331c2 Inline correctly the store-gateway config (#752)
- d9eb816 Refine ingester/store-gateway time range split (#742)
- 388b36e Remove .trunk (#755)
- 9f19269 Split query by interval (#713)
- d4eaf5c Update golang version to 1.19.10 (#754)
- 0a5dc17 chore: enables mutex and block profiling for pyroscope itself (#758)
- 13e0b0c chore: get latest pyroscope-oss code (#716)
- 766d0b4 ci: [e2e] wait for /ready instead of hitting the ui directly (#738)
- b3aea2d feat(frontend): new app selector (#712)
- 73c5a43 feat: select first app automatically (#721)
- 60981cf fix(frontend): make tenant dropdown show even when sidebar is collapsed (#709)
- 3853418 fix(pyroscope ingest): propagate connect-go http status codes (#718)
- f6bc04a fix: /pyroscope/ingest return 400 in case of bad request (#750)
- 8565aa6 fix: /ui routing (#737)
- b97c88c fix: build on 32bit (#747)
- 49e4451 fix: filter out labelsset without the required labels instead of crashing (#725)
- 6364f58 fix: rename pyroscope_app to
service_name
(#710)
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/phlare:0.6.1
v0.6.0
Changelog
- c481f82 chore(frontend): remove unused import and fix typo (#668)
- 9c9d771 Add
memberlist
API support (#578) - f6b2b3c Add concurrency limit for GitHub Actions and all use
.yml
file extension (#571) - ae47e35 Add hash to css files (#647)
- 7e62250 Add headless svc for all workload (#556)
- f5802fb Add help text test (#539)
- 0898778 Add index page (#547)
- aa6c1b6 Add index pages for status service (#563)
- 707bceb Add instructions on how to join the Grafana Slack workspace (#583)
- 1114622 Add log request middleware for Querier (#700)
- 1e36409 Add metrics for flushed blocks (#605)
- 57f6b03 Add metrics for replication factor of the ingester ring (#623)
- fef95f4 Add new metrics for samples bytes ingestion without symbols (#584)
- 4c6b8e0 Add profile segment and reason for flush metrics (#608)
- 698150a Add subcommand to upload profiles to Phlare using PusherService.Push (#607)
- 86b115f Add support for global size-based retention policy (#628)
- 8b780de Add test cases for getSeriesRef (#659)
- e70093a Add the home page link for Phlare logo (#585)
- 1fd77d4 Adds all go metrics to Prometheus instrumentation (#598)
- 3294e5f Adds tenant overrides in helm (#551)
- 4a5ce82 Adopt ingester shuffle sharding from mimir (#610)
- 637dc58 Allow environment variables from secrets/configMaps (#595)
- ae2f999 Allow specifying a tenant ID in profilecli (#592)
- 8feab4d Also register pyroscope query handlers at query-frontend (#627)
- 5880182 Annotate
make deploy
rollouts with image id (#632) - c5f9eab Archive Grafana Phlare (#588)
- ff18c68 Bring back the Pyroscope API (#591)
- 4628b2f Bump checkout@v2 to checkout@v3 (#552)
- e7485a3 Bump helm chart to use 0.5.1 (#540)
- 098a1eb Correctly allocate slices when converting profile structs (#561)
- 39a8593 Correctly register replication factor metric (#671)
- 4639eee Correctly register the distributor component (#603)
- 2e318c0 Dedupe merge improvement. (#656)
- 2e8f991 Do not run the regular release pipeline for weekly releases (#570)
- fdea4aa Ensure config file parses properly (#536)
- 66f78a9 Fix concurrent use of LabelValuesRequest (#670)
- d1d3e85 Fix deprecated set-output warnings (#544)
- 80fe215 Fix from/until parsing in pyroscope/render call (#625)
- 7c56ec7 Fix kind local cluster single binary deploy (#661)
- ef392e8 Fix panic in usagestats (#706)
- 06093f8 Fix queries and storage block operations synchronisation (#699)
- 258d7db Fix typos (#581)
- fa1018d Fixed crashed rust example on M1 MacOS (#554)
- 3b4ac22 Fixes delta of samples computation (#597)
- 51d4116 Fixes helm chart default scrape_configs (#590)
- 006ad25 Fixes no profiles to merge error (#559)
- e2f66eb Get rid of unnecessary branch filter in frontend workflow
- 4f337ac Ignore weekly release tags (2nd try) (#573)
- fdf65f6 Improve panic handling for the read path (#490)
- a3190eb Improve profiles flushing using ReadRowsFrom (#594)
- 3cc4ecd Improve storage metrics buckets (#609)
- bcfc1ea Instrument symbols query path (#679)
- 90c8e24 Make both
/ui/?query=
and/ui?query=
work (#649) - 1bc3eb4 Make bucket range test more maintainable (#580)
- 6bf3825 Make clients options non global (#667)
- 349b5b7 Make sure set the same tags when building debug binary (#650)
- 1c5b2c8 Merge branch 'main' of github.com:grafana/phlare into feat/comparison-page
- 9dfd6d3 Merge pull request #596 from korniltsev/korniltsev/pyroscope_ingestion_adapter
- a2a8308 Merge pull request #611 from eh-am/feat/add-single-view-ui
- 224e15b Merge pull request #613 from kolesnikovae/chore/improve-pprof-parsing-pool-usage
- 8df8adb Merge pull request #620 from grafana/feat/ui-labels
- 3ccfa10 Merge pull request #629 from grafana/chore/replace-apps-for-profileID
- 9fc2399 Merge remote-tracking branch 'grafana/main' into korniltsev/pyroscope_ingestion_adapter
- 94f75e8 Merge remote-tracking branch 'origin/main' into korniltsev/pyroscope_ingestion_adapter
- ab6ddc1 Mixin: Make the UID of the "Reads" and "Writes" Dashboards more unique (#545)
- e6d4640 Refactor all APIs to a better structure (#633)
- 43d7c3b Refactor metrics in PhlareDB (#574)
- f09f749 Remove
cortex_
prefix from scheduler/frontend metrics (#651) - a7b0c34 Remove addresses on symbolized profiles (#541)
- 0f39cd0 Remove global metrics and stats (#564)
- 63508dd Remove useless err check in LabelValues API (#669)
- 2d59c5a Removes gzip compression between querier and ingester (#657)
- 2bd5f51 Rename
Dockerfile.debug
todebug.Dockerfile
(#546) - 982a19f Reorganize docs structure (#703)
- bee5590 Revert "Use binary search in
getSeriesIndex
(#621)" (#648) - 6d248ea Serve a basic react app under /ui (#606)
- bf5c0e6 Support selectors for LabelValues/LabelNames calls (#654)
- 0c86a95 Support set test mode for flags test (#542)
- 1bc95e9 Update CHANGELOG.md (#549)
- 470ff35 Update README.md (#589)
- 8613444 Update all metrics to be prefixed with pyroscope rather than phlare (#652)
- 2ea5ced Update alpine version to 3.17.3 (#614)
- 9d9a430 Update go.mod based on trviy scan (#599)
- 5a1bfac Update golang version to 1.19.8 (#615)
- 9a5b9ae Update golang version to 1.19.9 (#666)
- 97e79ed Update pkg/phlare/modules.go
- 0961d8e Update pkg/phlaredb/delta.go
- 556a601 Update the release doc (#538)
- 659940c Update to setup-go@v4 github action (#602)
- 71bdc02 Upgrade base image to latest alpine version v3.17.2 (#548)
- 8291d1f Upgrade golangci-lint and enable it when formatting (#646)
- c0a305a Use IEC size format for rate_limit errors (#555)
- b1a77df Use binary search in
getSeriesIndex
(#621) - 79dcf1c Use camel case instead of snake case in golang example (#558)
- e79fadd Use date instead of timestamp (#579)
- 75465a2 Use git commit date from goreleaser directly (#575)
- af8b921 Use goreleaser to build weekly releases (#576)
- c7d96b7 Use pyroscope tree representation in MergeProfilesStacktraces API (#702)
- d3931fb Use setup-go's caching (#619)
- 41338ed Validates label matchers in the querier (#601)
- 46b7b5f Validates that push request contains at least one sample (#550)
- 7d20115 When ready check fails display names (#675)
- dd79086 [helm] Add ingress (#517)
- 2bfe61a
make build
should depend onmake frontend/build
(#616) - bfa4412 add a tsconfig.json and make webpack resolution use it
- 8fb1151 add comparison page
- 6f239ed add dependencies explicitly intead of relying on deps from pyroscope-oss
- b592cfe add dotnet exceptions sample type
- dc5f4ff add dotnet exceptions sample type
- 1e1df4a add jfr metadata
- adc9866 add some css to make it look okayish
- 0aa284f bare minimum to use a component from pyroscope-oss
- f9b54fa better error handling, update pyroscope, lint
- fd65944 build: add linter and formar checker to the frontend (#677)
- 68e504e centralize loading app names
- e41115b chore: improve memory ownership at pprof parsing
- acc6163 chore: lint updates (#705)
- 3163440 chore: remove unnused file (#674)
- 74a8928 chore: replace 'Application' for 'ProfileID' to better match phlare's semantics
- e46eb84 ci: run 'make fmt check' concurrently (#665)
- 85fd81c don't fail if response doesn't have the correct shape
- c8a1b6f don't fail when response is unexpected
- 1e3744b dont compute delta for pyroscope profiles, they are already delta either on client or during parsing
- f02f1ca feat(agent): support interval and timeout label for agent scrape (#577)
- a512ee3 feat(ui): explore page (#704)
- dbaa905 feat: Add comparison page
- 0aa3f23 feat: add diff support (#622)
- 750202c feat: add pyroscope ingestion endpoint
- 3838b85 feat: make tags work in the ui
- 9b4b1a7 feat: run under a subpath (#663)
- 584ae8b feat: sidebar (#655)
- f90edba feat: support for tree truncation when converting to flamebearer (#634)
- 02ee7dc feat: support multitenancy in the /ui (#676)
- cbeb28c feat: timelines (#635)
- eb970c7 fix ingestion error handling
- 04f3dae fix type check
- 34cd913 fix type check
- ead7707 fix type check
- dc7bf17 fix types
- b73496f fix(frontend): fix frontend routing (#645)
- a47996b fix(pyroscope): use nanos sample type units for cpu & wall profiles (#639)
- b36401f fix: allow delta label to force-enable as well as force-disable delta computation (#604)
- 656da41 fix: max nodes check (#653)
- e965112 fix: only pass
X-Scope-OrgID
header if multi tenant is enabled (#708) - beea780 get latest fixed types from upstream
- 43b7732 hide timeline
- 3b9904f lint
- 40800ab loading app names, which is a proxy to /label-values?label=_name
- 7a3a0d3 making requests to /render
- f41fb86 pass pyroscope sample rate and spyname
- ec4ba8d pull dependencies
- dbd80d7 refactor: cmd/phlare/main.go (#566)
- 81a466f revert backend impl since it's all done client side
- d6033d9 rm todo
- 1190e57 run frontend workflow checks
- 688576d run frontend workflow independently from backend
- 84a218d support css
- 8c96d03 typo
- 0959ad1 update pyroscope
- 2472dfd use 'Profile Type' instead, as suggested
- ad0eec4 use series API to load labels
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/phlare:0.6.0
v0.5.1
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/phlare:0.5.1
v0.5.0
Changelog
- 3b273c4 Add -modules support (#497)
- 68fdfa2 Bump minimal support version to 1.19 (#531)
- 67e78c2 Improve annotations based scraping for helm (#529)
- f125450 Ingester limits (#523)
- e425b2a Move from kubeval to kubeconform (#534)
- 404cec3 Remove redundant alias (#530)
- a46f0e6 Update go versions used to 1.19.6 (#533)
- acf635a Update helm doc for v0.4.0 (#527)
- 245bf03 Update prometheus to have latest relabeling support (#528)
- 4e80169 Upgrade linter to work with Go Generics (#524)
- 19b1895 update helm version to 0.5.0
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/phlare:0.5.0
v0.4.0
This release mostly adds rate limiting when pushing profiles to Phlare.
Changelog
Full Changelog: v0.3...v0.4.0
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/phlare:0.4.0
v0.3.0
This release brings a better storage that will be able to build bigger blocks of data. Next up we're working on reducing memory usage of ingesters.
We've seen speed up of queries across 200 profiled pods. 🔥
There's also couple of interesting bugfixes and improvements see the list 👇
Changelog
- Flush profiles to disk per row groups by @simonswine in #486
- Add observability using Loki/Tempo and Grafana Agent by @simonswine in #495
- Add a debug image with phlare running through dlv by @simonswine in #511
- Fix regressions on the new ingress flush to disk handling. by @simonswine in #509
- Fix cutting by block size and adjust limits by @simonswine in #514
- Use the correct API in readyHandler by @hi-rustin in #516
- Increase ingesters default limits by @cyriltovena in #518
New Contributors
- @hi-rustin made their first contribution in #515
Full Changelog: v0.2.0...v0.3.0
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/phlare:0.3.0
v0.2.0
In this release 🌞 , we have added fair scheduling using the query-frontend and query-scheduler.
If you're not familiar with those new components make sure to read our documentation
The main idea is to bring fair query scheduling across tenants. In the future the query-frontend will also be used for parallelising and retrying queries.
Changelog
- afd84cc Add missing flags to expand config file (#492)
- 8f4777c Add query-frontend, query-scheduler and querier worker. (#496)
- 9fdd280 Correctly implement connect health checker service (#491)
- 05b16c9 Improve Worker timeout (#506)
- 75d6c5c Use gotestsum
- 3c63a8a chore(docs/config): add http_sd_config prometheus ref (#499)
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/phlare:0.2.0
v0.1.2
🎄 New Year, New Release 🔥
Happy New Year Everyone, this new release brings couple of bug fixes 🐛 and a new pprof API that can be consumed using profilecli
.
To query for a merge of profiles and visualise it with go tool pprof
🔍.
profilecli query merge --from now-5m --output pprof=my.pprof --profile-type memory:alloc_space:bytes:space:bytes
go tool pprof -http :6060 my.pprof
profilecli
can also jump raw dump the pprof format if needed.
You can download profilecli
binary from the release assets below👇.
We have also released our new api Go module this is to ease integrations with Phlare.
Last notable change, you can now scrape profiles using HTTP service discovery.
Thank you everyone who contributed: @scottzhlin @cyriltovena @simonswine @cristiangreco @aocenas @fredr
Changelog
Bugfixes
- 2fd3dea Fixes the scrape timeout validation. (#465)
- ca5d083 Configure Minio correctly in helm (#459)
- d189198 Usage stats reporter: fix to remove duplicate if block (#483)
Enhancements
- 27bb8d1 Add a github action to release automatically when tagging the repo. (#482)
- ab5a67c Add an API go module for external usage. (#466)
- c2bfdbc Implements a pprof query API. (#474)
- 2f03659 Add query subcommand to profilecli for downloading pprof from phlare (#475)
- 49b645e Agent scrape client accept encoding gzip #459
- ac09c62 feat(agent/sd): add support HTTP service discovery (#453)
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/phlare:0.1.2
v0.1.1
The Grafana Phare team is excited to announce the first patch release of Grafana Phlare.
It aims to sharpen the rough edges of our first release. As always feedback is welcome 🙂
Changelog
Bugfixes
- Fixes bug in middleware instrumentation, that failed HTTP2 requests. #231
- Fixes a race in the usage reporter #386
- Fixes build arteficts report incorrect version numbers #391
- Ensure that a path prefix is correctly appended when scraping profiles #410
Enhancements
- Add endpoints for fgprof wall clock profiles to Grafana Phlare #413
- Helm/Jsonnet Stricter defaults for
podSecurityContext
#444 - Upgrade all go version used to 1.19.4 90ecd84
- Upgrade base image to latest alpine version 1.16.3 87493d1
- Add support for Tencent COS object storage #437
- Add CLI flag to print version #406
v0.1.0
The Grafana Phlare team is excited 🥳 to announce the first release (v0.1.0). 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:
- Grafana Phlare 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.
- Phlare packages an Agent for pulling profiles directly from your applications like Prometheus. We have also provided detailed documentation about how to profile your application written in Go, Java/JVM, Python, and Rust.
Ready to give it a try, follow our getting started documentation.
Note: This is an early release and there are a couple of limitations:
- As we iterate on Phlare, the APIs are still subject to change and we can’t yet provide stability. This is most likely going to be guaranteed in the future 1.0 release.
- While we can archive your data to long-term storage, we currently do not support querying it back.
We are keen to hear your feedback and ideas on what we should focus on next. Get in touch with the team using:
Docker Images: