Releases: parca-dev/parca
v0.14.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.
- 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 #1999
- ui: Add label-value autocompletion based on parser by @brancz in #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 #2031
Full Changelog: v0.13.0...v0.14.0
v0.13.0
Highlights
- Create a Grafana plugin by @manojVivek in #1918
- Publish releases as snap packages by @jnsgruk in #1488
- Callgraph visualization and API by @monicawoj & @manojVivek in #1132 & #1487
- Show agents on Targets page by @heylongdacoder & @metalmatze in #1819 & #1934
- Tons of updates with fixes and improvements to FrostDB
New Contributors
- @jnsgruk made their first contribution in #1431
- @philipgough made their first contribution in #1455
- @boranx made their first contribution in #1611
- @heylongdacoder made their first contribution in #1658
- @TomHellier made their first contribution in #1679
- @stefanvanburen made their first contribution in #1675
- @danielqsj made their first contribution in #1730
What's Changed
- Create an initial ADOPTERS.md by @metalmatze in #1378
- Merge Release 0.12 to main by @kakkoyun in #1387
- ui/packages/shared: Sort ProfileTypes in Select dropdown by @metalmatze in #1401
- pkg/profilestore: Return grpc InvalidArgument if profile is not unzippable by @metalmatze in #1396
- *: Allow using persistence with WAL and object storage by @brancz in #1403
- ui: Resetting the icicle graph selection when a new profile is selected by @manojVivek in #1411
- pkg/query: Add benchmark for profile types queries by @brancz in #1412
- pkg/parcacol: Improve encodings and compression by @brancz in #1414
- grpc/ui: Metadata support for the Share Profile request by @manojVivek in #1416
- area/ui: Use batch to prevent multiple rerenders by @yomete in #1418
- ui: 'd3' related deps cleanup by @manojVivek in #1422
- *: Update frostdb and adapt query interface changes by @brancz in #1428
- ci/ui: Using a separate token for UI package publish by @manojVivek in #1430
- fix: stop error on profile with no location id by @jnsgruk in #1431
- docs: add jnsgruk as a contributor for code by @allcontributors in #1436
- misc: Local dev fixes by @manojVivek in #1438
- *: Add more distributed tracing for querying data by @brancz in #1441
- Improve normalization: dedup samples and locations by @brancz in #1450
- *: Denormalize location lines by @brancz in #1471
- pkg/parcacol: Ensure process labels don't overlap with profile labels by @brancz in #1469
- badger: Retry large txn as multiple txns by @philipgough in #1455
- docs: add PhilipGough as a contributor for code by @allcontributors in #1477
- Profile view refactoring - Separated data fetching and rendering logics. by @manojVivek in #1474
- *: Allow paginating unsymbolized locations by @brancz in #1480
- ci: fix Go arm64 download for new minor releases by @maxbrunet in #1492
- doc: add instructions for snapcraft tokens by @jnsgruk in #1505
- ci: tweak conditional for publishing snap to edge by @jnsgruk in #1506
- ci: Fix snap action trigger by @kakkoyun in #1509
- ci: fix snapcraft upload by @jnsgruk in #1510
- fix: lint all code by @maxbrunet in #1511
- ci: cancel previous in-progress workflows by @maxbrunet in #1514
- docs: add maxbrunet as a contributor for infra by @allcontributors in #1521
- .github: Create CODEOWNERS by @kakkoyun in #1518
- ci: set up pre-commit by @maxbrunet in #1495
- ci: fix eslint plugins by @maxbrunet in #1533
- Shutdown persistence by @thorfour in #1540
- pkg/parcacol: Refactor column store specifics out of API by @brancz in #1554
- pkg/parcacol: Export error fields by @brancz in #1560
- ci: fix CodeQL analysis by @maxbrunet in #1564
- Bump FrostDB by @thorfour in #1563
- fix(ui): run eslint --fix by @maxbrunet in #1542
- pkg/parcacol: Use LZ4 compression by @metalmatze in #1571
- fix(ui): address all problems reported by ESLint by @maxbrunet in #1573
- ui: Fix flickering on Parca UI by @yomete in #1575
- scripts/local-tracings: Update otel-collector config by @metalmatze in #1595
- fix(ui): enforce @typescript-eslint/explicit-function-return-type by @maxbrunet in #1578
- doc: Added doc for the UI Feature flags by @manojVivek in #1608
- ui: Fixed the unnecessary re-render of MetrixGraph when a timestamp is selected by @manojVivek in #1600
- proto/gen: Proto gen files for query functionality in sharing service by @manojVivek in #1612
- pkg/debuginfo: Add more tracing for debuginfo requests by @brancz in #1609
- bug: exit when store-address is set and the mode is not scraper-only by @boranx in #1611
- docs: add boranx as a contributor for code by @allcontributors in #1624
- ui: Refactoring ProfileTypeSelector into a standalone component and Proto files generation by @manojVivek in #1628
- proto/gen: Share profile query proto by @manojVivek in #1643
- ci: fix version parsing for container builds by @jnsgruk in #1638
- Pass tracer into FrostDB and update callback functions by @metalmatze in #1603
- ci: fix pre-commit on main branch by @maxbrunet in #1646
- symbolizer: Add metrics by @marselester in #1640
- pkg/profilestore: reject requests that have duplicate label names by @heylongdacoder in #1658
- Fix eslint errors by @monicawoj in #1613
- pkg/scrape: fix manager reload potential deadlock by @heylongdacoder in #1678
- docs: add heylongdacoder as a contributor for code by @allcontributors in #1681
- pkg/symbol: Prevent redundant ELF file openings by @marselester in #1665
- bump frostdb by @thorfour in #1682
- ui: Refactoring downloadPProf out of
ProfileView
to parent and passed in as props by @manojVivek in #1677 - ui: Exporting
Callgraph
as a dynamically imported component using React.Lazy by @manojVivek in #1686 - pkg/symbol: Add docs by @marselester in #1691
- #1656 - add pathprefix to api grpcmux by @TomHellier in #1679
- fix(ui): type all the things (strict mode) by @maxbrunet in #1632
- ui: Flickering loader bugfix by @manojVivek in #1705
- ui: Profile type selector enhancement for flexible well known profile types matching by @manojVivek in #1706
- Run
buf mod update
by @stefanvanburen in #1675 - ci(pre-commit): run on all files when config changes by @maxbrunet in #1683
- ui: Improve querying experience by @yomete in #1645
- Don't use a path prefix when in development mode by @yomete in #1712
- pkg/metastore,pkg/debuginfo bump retries and maxmsgsize by @s-urbaniak in #1724
- fix: set the granule size option in FrostDB by @thorfour in #1726
- fix ingest validatePprofProfile log by @danielqsj in #1730
- bump frostdb for dist...
v0.12.1
Changelog
- 9eca442: Fix cross-platform container builds (@kakkoyun)
- 6a0adf8: Fix health check binary download (@kakkoyun)
- c475f74: Run actions on releases branches (@kakkoyun)
Docker images
docker pull ghcr.io/parca-dev/parca:v0.12.1
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.12.0
Highlights
- 41a8b30: *: Separate debuginfo and symbolizer components further (#1294) (@brancz)
- 5a13725: UI: Added an option to share a specific profile publicly (@manojVivek)
- ef4418e: UI: Added loading state to the ProfileType selector (@manojVivek)
- cce0ed6: UI: Dark mode fixes (@manojVivek)
- bf7236e: Extracted download pprof into a utility func (@manojVivek)
- 88edabe: debuginfo: Fix wrong error handling when the stream is closed (#1347) (@kakkoyun)
- 906a3c2: Update FrostDB for Parca (#1278) (@metalmatze)
- 14acca1: area/ui: Make node searching on Parca UI case insensitive (@yomete)
- f3088f2: area/ui: Revert version bump to @typescript-eslint monorepo (#1308) (@yomete)
- 9445048: debuginfo/client: Fix grpc: received message larger than max error (#1348) (@kakkoyun)
- 911fda5: debuginfo: Improve debuginfo quality checking using metadata (#1157) (@kakkoyun)
- 5dd4744: go.mod: Update frostdb and parquet-go (#1362) (@brancz)
- 4334442: pkg/debuginfo: Simplify debuginfod object storage configuration (@brancz)
- d6ddb29: pkg/parcacol: Fix potential schema inconsistencies (@brancz)
- 9cf9c21: pkg/symbol: Add debuginfo file being handled to log lines (#1338) (@brancz)
- 3b5fea7: pkg/symbol: Fix logger initialization (@brancz)
- 016af0a: pkg/symbolizer: Add more debug logging (@brancz)
- 1983a63: pkg/symbolizer: Don't attempt symbolizing unsymbolizable mappings (#1346) (@brancz)
- b412174: ui: Sort targets on Targets page (#1336) (@metalmatze)
- pkg/query: Handle queries when no columns are found by @metalmatze in #1369
Docker images
docker pull ghcr.io/parca-dev/parca:v0.12.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
New Contributors
- @cpanato made their first contribution in #1039
- @knrt10 made their first contribution in #1043
- @avestuk made their first contribution in #1071
Full Changelog: v0.11.0...v0.12.0
v0.12.0-rc.0
Highlights
- 41a8b30: *: Separate debuginfo and symbolizer components further (#1294) (@brancz)
- 5a13725: UI: Added an option to share a specific profile publicly (@manojVivek)
- ef4418e: UI: Added loading state to the ProfileType selector (@manojVivek)
- cce0ed6: UI: Dark mode fixes (@manojVivek)
- bf7236e: Extracted download pprof into a utility func (@manojVivek)
- 88edabe: debuginfo: Fix wrong error handling when the stream is closed (#1347) (@kakkoyun)
- 906a3c2: Update FrostDB for Parca (#1278) (@metalmatze)
- 14acca1: area/ui: Make node searching on Parca UI case insensitive (@yomete)
- f3088f2: area/ui: Revert version bump to @typescript-eslint monorepo (#1308) (@yomete)
- 9445048: debuginfo/client: Fix grpc: received message larger than max error (#1348) (@kakkoyun)
- 911fda5: debuginfo: Improve debuginfo quality checking using metadata (#1157) (@kakkoyun)
- 5dd4744: go.mod: Update frostdb and parquet-go (#1362) (@brancz)
- 4334442: pkg/debuginfo: Simplify debuginfod object storage configuration (@brancz)
- d6ddb29: pkg/parcacol: Fix potential schema inconsistencies (@brancz)
- 9cf9c21: pkg/symbol: Add debuginfo file being handled to log lines (#1338) (@brancz)
- 3b5fea7: pkg/symbol: Fix logger initialization (@brancz)
- 016af0a: pkg/symbolizer: Add more debug logging (@brancz)
- 1983a63: pkg/symbolizer: Don't attempt symbolizing unsymbolizable mappings (#1346) (@brancz)
- b412174: ui: Sort targets on Targets page (#1336) (@metalmatze)
Docker images
docker pull ghcr.io/parca-dev/parca:v0.12.0-rc.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
New Contributors
- @cpanato made their first contribution in #1039
- @knrt10 made their first contribution in #1043
- @avestuk made their first contribution in #1071
- @renovate made their first contribution in #1163
Full Changelog: v0.11.0...v0.12.0-rc.0
v0.11.1
Bug fix
- Using default date range when partial query params are found in the URL by @manojVivek in #1057
Full Changelog: v0.11.0...v0.11.1
v0.11.0
Highlights
This release introduces and switches all of Parca to use arcticDB
a columnar database specifically built for Parca.
What's Changed
- Add diffing to the Top Table by @metalmatze in #872
- pkg/query: Sort list in aggregateTopByFunction by @importhuman in #879
- Remove k8s namespace duplicate by @marselester in #884
- area/ui: Only show the diff column for the Top table when comparing by @yomete in #885
- Validate labels for profiles received by @Sylfrena in #842
- *: Integrate ArcticDB by @brancz in #891
- pkg/query: Fix diffing for distinct stacktraces by @brancz in #941
- pkg/query: Fix incorrect aggregation of flat values in table by @brancz in #956
- Remove tsdb & introduce profile types by @brancz in #990
- parca.yaml: Add explanation of additional endpoints to example config by @brancz in #991
- area/ui: Fix bug in top table sorting by @yomete in #1009
- area/ui: Add legend to icicle graph when comparing profiles by @yomete in #993
New Contributors
- @marselester made their first contribution in #884
- @javierhonduco made their first contribution in #886
Full Changelog: v0.10.0...v0.11.0
v0.10.0
Highlights
- ui: Time Picker relative time ranges need to be positive by @metalmatze in #827
- ui: Sort Targets by URL, make job name bigger by @metalmatze in #833
- ui/grpc: Added provision to pass grpc metadata in @parca/components by @manojVivek in #816
- ui: Add rounded MatcherInput labels by @metalmatze in #836
- ui: Moved metric graph fill style from global to component level by @manojVivek in #838
- debuginfo: Fix several minor issues by @kakkoyun in #839
- debuginfo/client: Fix error handling by @kakkoyun in #846
- pkg/query: Add stripEmptyNodes helper for flamegraphs by @metalmatze in #844
Changelog
- a56fde5: Fix error handling (@kakkoyun)
- b30f8b4: Fix jsonnet action triggers (@kakkoyun)
- bfc219f: Fix several minor issues (@kakkoyun)
- ad60c5e: Update local dev manifests (@kakkoyun)
- e594bfd: pkg/query: Add stripEmptyNodes helper for flamegraphs (@metalmatze)
Full Changelog: v0.9.0...v0.10.0
Docker images
docker pull ghcr.io/parca-dev/parca:v0.10.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.9.0
Highlights
- ui/logo: Parca logos fixed for dark mode by @manojVivek in #665
- pkg/profile: Ignore samples that have no locations by @brancz in #666
- Migration to Redux Toolkit by @monicawoj in #661
- symbolizer: Make sure vendored debug/elf used by @kakkoyun in #675
- ui/datePicker: Date Range Picker uses UTC as the timezone by @manojVivek in #679
- feat: remove threadcreate profiles by @me-diru in #680
- area/ui: Fix z-index issues with tooltips by @yomete in #677
- deploy: Remove amd64 node requirement by @brancz in #688
- area/ui: Fix selecting multiple labels breaking the UI by @yomete in #676
- ui/packages/shared/profile: Use similar function from flamegraph to build node label by @metalmatze in #691
- ui: Extracted @parca/components package with common and useful UI components. by @manojVivek in #692
- area/ui: Remove Bootstrap step in publish.yml file by @yomete in #694
- proto: Update buf dependencies by @metalmatze in #697
- Fix loading animation by @monicawoj in #696
- feat: convert moment.js to date-fns by @me-diru in #681
- pkg/profilestore: Add a Parca scraper-only mode that forwards via gRPC by @metalmatze in #699
- debuginfo: Fix several issues with debuginfod client by @kakkoyun in #704
- Update getting started steps by @importhuman in #717
- docs: add importhuman as a contributor for doc by @allcontributors in #722
- pkg/scrape: Add externalLabels for scrape-only mode by @metalmatze in #706
- feat: empty state container for targets page by @monicawoj in #718
- Dependency clean-up and component path fix. by @manojVivek in #754
- Upgrade build pipeline to go 1.17 by @kakkoyun in #758
- metadata: Remove sqlite backend for metadata storage by @kakkoyun in #759
- pkg: Rename FlatProfile to Profile by @importhuman in #709
- deploy: Update container args for tilt setup by @importhuman in #761
- Use correct base images for correct architecture by @kakkoyun in #763
- Fixed the issue with shift+click on the labels by @manojVivek in #768
- debuginfo: Prevent redundant debug info uploads by @kakkoyun in #767
- area/ui: Add label-value autocompletion by @yomete in #743
- pkg: Fix flaky test for query range by @importhuman in #787
- symbolizer: Symtab liner by @kakkoyun in #793
- area/ui: Export ButtonColor in shared components by @yomete in #796
- symbolization: Several fixes by @kakkoyun in #799
- *: Fix address normalization by @kakkoyun in #806
- go.mod: Remove direct Thanos dependency by @brancz in #804
- symbolizer+proto: Make sure server always have the best version of the debug info file by @kakkoyun in #809
- debuginfo: Add hash to client APIs by @kakkoyun in #810
- debuginfo: Fix issues with debuginfod client by @kakkoyun in #813
New Contributors
- @me-diru made their first contribution in #680
- @importhuman made their first contribution in #717
Full Changelog: v0.8.0...v0.9.0
Docker images
docker pull ghcr.io/parca-dev/parca:v0.9.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.8.1
What's Changed
- ui/logo: Parca logos fixed for dark mode by @manojVivek in #665
- pkg/profile: Ignore samples that have no locations by @brancz in #666
- Migration to Redux Toolkit by @monicawoj in #661
- symbolizer: Make sure vendored debug/elf used by @kakkoyun in #675
- ui/datePicker: Date Range Picker uses UTC as the timezone by @manojVivek in #679
- feat: remove threadcreate profiles by @me-diru in #680
- area/ui: Fix z-index issues with tooltips by @yomete in #677
- deploy: Remove amd64 node requirement by @brancz in #688
- area/ui: Fix selecting multiple labels breaking the UI by @yomete in #676
New Contributors
Full Changelog: v0.8.0...v0.8.1