parca-dev/parca
Continuous profiling for analysis of CPU and memory usage, down to the line number and throughout time. Saving infrastructure cost, improving performance, and increasing reliability.
✨ Features
- Add support for OpenTelemetry eBPF Profiler profile type by @brancz in https://github.com/parca-dev/parca/pull/6261
- Add support for native v2 schema writes by @brancz in https://github.com/parca-dev/parca/pull/6347
📦 Enhancements
- ui: self-host Google Fonts to eliminate third-party dependency by @yomete in https://github.com/parca-dev/parca/pull/6326
- ui: Nuqs for state management by @manojVivek in https://github.com/parca-dev/parca/pull/6329
🐛 Bug fixes
- pkg/scrape: Never block discovery with scrapes by @brancz in https://github.com/parca-dev/parca/pull/6327
- ui: Handling null value by @manojVivek in https://github.com/parca-dev/parca/pull/6331
- ui: ScaleLinear: Defensive guards to prevent ending up with Infinity by @manojVivek in https://github.com/parca-dev/parca/pull/6335
- Flamechart crash fix by @manojVivek in https://github.com/parca-dev/parca/pull/6336
- ui: Handle Query.parse inputs without a profile-type prefix by @metalmatze in https://github.com/parca-dev/parca/pull/6346
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.27.0...v0.28.0
📋 What's Changed
- .github: Fix authentication for release container pushing by @brancz in https://github.com/parca-dev/parca/pull/6260
- Add support for OpenTelemetry eBPF Profiler profile type by @brancz in https://github.com/parca-dev/parca/pull/6261
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.27.0...v0.27.1
📋 What's Changed
- Update otlp support by @brancz in https://github.com/parca-dev/parca/pull/6239
- ui: Sumby handle the URL param values correctly in the profile-type change effect by @manojVivek in https://github.com/parca-dev/parca/pull/6221
- Simplify demangling fix by @gnurizen in https://github.com/parca-dev/parca/pull/6222
- ui: Show 'No matching samples' in empty sandwich view by @yomete in https://github.com/parca-dev/parca/pull/6223
- fix: add bounds checks for transposition indices in flamegraph builder by @thorfour in https://github.com/parca-dev/parca/pull/6229
- sourcemaps: Supporting changes for the JS source maps by @manojVivek in https://github.com/parca-dev/parca/pull/6071
- flamecharts: More bounds check and a minor ui fix by @manojVivek in https://github.com/parca-dev/parca/pull/6236
- ui: fix filtering for flame chart visualization by @metalmatze in https://github.com/parca-dev/parca/pull/6228
- + 2 more
📋 What's Changed
- pkg/query: Allow reader schema order to be dynamic by @brancz in https://github.com/parca-dev/parca/pull/6066
- Refactor ProfileSelector and MetricsGraphSection components by @yomete in https://github.com/parca-dev/parca/pull/6073
- ui: Fix focusing on series in the metrics graph by @yomete in https://github.com/parca-dev/parca/pull/6074
- ui: Add group_by param to default explorer values by @yomete in https://github.com/parca-dev/parca/pull/6075
- Add starts with filter options by @brancz in https://github.com/parca-dev/parca/pull/6062
- Fix: Add URL encoding for starts_with and not_starts_with filters by @brancz in https://github.com/parca-dev/parca/pull/6077
- ui: Fix state sync between ProfileSelector & MatchersInput by @yomete in https://github.com/parca-dev/parca/pull/6081
- Add support for arbitrary headers by @brancz in https://github.com/parca-dev/parca/pull/6080
- + 50 more
✨ New Contributors
- @jaffarkeikei made their first contribution in https://github.com/parca-dev/parca/pull/6183
- @gnurizen made their first contribution in https://github.com/parca-dev/parca/pull/6217
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.25.0...v0.26.0
📋 What's Changed
- ui: Refactor Flame Graph color mapping logic by @yomete in https://github.com/parca-dev/parca/pull/5954
- ui: Ensure Flame Graph is reset on all toolbar interactions by @yomete in https://github.com/parca-dev/parca/pull/5953
- ui: Test id refactoring to remove the hardcoded strings by @manojVivek in https://github.com/parca-dev/parca/pull/5955
- ui: Compare close button test id by @manojVivek in https://github.com/parca-dev/parca/pull/5957
- feat(parcacol): use distinct for label discovery to reduce rows returned by @secfree in https://github.com/parca-dev/parca/pull/5921
- feat: use Distinct instead of Project for profile metadata queries by @secfree in https://github.com/parca-dev/parca/pull/5959
- Upgrade otlp to 1.8 and adjust code to spec by @brancz in https://github.com/parca-dev/parca/pull/5960
- fix(server): mount grpcWebMux with StripPrefix to match grpc gateway routes by @junotx in https://github.com/parca-dev/parca/pull/5956
- + 34 more
✨ New Contributors
- @junotx made their first contribution in https://github.com/parca-dev/parca/pull/5956
- @iamKunal made their first contribution in https://github.com/parca-dev/parca/pull/5923
- @Haoning-Sun made their first contribution in https://github.com/parca-dev/parca/pull/6026
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.24.2...v0.25.0
📋 What's Changed
- Support `PARCA_BEARER_TOKEN` environment variable for BearerToken config by @metalmatze in https://github.com/parca-dev/parca/pull/5950
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.24.1...v0.24.2
📋 Changelog
- 0caaf6012533a1e8927d391bc80c2d5e6d344ea0: refactor: Scrape loop. (#5945) (@thorfour)
📝 Docker images
- `docker pull ghcr.io/parca-dev/parca:v0.24.1`
📦 Thanks!
- Join our [Discord server](https://discord.com/invite/ZgUpYgpzXy);
- Follow us on [Twitter](https://twitter.com/ParcaDev);
- Read the [documentation](https://www.parca.dev/docs/overview).
✨ Features
- ui: Option to enable Iciclechart visualization for CPU profiles by @manojVivek in https://github.com/parca-dev/parca/pull/5577
- ui: Persist expanded iciclegraph state in URL by @manojVivek in https://github.com/parca-dev/parca/pull/5579
- ui: Query validation for icicle chart visualization by @manojVivek in https://github.com/parca-dev/parca/pull/5633
- Parallelize iciclegraph/iciclechart rendering by @brancz in https://github.com/parca-dev/parca/pull/5652
- feat: implement sandwich view by @yomete in https://github.com/parca-dev/parca/pull/5683
- ui: Added an option to disable sandwich view by @manojVivek in https://github.com/parca-dev/parca/pull/5715
- Allow enabling flamecharts by @brancz in https://github.com/parca-dev/parca/pull/5653
- Add depth to flamegraph arrow frames by @brancz in https://github.com/parca-dev/parca/pull/5643
- + 12 more
📦 Enhancements
- ui: Icicle chart minor UX tweaks by @manojVivek in https://github.com/parca-dev/parca/pull/5537
- area/ui: add Modify the utilization metrics graph to show multiple series by @yomete in https://github.com/parca-dev/parca/pull/5538
- area/ui: Multiple metrics graph by @yomete in https://github.com/parca-dev/parca/pull/5572
- area/ui: show the timestamp as time range for the metrics graph by @yomete in https://github.com/parca-dev/parca/pull/5573
- area/ui: add a Receive/transmit metrics graph by @yomete in https://github.com/parca-dev/parca/pull/5600
- ui: Unified Label Selector by @manojVivek in https://github.com/parca-dev/parca/pull/5589
- ui: Change "Show function name from left side" preference to be icicle graph option by @yomete in https://github.com/parca-dev/parca/pull/5698
- area/ui: add a new queryparam `selectedSeries` to query for cpu strips and flamechart by @yomete in https://github.com/parca-dev/parca/pull/5544
- + 19 more
🐛 Bug Fixes
- area/ui: strip attributes from context menu by @yomete in https://github.com/parca-dev/parca/pull/5539
- ui: z-index fixes by @manojVivek in https://github.com/parca-dev/parca/pull/5565
- ui: DividerWithLabel component color fix by @manojVivek in https://github.com/parca-dev/parca/pull/5621
- ui: Sumby drop down has the same z-index as other dropdowns by @manojVivek in https://github.com/parca-dev/parca/pull/5702
- ui: Fixed metrics graph alignment to the grid by @manojVivek in https://github.com/parca-dev/parca/pull/5703
- area/ui: reset the selected_timeframe after a new series is clicked on by @yomete in https://github.com/parca-dev/parca/pull/5549
- ui: Delegating the handling of series selection to the wrapping component by @manojVivek in https://github.com/parca-dev/parca/pull/5696
- ui: Handled the utilization metric selection state properly by @manojVivek in https://github.com/parca-dev/parca/pull/5701
- + 13 more
✨ New Contributors
- @secfree made their first contribution in https://github.com/parca-dev/parca/pull/5641
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.23.1...v0.24.0
📋 What's Changed
- fix(ui): Remove .env commited by accident in #4612 by @mmkay in https://github.com/parca-dev/parca/pull/5535
✨ New Contributors
- @mmkay made their first contribution in https://github.com/parca-dev/parca/pull/5535
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.23.0...v0.23.1
📋 Changes
- area/ui: Revamp visualization toolbar by @yomete in https://github.com/parca-dev/parca/pull/4959
- area/ui: Parca design refresh by @yomete in https://github.com/parca-dev/parca/pull/4895
- symbolizer: shell out to addr2line by @danipozo in https://github.com/parca-dev/parca/pull/5299
✨ Features
- pkg/query: Group by arbitrary labels by @metalmatze in https://github.com/parca-dev/parca/pull/5007
- area/ui: Add a Color by functionality by @yomete in https://github.com/parca-dev/parca/pull/5114
- area/ui: Add a preference to render function names from the right by @yomete in https://github.com/parca-dev/parca/pull/5382
📦 Enhancement
- area/ui: Support typing multiple units in relative range picker by @yomete in https://github.com/parca-dev/parca/pull/5006
- area/ui: Ensure all dates are in UTC by @yomete in https://github.com/parca-dev/parca/pull/5244
- area/ui: Enhance regex filtering in SimpleMatchers component by @yomete in https://github.com/parca-dev/parca/pull/5288
- area/ui: rejig dashboard buttons by @yomete in https://github.com/parca-dev/parca/pull/5276
- area/ui: Add a "Show in table" menu item to the Icicle graph's context menu by @yomete in https://github.com/parca-dev/parca/pull/5298
- area/ui: Add a popover menu to the AreaGraph component by @yomete in https://github.com/parca-dev/parca/pull/5364
- ui: Small improvements by @metalmatze in https://github.com/parca-dev/parca/pull/5421
- symbolizer: reduce the number of debuginfo copies by @danipozo in https://github.com/parca-dev/parca/pull/5330
- + 1 more
🐛 Bug Fixes
- area/ui: Fix bug with updating query params with multiple values by @yomete in https://github.com/parca-dev/parca/pull/4983
- bug fix: Clicking on a sample should highlight it when there are query filters and sum by values by @yomete in https://github.com/parca-dev/parca/pull/5054
- Fix resolving wrong symbol when symbol table is not continous by @zmj64351508 in https://github.com/parca-dev/parca/pull/5179
- area/ui: Fix bug of disappearing matchers by @yomete in https://github.com/parca-dev/parca/pull/5245
- Don't filter out the "allowed" group by columns by @umanwizard in https://github.com/parca-dev/parca/pull/5301
- normalizer: Validate period and sample types by @brancz in https://github.com/parca-dev/parca/pull/5329
- remove unnecessary non-nil == nil check by @vidurkhanal in https://github.com/parca-dev/parca/pull/5306
- area/ui: auto close the group by dropdown when there's an outside click by @yomete in https://github.com/parca-dev/parca/pull/5381
- + 2 more
✨ New Contributors
- @zmj64351508 made their first contribution in https://github.com/parca-dev/parca/pull/5179
- @umanwizard made their first contribution in https://github.com/parca-dev/parca/pull/5301
- @emmanuel-ferdman made their first contribution in https://github.com/parca-dev/parca/pull/5290
- @vidurkhanal made their first contribution in https://github.com/parca-dev/parca/pull/5306
- @danipozo made their first contribution in https://github.com/parca-dev/parca/pull/5330
- @michaeldmitry made their first contribution in https://github.com/parca-dev/parca/pull/5467
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.22.0...v0.23.0
📦 Highlights
- Relative Comparisons in https://github.com/parca-dev/parca/pull/4578
- https://www.polarsignals.com/blog/posts/2024/08/06/comparing-profiles-is-even-more-helpful-now
- Call View Table Panel in https://github.com/parca-dev/parca/pull/4678:
- https://www.polarsignals.com/blog/posts/2024/06/18/caller-callee-view-in-table-panel
- Sum-By labels in Metrics Graph in https://github.com/parca-dev/parca/pull/4790
- https://www.polarsignals.com/blog/posts/2024/08/01/introducing-metrics-aggregation
- Make symbolizer read-time in https://github.com/parca-dev/parca/pull/4564
- Combine relative and absolute range picker in https://github.com/parca-dev/parca/pull/4777
- + 2 more
📋 Changes
- Filter profiling data using binary name by @yomete in https://github.com/parca-dev/parca/pull/4554
✨ Features
- pkg/parca: Add forwarder mode by @brancz in https://github.com/parca-dev/parca/pull/4531
- ui: Add a `timezone` parameter to Parca context by @yomete in https://github.com/parca-dev/parca/pull/4549
- Retrieve sources from debuginfod server if debuginfo is from there by @brancz in https://github.com/parca-dev/parca/pull/4602
- Add support for Iceberg storage by @thorfour in https://github.com/parca-dev/parca/pull/4650
- ui: Change the compare button to be within the navbar by @yomete in https://github.com/parca-dev/parca/pull/4784
- ui: CRA -> Vite migration by @manojVivek in https://github.com/parca-dev/parca/pull/4796
- Introduce Apache Arrow-based ingestion protocol by @brancz in https://github.com/parca-dev/parca/pull/4834
📦 Enhancements
- pkg: change trace print to debug log by @alxric in https://github.com/parca-dev/parca/pull/4310
- ui: Extendable flamegraph color profiles by @manojVivek in https://github.com/parca-dev/parca/pull/4328
- ui: Pnpm migration by @manojVivek in https://github.com/parca-dev/parca/pull/4566
- pkg/config: support seconds in pprof configuration by @alperkokmen in https://github.com/parca-dev/parca/pull/4623
- Use new Filter API to filter by function by @yomete in https://github.com/parca-dev/parca/pull/4714
- ui: Make handling of selections more robust by @brancz in https://github.com/parca-dev/parca/pull/4725
- normalizer: build arrow records directly without converting to parquet by @asubiotto in https://github.com/parca-dev/parca/pull/4740
- pkg/normalizer: Support named profiles by @brancz in https://github.com/parca-dev/parca/pull/4760
- + 8 more
🐛 Bug Fixes
- pkg/query: Don't filter unsymbolized when no function name is provided by @brancz in https://github.com/parca-dev/parca/pull/4333
- Update index to not use /* anymore for Go 1.22 by @metalmatze in https://github.com/parca-dev/parca/pull/4404
- ui: Fixed the bug that was resetting the profile selection state on page load by @manojVivek in https://github.com/parca-dev/parca/pull/4476
- pkg/parcacol: Correctly handle delta non cpu/ns profiles by @metalmatze in https://github.com/parca-dev/parca/pull/4592
- ui: Profile info section fixed by @manojVivek in https://github.com/parca-dev/parca/pull/4629
- ui: Fixed the build id truncation on tooltip by @manojVivek in https://github.com/parca-dev/parca/pull/4653
- pkg/query: Fix panic when diffing two profiles by @yomete in https://github.com/parca-dev/parca/pull/4681
- pkg/query: Only fetch mappings from `profileB` when in compare mode by @yomete in https://github.com/parca-dev/parca/pull/4713
- + 6 more
✨ New Contributors
- @alxric made their first contribution in https://github.com/parca-dev/parca/pull/4310
- @deterclosed made their first contribution in https://github.com/parca-dev/parca/pull/4407
- @alperkokmen made their first contribution in https://github.com/parca-dev/parca/pull/4623
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.21.0...v0.22.0
📦 Highlights
- The UI has seen many improvements in this release, including a redesign of the time range picker,
- a new feature to highlight similar stacks when hovering on a node,
- and the replacement of loading spinners with skeleton placeholders.
- Now, the UI also displays CPU cores per second for sample count profiles to make them comparable with different underlying profiling durations.
📋 Changes
- Time Range picker redesign by @monicawoj in https://github.com/parca-dev/parca/pull/4139
- Display CPU cores and CPU seconds for samples count profiles by @brancz in https://github.com/parca-dev/parca/pull/4304
✨ Features
- pkg/query: Add filtering runtimes by @brancz in #4034, #4038 and #4039
- ui: Highlight similar stacks when hovering on a node by @yomete in https://github.com/parca-dev/parca/pull/4180
- ui: Replace loading spinners with skeleton placeholders by @yomete in https://github.com/parca-dev/parca/pull/4293
📦 Enhancements
- ui: Allow copying system name if different from the function name by @brancz in https://github.com/parca-dev/parca/pull/4022
- ui: Fixing useURLState to be SSR proof by @manojVivek in https://github.com/parca-dev/parca/pull/4027
- Add additional snap configuration options by @morphis in https://github.com/parca-dev/parca/pull/4069
- ui: Minor auto suggestion improvements to eliminate pauses in query builder by @manojVivek in https://github.com/parca-dev/parca/pull/4155
- refactor: separate Normalizer and Ingester by @Cluas in https://github.com/parca-dev/parca/pull/4170
- ui: Unify date time format in Metrics graph by @yomete in https://github.com/parca-dev/parca/pull/4247
- ui: Added support for now keyword in time range selector by @manojVivek in https://github.com/parca-dev/parca/pull/4248
- pkg: Move the uiFS out of the server package by @metalmatze in https://github.com/parca-dev/parca/pull/4105
- + 6 more
🐛 Bug Fixes
- config: Validate duplicate job names by @nabokihms in https://github.com/parca-dev/parca/pull/3986
- ui: Profile view mobile fixes by @manojVivek in https://github.com/parca-dev/parca/pull/4029
- dark mode dropdown style fixes by @monicawoj in https://github.com/parca-dev/parca/pull/4063
- fix y axis ticks for small intervals by @monicawoj in https://github.com/parca-dev/parca/pull/4067
- area/ui: Fix UI crashes when a row is exactly 0 by @yomete in https://github.com/parca-dev/parca/pull/4100
- pkg/query: Fix panic when filtering no python when no python is present by @brancz in https://github.com/parca-dev/parca/pull/4099
- Handle possible nil in profiling config by @adrien-f in https://github.com/parca-dev/parca/pull/4075
- Fix bug when loading Metrics graph by @yomete in https://github.com/parca-dev/parca/pull/4165
- + 7 more
✨ New Contributors
- @nabokihms made their first contribution in https://github.com/parca-dev/parca/pull/3986
- @morphis made their first contribution in https://github.com/parca-dev/parca/pull/4069
- @adrien-f made their first contribution in https://github.com/parca-dev/parca/pull/4075
- @Cluas made their first contribution in https://github.com/parca-dev/parca/pull/4170
- @gernest made their first contribution in https://github.com/parca-dev/parca/pull/4249
- @dreamerlzl made their first contribution in https://github.com/parca-dev/parca/pull/4291
- @orgads made their first contribution in https://github.com/parca-dev/parca/pull/4257
- @patsevanton made their first contribution in https://github.com/parca-dev/parca/pull/4320
- + 1 more
📋 What's Changed
- This release features tons of performance improvements, this is the lowest CPU and memory usage Parca server yet!
- Highlights:
- All interactions that previously required holding shift and interacting, are now replaced with right-clicks.
- Icicle graphs can now be grouped by binary, filename and address in addition to previously only function name and labels.
- Display function inlining information in the UI.
📋 Changes
- Apache Arrow is now the one and only format to read and write data in the internal storage.
- Remove ExperimentalArrow flag by @thorfour in https://github.com/parca-dev/parca/pull/3884
- Right-click context menu for Icicle Graph by @monicawoj in https://github.com/parca-dev/parca/pull/3855
- Metrics Graph - click info panel by @monicawoj in https://github.com/parca-dev/parca/pull/3908
✨ Features
- UI: Show whether function was inlined in hover bubble. by @brancz in https://github.com/parca-dev/parca/pull/3896
- UI: Allow aggregating icicle graph by binary, filename and address by @brancz in https://github.com/parca-dev/parca/pull/3897
- UI: Add visibility dropdown for columns by @metalmatze in https://github.com/parca-dev/parca/pull/3780
- scrape: Support parsing executable info out of pprof comments by @brancz in https://github.com/parca-dev/parca/pull/3911
📦 Enhancements
- query: Only aggregate by labels if report uses labels by @brancz in https://github.com/parca-dev/parca/pull/3883
- ui: Provision to show hints for visualizations by @manojVivek in https://github.com/parca-dev/parca/pull/3907
- ui: Metrics graph axis labels by @monicawoj in https://github.com/parca-dev/parca/pull/3913
🐛 Bug fixes
- query: Fix nil panic when building flat flamegraph by @brancz in https://github.com/parca-dev/parca/pull/3892
- ingestion: Ensure base address normalizaton only happens once by @brancz in https://github.com/parca-dev/parca/pull/3903
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.19.0...v0.20.0
📋 Changes
- A complete re-design of the UI. ✨
- All APIs are now served in Apache Arrow format. This completes the migration to being fully Apache Arrow based for ingestion and querying. 📈
- Queries can now filter by arbitrary profile labels (trace ID, customer ID, or whatever else is added to profiling data). 🔍
- Icicle graphs can now group by profile labels (such as thread ID or name). 📊
📋 Full Changelog:
- ui-perf: Protobuf long type handled as `Bigint` instead of `string` on the UI by @manojVivek in https://github.com/parca-dev/parca/pull/2934
- ui: Redundant query request fix by @manojVivek in https://github.com/parca-dev/parca/pull/3331
- fix(server): handle gRPC-Web requests over HTTP2 by @maxbrunet in https://github.com/parca-dev/parca/pull/3352
- ui: Flamegraph crash fix by @manojVivek in https://github.com/parca-dev/parca/pull/3362
- ui: Fixes the bug where flamegraph goes blank for some instrumented profiles by @manojVivek in https://github.com/parca-dev/parca/pull/3363
- Allow filtering data by pprof labels by @brancz in https://github.com/parca-dev/parca/pull/3365
- ui: Handling 0 as a divisor in BigInt divide util by @manojVivek in https://github.com/parca-dev/parca/pull/3374
- ui/shared/profile/IcicleGraphArrow: Create arrow-based IcicleGraph by @metalmatze in https://github.com/parca-dev/parca/pull/3326
- + 112 more
✨ New Contributors
- @albertlockett made their first contribution in https://github.com/parca-dev/parca/pull/3648
- @quite4work made their first contribution in https://github.com/parca-dev/parca/pull/3689
- @karthick3018 made their first contribution in https://github.com/parca-dev/parca/pull/3838
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.18.0...v0.19.0
📦 We're happy to release Parca v0.18.0!
- This release comes packed with performance improvements, enhancements and so many fixes to the UI and CI!
- Parca will now automatically use the system settings for light or dark themes.
- gRPC Prometheus histograms are now exposed as native histograms giving them a much higher fidelity.
- If running with a custom path prefix, all API endpoints will now be served under this prefix.
- Happy profiling!
📦 Enhancements
- ui: Improve dark styling for targets page and Pill component by @metalmatze in https://github.com/parca-dev/parca/pull/2894
- ui: DateTimePicker adds seconds and uses yyyy-MM-dd HH:mm:ss by @metalmatze in https://github.com/parca-dev/parca/pull/2920
- ui: Fetch dark mode settings from system settings by @yomete in https://github.com/parca-dev/parca/pull/3016
- pkg/parcacol: Reduce allocs in sampleKey by @marselester in https://github.com/parca-dev/parca/pull/3061
- pkg/metastore: Reduce allocs in MakeLocationID by @marselester in https://github.com/parca-dev/parca/pull/3064
- pkg: Hidden flag to disable address normalization for debugging by @marselester in https://github.com/parca-dev/parca/pull/2955
- Arrow v12 by @thorfour in https://github.com/parca-dev/parca/pull/3138
- build(container): add metadata labels by @maxbrunet in https://github.com/parca-dev/parca/pull/3139
- + 7 more
🐛 Bug fixes
- pkg/debuginfo: Set debuginfod user-agent by @brancz in https://github.com/parca-dev/parca/pull/2924
- pkg/server: serve everything under path prefix when set by @maxbrunet in https://github.com/parca-dev/parca/pull/3186
- pkg/config: fix reloading config from Kubernetes ConfigMap by @maxbrunet in https://github.com/parca-dev/parca/pull/3230
- ui: Fix circumstances where there is only a single label by @brancz in https://github.com/parca-dev/parca/pull/2922
- ui: fix dropdown component by @monicawoj in https://github.com/parca-dev/parca/pull/2947
- ui: Fix link to release page by @ilpianista in https://github.com/parca-dev/parca/pull/3024
- ui(ci): ensure yarn lockfile is the source of truth by @maxbrunet in https://github.com/parca-dev/parca/pull/3038
- ui: Remove useEffect fn responsible for resetting current icicle path by @yomete in https://github.com/parca-dev/parca/pull/3173
- + 10 more
📝 Docker images
- `docker pull ghcr.io/parca-dev/parca:v0.18.0`
📦 Thanks!
- Join our [Discord server](https://discord.com/invite/ZgUpYgpzXy);
- Follow us on [Twitter](https://twitter.com/ParcaDev);
- Read the [documentation](https://www.parca.dev/docs/overview).
✨ New Contributors
- @ilpianista made their first contribution in https://github.com/parca-dev/parca/pull/3024
- @susarlanikhilesh made their first contribution in https://github.com/parca-dev/parca/pull/3107
- @themohammadsa made their first contribution in https://github.com/parca-dev/parca/pull/3210
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.17.0...v0.18.0
📋 Changes
- EXPERIMENTAL arrow ingestion: create the arrow record from the sorted buffer by @thorfour in https://github.com/parca-dev/parca/pull/2696
- introduce deterministic metrics graph coloring by @monicawoj in https://github.com/parca-dev/parca/pull/2826
- ui: Flamegraph tooltip perf improvement by @manojVivek in https://github.com/parca-dev/parca/pull/2692
- ui: Improve showing filtered and trimmed nodes in ProfileIcicleGraph by @metalmatze in https://github.com/parca-dev/parca/pull/2758
- Show step duration in metrics graph tooltip by @monicawoj in https://github.com/parca-dev/parca/pull/2785
- Callgraph makeover + fixes by @monicawoj in https://github.com/parca-dev/parca/pull/2651
- Trim flame graph nodes relative to node's parent by @metalmatze in https://github.com/parca-dev/parca/pull/2815
- Show absolute and relative percentages in tooltip by @metalmatze in https://github.com/parca-dev/parca/pull/2766
- + 12 more
📝 Docker images
- `docker pull ghcr.io/parca-dev/parca:v0.17.0`
📦 Thanks!
- Join our [Discord server](https://discord.com/invite/ZgUpYgpzXy);
- Follow us on [Twitter](https://twitter.com/ParcaDev);
- Read the [documentation](https://www.parca.dev/docs/overview).
🐛 Bug fixes
- ui: User preferences icon and release notes viewer bugfix by @manojVivek in https://github.com/parca-dev/parca/pull/2694
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.16.1...v0.16.2
🐛 Bug fixes
- Fix link sharing and updating queries when changing time selection. @monicawoj in https://github.com/parca-dev/parca/pull/2677
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.16.0...v0.16.1
📦 Enhancements
- Various components: Merges with Step Duration instead of Single Profile requests. @monicawoj and @metalmatze in https://github.com/parca-dev/parca/pull/2516
- api: Skip returning data to the frontend that will never be possible to be visualized in an Icicle graph. @manojVivek in https://github.com/parca-dev/parca/pull/2299
- api: Ensure pprof download is compatible with Go PGO. @brancz in https://github.com/parca-dev/parca/pull/2520
- ui: Add Github Star button and Release Notes Viewer which show the release notes within Parca UI. @manojVivek in https://github.com/parca-dev/parca/pull/2366
- ui: Persist even more of what is on-screen into the URL for shareability. @monicawoj in https://github.com/parca-dev/parca/pull/2115
- ui: Visualization Panels drag n drop feature. @monicawoj in https://github.com/parca-dev/parca/pull/2403
- ui: Binary based colored stack. @manojVivek in https://github.com/parca-dev/parca/pull/2381
- ui: Icicle graph - Hiding the mappingPrefix when there is only one mapping. @manojVivek in https://github.com/parca-dev/parca/pull/2564
- + 6 more
🐛 Bug fixes
- ui: Fix displaying targets error and handle scraper-only mode correctly. @brancz in https://github.com/parca-dev/parca/pull/2325
- ui: Fix false positive Profile has no samples message in visualisations. @yomete in https://github.com/parca-dev/parca/pull/2511
- ui: Add a button to clear search string after clicking on a table row. @yomete in https://github.com/parca-dev/parca/pull/2501
- ui: Fixed the unnecessary re-rendering of flamegraph. @manojVivek in https://github.com/parca-dev/parca/pull/2644
- scrape: Handle HTTP redirects with specific error correctly. @ShubhamPalriwala in https://github.com/parca-dev/parca/pull/2270
- debuginfo: Fix instantiation of upstream debuginfod servers. @brancz in https://github.com/parca-dev/parca/pull/2497
- api: Translate empty `""` matcher values to NULL. @metalmatze in https://github.com/parca-dev/parca/pull/2616
✨ New Contributors
- @ShubhamPalriwala made their first contribution in https://github.com/parca-dev/parca/pull/2270
- @zdyj3170101136 made their first contribution in https://github.com/parca-dev/parca/pull/2491
- @Franqsanz made their first contribution in https://github.com/parca-dev/parca/pull/2602
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.15.0...v0.16.0
💥 Breaking changes
- This release has a breaking change in the debuginfo upload protocol, which is only compatible with Parca Agent v0.11.0 or higher (more details in https://github.com/parca-dev/parca/pull/2248).
📋 Changes
- Fix semantics and rename http flag by @kakkoyun in https://github.com/parca-dev/parca/pull/2122
📦 Enhancements
- ft: `Filter by function` functionality added to ProfileView by @manojVivek in https://github.com/parca-dev/parca/pull/2062 https://github.com/parca-dev/parca/pull/2156 https://github.com/parca-dev/parca/pull/2236
- pkg/debuginfo: Always attempt to reupload corrupted files by @brancz in https://github.com/parca-dev/parca/pull/2101
- pkg/debuginfo: Better errors in uploads by @brancz in https://github.com/parca-dev/parca/pull/2113
- pkg/scrape: Allow profiles to be treated as already normalized by @brancz in https://github.com/parca-dev/parca/pull/2124
- ui: UI user preferences by @manojVivek in https://github.com/parca-dev/parca/pull/2158
- ui: Suggestion list scrolls with active suggestion by @manojVivek in https://github.com/parca-dev/parca/pull/2164
- ui: Query data caching on the Frontend by @manojVivek in https://github.com/parca-dev/parca/pull/2173
- ui: Add a reset zoom button for the call graph by @yomete in https://github.com/parca-dev/parca/pull/2249
- + 14 more
🐛 Bug fixes
- fix(deploy): fix local storage by @maxbrunet in https://github.com/parca-dev/parca/pull/2089
- ui: Fix escaped characters bug by @yomete in https://github.com/parca-dev/parca/pull/2198
- ui: URL encode label-values in single profile URL params by @brancz in https://github.com/parca-dev/parca/pull/2199
- fix query bar spacing bug by @monicawoj in https://github.com/parca-dev/parca/pull/2247
✨ New Contributors
- @fabxc made their first contribution in https://github.com/parca-dev/parca/pull/2220
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.14.0...v0.15.0
📦 Highlights
- This release features a few small improvements and bug fixes but the three main topics are:
- Massively improved API response size and latency allowing to merge ever more data at low latency.
- Improved autocomplete based on an Earley parser built using [nearley.js](https://nearley.js.org/).
- Various improvements to the callgraph visualization (still behind a feature flag but it's progressing nicely and we hope to release it without a feature flag soon).
📦 Enhancements
- Drastically reduce query response size by deduplicating objects and strings by @metalmatze and @brancz in #1976 #2065 #2064 #2063 #2059 #2057 #2055
- ui: Synchronize clicking on Top table and Icicle graph by @yomete in https://github.com/parca-dev/parca/pull/1999
- ui: Add label-value autocompletion based on parser by @brancz in https://github.com/parca-dev/parca/pull/2045
- While still behind a feature flag, there were various improvements to the callgraph visualization by @monicawoj and @manojVivek #1972, #1688, #2049
🐛 Bug fixes
- config: Ensure path_prefix comes with default pprof_config by @maxbrunet in #1959
- ui: Date picker timezone fix and minor UX improvement by @manojVivek in #2030
- API: Don't return empty label-values by @brancz in #2035
- symbolization: Fix handling of stripped Go binaries by @brancz in #2066
✨ New Contributors
- @cuishuang made their first contribution in https://github.com/parca-dev/parca/pull/2031
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.13.0...v0.14.0
📦 Highlights
- Create a Grafana plugin by @manojVivek in https://github.com/parca-dev/parca/pull/1918
- Publish releases as [snap](https://snapcraft.io/docs/installing-snap-on-ubuntu) packages by @jnsgruk in https://github.com/parca-dev/parca/pull/1488
- Callgraph visualization and API by @monicawoj & @manojVivek in https://github.com/parca-dev/parca/pull/1132 & https://github.com/parca-dev/parca/pull/1487
- Show agents on Targets page by @heylongdacoder & @metalmatze in https://github.com/parca-dev/parca/pull/1819 & https://github.com/parca-dev/parca/pull/1934
- Tons of updates with fixes and improvements to [FrostDB](https://github.com/polarsignals/frostdb/)
✨ New Contributors
- @jnsgruk made their first contribution in https://github.com/parca-dev/parca/pull/1431
- @PhilipGough made their first contribution in https://github.com/parca-dev/parca/pull/1455
- @boranx made their first contribution in https://github.com/parca-dev/parca/pull/1611
- @heylongdacoder made their first contribution in https://github.com/parca-dev/parca/pull/1658
- @TomHellier made their first contribution in https://github.com/parca-dev/parca/pull/1679
- @stefanvanburen made their first contribution in https://github.com/parca-dev/parca/pull/1675
- @danielqsj made their first contribution in https://github.com/parca-dev/parca/pull/1730
📋 What's Changed
- Create an initial ADOPTERS.md by @metalmatze in https://github.com/parca-dev/parca/pull/1378
- Merge Release 0.12 to main by @kakkoyun in https://github.com/parca-dev/parca/pull/1387
- ui/packages/shared: Sort ProfileTypes in Select dropdown by @metalmatze in https://github.com/parca-dev/parca/pull/1401
- pkg/profilestore: Return grpc InvalidArgument if profile is not unzippable by @metalmatze in https://github.com/parca-dev/parca/pull/1396
- *: Allow using persistence with WAL and object storage by @brancz in https://github.com/parca-dev/parca/pull/1403
- ui: Resetting the icicle graph selection when a new profile is selected by @manojVivek in https://github.com/parca-dev/parca/pull/1411
- pkg/query: Add benchmark for profile types queries by @brancz in https://github.com/parca-dev/parca/pull/1412
- pkg/parcacol: Improve encodings and compression by @brancz in https://github.com/parca-dev/parca/pull/1414
- + 97 more
📋 Changelog
- 9eca442cfa9a59bd0274e91d22230ccd7e2d1943: Fix cross-platform container builds (@kakkoyun)
- 6a0adf83080cab677d1858522e278a1aa67cc4c0: Fix health check binary download (@kakkoyun)
- c475f74be5f83fdb46f4b98b749b6d2e554cad46: Run actions on releases branches (@kakkoyun)
📝 Docker images
- `docker pull ghcr.io/parca-dev/parca:v0.12.1`
📦 Thanks!
- Join our [Discord server](https://discord.com/invite/ZgUpYgpzXy);
- Follow us on [Twitter](https://twitter.com/ParcaDev);
- Read the [documentation](https://www.parca.dev/docs/overview).
📦 Highlights
- 41a8b3003d8cf411cd57a36ac2c8201456c36112: *: Separate debuginfo and symbolizer components further (#1294) (@brancz)
- 5a13725901ff9869a0f58df252a9116ee3fb6196: UI: Added an option to share a specific profile publicly (@manojVivek)
- ef4418e29da117bd85712a6ceae564e20fd9d696: UI: Added loading state to the ProfileType selector (@manojVivek)
- cce0ed6edb66c7edeb18300ed1f0e7376ec17a08: UI: Dark mode fixes (@manojVivek)
- bf7236ed0ca4b6e7937bf5561f5f8d375b468afd: Extracted download pprof into a utility func (@manojVivek)
- 88edabeabf0814f2a534dc28d7a6d05e5e2f2a6f: debuginfo: Fix wrong error handling when the stream is closed (#1347) (@kakkoyun)
- 906a3c23bfa85a5819d025a2e5a0f1bdac8adb2d: Update FrostDB for Parca (#1278) (@metalmatze)
- 14acca118201c87b096646c666c3a20480bc509b: area/ui: Make node searching on Parca UI case insensitive (@yomete)
- + 12 more
📝 Docker images
- `docker pull ghcr.io/parca-dev/parca:v0.12.0`
📦 Thanks!
- Join our [Discord server](https://discord.com/invite/ZgUpYgpzXy);
- Follow us on [Twitter](https://twitter.com/ParcaDev);
- Read the [documentation](https://www.parca.dev/docs/overview).
✨ New Contributors
- @cpanato made their first contribution in https://github.com/parca-dev/parca/pull/1039
- @knrt10 made their first contribution in https://github.com/parca-dev/parca/pull/1043
- @avestuk made their first contribution in https://github.com/parca-dev/parca/pull/1071
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.11.0...v0.12.0
📦 Highlights
- 41a8b3003d8cf411cd57a36ac2c8201456c36112: *: Separate debuginfo and symbolizer components further (#1294) (@brancz)
- 5a13725901ff9869a0f58df252a9116ee3fb6196: UI: Added an option to share a specific profile publicly (@manojVivek)
- ef4418e29da117bd85712a6ceae564e20fd9d696: UI: Added loading state to the ProfileType selector (@manojVivek)
- cce0ed6edb66c7edeb18300ed1f0e7376ec17a08: UI: Dark mode fixes (@manojVivek)
- bf7236ed0ca4b6e7937bf5561f5f8d375b468afd: Extracted download pprof into a utility func (@manojVivek)
- 88edabeabf0814f2a534dc28d7a6d05e5e2f2a6f: debuginfo: Fix wrong error handling when the stream is closed (#1347) (@kakkoyun)
- 906a3c23bfa85a5819d025a2e5a0f1bdac8adb2d: Update FrostDB for Parca (#1278) (@metalmatze)
- 14acca118201c87b096646c666c3a20480bc509b: area/ui: Make node searching on Parca UI case insensitive (@yomete)
- + 11 more
📝 Docker images
- `docker pull ghcr.io/parca-dev/parca:v0.12.0-rc.0`
📦 Thanks!
- Join our [Discord server](https://discord.com/invite/ZgUpYgpzXy);
- Follow us on [Twitter](https://twitter.com/ParcaDev);
- Read the [documentation](https://www.parca.dev/docs/overview).
✨ New Contributors
- @cpanato made their first contribution in https://github.com/parca-dev/parca/pull/1039
- @knrt10 made their first contribution in https://github.com/parca-dev/parca/pull/1043
- @avestuk made their first contribution in https://github.com/parca-dev/parca/pull/1071
- @renovate made their first contribution in https://github.com/parca-dev/parca/pull/1163
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.11.0...v0.12.0-rc.0
🐛 Bug fix
- Using default date range when partial query params are found in the URL by @manojVivek in https://github.com/parca-dev/parca/pull/1057
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.11.0...v0.11.1
📋 What's Changed
- Add diffing to the Top Table by @metalmatze in https://github.com/parca-dev/parca/pull/872
- pkg/query: Sort list in aggregateTopByFunction by @importhuman in https://github.com/parca-dev/parca/pull/879
- Remove k8s namespace duplicate by @marselester in https://github.com/parca-dev/parca/pull/884
- area/ui: Only show the diff column for the Top table when comparing by @yomete in https://github.com/parca-dev/parca/pull/885
- Validate labels for profiles received by @Sylfrena in https://github.com/parca-dev/parca/pull/842
- *: Integrate ArcticDB by @brancz in https://github.com/parca-dev/parca/pull/891
- pkg/query: Fix diffing for distinct stacktraces by @brancz in https://github.com/parca-dev/parca/pull/941
- pkg/query: Fix incorrect aggregation of flat values in table by @brancz in https://github.com/parca-dev/parca/pull/956
- + 4 more
✨ New Contributors
- @marselester made their first contribution in https://github.com/parca-dev/parca/pull/884
- @javierhonduco made their first contribution in https://github.com/parca-dev/parca/pull/886
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.10.0...v0.11.0
📦 Highlights
- ui: Time Picker relative time ranges need to be positive by @metalmatze in https://github.com/parca-dev/parca/pull/827
- ui: Sort Targets by URL, make job name bigger by @metalmatze in https://github.com/parca-dev/parca/pull/833
- ui/grpc: Added provision to pass grpc metadata in @parca/components by @manojVivek in https://github.com/parca-dev/parca/pull/816
- ui: Add rounded MatcherInput labels by @metalmatze in https://github.com/parca-dev/parca/pull/836
- ui: Moved metric graph fill style from global to component level by @manojVivek in https://github.com/parca-dev/parca/pull/838
- debuginfo: Fix several minor issues by @kakkoyun in https://github.com/parca-dev/parca/pull/839
- debuginfo/client: Fix error handling by @kakkoyun in https://github.com/parca-dev/parca/pull/846
- pkg/query: Add stripEmptyNodes helper for flamegraphs by @metalmatze in https://github.com/parca-dev/parca/pull/844
📋 Changelog
- a56fde576c8c52a02c715791fd7a5f68ff11af86: Fix error handling (@kakkoyun)
- b30f8b4b173b331cb5929f5ee1f76183740e6a51: Fix jsonnet action triggers (@kakkoyun)
- bfc219f051714f93f847f91d5df94b37773f9501: Fix several minor issues (@kakkoyun)
- ad60c5e12816f2a497381eada5c001d3a1f213b7: Update local dev manifests (@kakkoyun)
- e594bfd75e5cbf9483bbc84ad465c0937479b38d: pkg/query: Add stripEmptyNodes helper for flamegraphs (@metalmatze)
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.9.0...v0.10.0
📝 Docker images
- `docker pull ghcr.io/parca-dev/parca:v0.10.0`
📦 Thanks!
- Join our [Discord server](https://discord.com/invite/ZgUpYgpzXy);
- Follow us on [Twitter](https://twitter.com/ParcaDev);
- Read the [documentation](https://www.parca.dev/docs/overview).
📦 Highlights
- ui/logo: Parca logos fixed for dark mode by @manojVivek in https://github.com/parca-dev/parca/pull/665
- pkg/profile: Ignore samples that have no locations by @brancz in https://github.com/parca-dev/parca/pull/666
- Migration to Redux Toolkit by @monicawoj in https://github.com/parca-dev/parca/pull/661
- symbolizer: Make sure vendored debug/elf used by @kakkoyun in https://github.com/parca-dev/parca/pull/675
- ui/datePicker: Date Range Picker uses UTC as the timezone by @manojVivek in https://github.com/parca-dev/parca/pull/679
- feat: remove threadcreate profiles by @me-diru in https://github.com/parca-dev/parca/pull/680
- area/ui: Fix z-index issues with tooltips by @yomete in https://github.com/parca-dev/parca/pull/677
- deploy: Remove amd64 node requirement by @brancz in https://github.com/parca-dev/parca/pull/688
- + 31 more
✨ New Contributors
- @me-diru made their first contribution in https://github.com/parca-dev/parca/pull/680
- @importhuman made their first contribution in https://github.com/parca-dev/parca/pull/717
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.8.0...v0.9.0
📝 Docker images
- `docker pull ghcr.io/parca-dev/parca:v0.9.0`
📦 Thanks!
- Join our [Discord server](https://discord.com/invite/ZgUpYgpzXy);
- Follow us on [Twitter](https://twitter.com/ParcaDev);
- Read the [documentation](https://www.parca.dev/docs/overview).
📋 What's Changed
- ui/logo: Parca logos fixed for dark mode by @manojVivek in https://github.com/parca-dev/parca/pull/665
- pkg/profile: Ignore samples that have no locations by @brancz in https://github.com/parca-dev/parca/pull/666
- Migration to Redux Toolkit by @monicawoj in https://github.com/parca-dev/parca/pull/661
- symbolizer: Make sure vendored debug/elf used by @kakkoyun in https://github.com/parca-dev/parca/pull/675
- ui/datePicker: Date Range Picker uses UTC as the timezone by @manojVivek in https://github.com/parca-dev/parca/pull/679
- feat: remove threadcreate profiles by @me-diru in https://github.com/parca-dev/parca/pull/680
- area/ui: Fix z-index issues with tooltips by @yomete in https://github.com/parca-dev/parca/pull/677
- deploy: Remove amd64 node requirement by @brancz in https://github.com/parca-dev/parca/pull/688
- + 1 more
✨ New Contributors
- @me-diru made their first contribution in https://github.com/parca-dev/parca/pull/680
- Full Changelog: https://github.com/parca-dev/parca/compare/v0.8.0...v0.8.1
