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 distinct fixes by @asubiotto in #1745
- Update FrostDB and use Go 1.19 by @metalmatze in #1764
- ui: Circular dependency removal and typescript transpiling in the published packages by @manojVivek in #1769
- pkg/parca: Add logging for received signal by @brancz in #1774
- parca: cancel parcaserver application context when handling an interrupt by @asubiotto in #1775
- ci(pre-commit): set up golangci-lint cache by @maxbrunet in #1727
- share: Share grpc query exposes profile description and grpc versioning by @manojVivek in #1770
- ci: Publish action fix by @manojVivek in #1781
- ui:
@parca/functions
package version discrepancy fixed by @manojVivek in #1783 - area/ui: Show build id when available by @yomete in #1717
- Flag expose rowgroups by @thorfour in #1799
- ui: Add a watch mode for
tsc
by @yomete in #1829 - Use tsc-watch to watch TypeScript files and compile Tailwind files. by @yomete in #1862
- ci(ui): remove usage of set-output workflow command by @maxbrunet in #1871
- ui: Update Parca pkgs versions correctly by @yomete in #1881
- Add react-datepicker to shared/components by @yomete in #1883
- ui: @parca/parser deps fixed by @manojVivek in #1909
- ci: Disabling cancel-in-progress for Publish UI components workflow by @manojVivek in #1910
- deps: update frostdb to 4144e19 by @asubiotto in #1919
- ui: Truncate build Id text by @yomete in #1921
- Fix elf based symbolization by @javierhonduco in #1930
- ui: Use BigInt to represent 64 bit addresses by @javierhonduco in #1932
- pkg/profilestore: Reuse buffers in the ingest path by @brancz in #1931
- grafana-plugin: Readme and Screenshots updated by @manojVivek in #1933
- grafana-plugin: Removed html code from README.md by @manojVivek in #1938
- UI: Show agents on Targets page by @metalmatze in #1934
Full Changelog: v0.12.1...v0.13.0