Releases: parca-dev/parca-agent
v0.21.0
Changelog
Features
- Enable arm64 unwinding with frame pointers by @javierhonduco in #1805
Improvements
- Always include all architectures of BPF programs by @brancz in #1809
- *: Fix arm64 builds to choose correct BPF file by @brancz in #1807
Fixes
- Fix JITDump symbolization edge-case by @brancz in #1812
- use error.As() by @Sylfrena in #1810
- Increase default object file pool size and improve error by @brancz in #1800
Misc
- ci(release): update latest tag by @maxbrunet in #1787
- Add analytics by @brancz in #1803
Full Changelog: v0.20.0...v0.21.0
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.21.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.20.0
This Parca Agent release includes three main additions:
- Improved support for short lived processes.
- Add support for unwinding mixed stacks (JIT/DWARF/frame-pointer).
- Various metadata stability improvements.
Apart from these dozens of parca Agent performance improvements landed.
Happy profiling!
— Parca Maintainers
Changelog
- Add Go package to interact with libasyncprofiler by @v-thakkar in #1512
- chore: Disable deprecated linters by @v-thakkar in #1601
- pkg/asyncprofiler: Refactor NewAsyncProfiler to use functional options by @v-thakkar in #1603
- Overhaul process info discovery by @kakkoyun in #1507
- local dev/testing: Add missing dependencies for local tilt test setup by @kakkoyun in #1610
- pkg/asyncprofiler: Fix options format in SetAction by @v-thakkar in #1609
- *: Fetch labels at the first encounter with a process by @kakkoyun in #1611
- chore(container): add commit timestamp to image tag by @maxbrunet in #1621
- cpu.go: Show error if there's an error loading the BPF code by @javierhonduco in #1620
- Upgrade libbpfgo to
80f41e18e690
by @javierhonduco in #1622 - Profile correctness tests by @javierhonduco in #1627
- tests: Move integration tests to their own dir by @javierhonduco in #1629
- chore: Remove exclude-rules for the arguments pkg by @v-thakkar in #1630
- *: Remove retry limit and fix race conditions around ObjectFile by @kakkoyun in #1623
- pkg/perf: Optimize perf map parsing by @brancz in #1650
- build(container): add metadata labels by @maxbrunet in #1656
- internal/pprof: Remove unused vendored pprof packages by @javierhonduco in #1652
- Do not normalize addresses from JIT'd code by @javierhonduco in #1651
- tests/integration: Improve assertions by @javierhonduco in #1660
- deploy/tilt(dev): Add and configure kube-prometheus for local dev cluster by @kakkoyun in #1661
- *: Fix metadata caching issues by @kakkoyun in #1653
- Bump github.com/docker/distribution from 2.8.1+incompatible to 2.8.2+incompatible by @dependabot in #1636
- pkg/perf: Reduce allocs in ReadMap when parsing a large file by @marselester in #1669
- pkg/discovery: Handle multi-target discovery groups properly by @kakkoyun in #1682
- main: Add pprof config flags by @kakkoyun in #1683
- metadata/debuginfo: Add a flag to disable caching for metadata and debuginfo components by @kakkoyun in #1685
- pkg/cpu: Fix variable shadowing of error value by @Sylfrena in #1688
- *: Add inital tracing support using OTel (local testing using jaeger) by @kakkoyun in #1684
- *: Remove unbounded caches by @kakkoyun in #1672
- *: Add metrics, everywhere by @kakkoyun in #1634
- chore(local-observability): use release container image tags by @maxbrunet in #1700
- bpf: Add mixed-mode unwinding for JIT sections by @Sylfrena in #1670
- Use libbpf's cpu number helper by @javierhonduco in #1709
- objectfile: Fix concurrent read and premature close issues by @kakkoyun in #1689
- go.*/gprc: Upgrade grpc middlewares by @kakkoyun in #1715
- *: Add native histograms by @kakkoyun in #1717
- Enable native histograms for local promethei by @kakkoyun in #1718
- *: Separate obtaining raw data and pprof conversion by @brancz in #1716
- pkg/maps: Don't report not ELF errors by @brancz in #1724
- Disable RPC logging by default by @kakkoyun in #1725
- Use more conventional naming by @kakkoyun in #1728
- grpc: Fix codec issue causes kubernetes metadata problems by @kakkoyun in #1729
- pkg/process: Save whether mapping contains debuginfo to upload by @brancz in #1730
- pkg/profiler/cpu: Prevent creating unnecessary closure by @brancz in #1731
- bpf: enable JIT unwinding by default by @Sylfrena in #1727
- Refactor converter component by @kakkoyun in #1734
- *: Introduce lightweight LRU cache and use in hotpaths by @brancz in #1732
- debuginfo/manager: Exclude the time to wait for goroutines turn by @kakkoyun in #1739
- fix(config): fix reloading config from Kubernetes ConfigMap by @maxbrunet in #1735
- buildid: Simplify and optimize build id extraction by @kakkoyun in #1740
- pkg/process: Ensure debuginfo is uploaded by @brancz in #1743
- pkg/process: Filter mappings to only consider executable sections by @brancz in #1745
- pkg/process: Fix race by @brancz in #1746
- *: Remove 3rd-party multi-error packages by @kakkoyun in #1755
- tests/integration: enable in CI by @javierhonduco in #1758
- tests/integration: Fix stackContains by @javierhonduco in #1763
- cpu/process info: Reject inflight requests by @kakkoyun in #1765
- *: Remove burrow.Cache use cache.LRU instead by @kakkoyun in #1760
- maps/vdso: Simplify Base Address calculation by @kakkoyun in #1768
- Upgrade ainur by @kakkoyun in #1771
- *: Simplify ObjectFile life-cycle by @kakkoyun in #1770
- *: Avoid constant recreation of goroutines by @kakkoyun in #1759
- Use puzpuzpuz/xsync instead of sync.Map by @kakkoyun in #1772
- Improve Process Info cache performance by @kakkoyun in #1773
- Add a flag to configure RPC unary timeout by @kakkoyun in #1775
- Add a flag to control object file pool size by @kakkoyun in #1776
- Do not cache process info if we failed to read a mapping by @kakkoyun in #1777
- Add flags to control perf event buffer event handling by @kakkoyun in #1778
Full Changelog: v0.19.0...v0.20.0
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.20.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.19.0
Changelog
Improvements
- perf(grpc): use optimized code from vtprotobuf by @maxbrunet in #1581
- ksym: Introduce disk-based symbolizer, reducing mem usage by ~15% by @javierhonduco in #1587
- profiler: Reduce mem usage in maps with no filters by @javierhonduco in #1588
- unwinder/native: Remove polling mode by @javierhonduco in #1583
Full Changelog: v0.18.0...v0.19.0
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.19.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.18.0
Changelog
Fixes*
- Fix race in unwind information state by @javierhonduco in #1576
- Move fdtransfer to target directory by @v-thakkar in #1578
Minor Changes
- build: Pass sanitizers in debug build by @javierhonduco in #1577
Full Changelog: v0.17.2...v0.18.0
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.18.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.17.2
Changelog
Fixes
Minor Changes
- Hidden flag to disable address normalization for debugging by @marselester in #1534
Full Changelog: v0.17.1...v0.17.2
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.17.2
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.17.1
Changelog
Fixes
- Add cache stat metrics by @kakkoyun in #1521
- pkg/debuginfo: Fix extraction logic by @brancz in #1533
Full Changelog: v0.17.0...v0.17.1
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.17.1
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.17.0
Changelog
Features:
Enhancements:
- vmtest: Update packages by @javierhonduco in #1517
Bug fixes:
- pkg/discovery: Fix panic when systemd gets corrupted header by @marselester in #1513
- cmd/parca-agent: Make sure log format flag is used by @kakkoyun in #1506
- cmd/parca-agent: Fix debuginfo flags struct by @brancz in #1523
- pkg/profiler/cpu: Fix condition for RequestUnwindInformation by @javierhonduco in #1519
Full Changelog: v0.16.0...v0.17.0
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.17.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.16.0
Changelog
Enhancements:
- symbolizer: Add flag to disable JIT symbolization by @kakkoyun in #1504
- cmd/parca-agent: Refactor flag structs by @kakkoyun in #1503
- pkg/profiler/cpu: Downgrade process name reading error by @javierhonduco in #1492
Bug fixes:
- pkg/profiler: Reset process information if full by @javierhonduco in #1502
Full Changelog: v0.15.0...v0.16.0
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.16.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.15.0
Changelog
Features:
- *: Populate process mappings on-demand by @javierhonduco in #1457
- Add arguments package generated by SWIG tool by @v-thakkar in #1464
Enhancements:
- pkg/debuginfo: Add plt symbol by @zdyj3170101136 in #1351
- pkg/debuginfo: add content length by @zdyj3170101136 in #1481
- pkg/vdso: Support vdso mapping by @zdyj3170101136 in #1455
- pkg/stack/unwind: Filter out jitdump mappings by @javierhonduco in #1477
Bug fixes:
- unwinder/native: Discard stacks with just one frame by @javierhonduco in #1478
- profiler: Improve normalization errors handling by @javierhonduco in #1476
- unwinder/native: Refresh process information by @javierhonduco in #1483
- fix/objectfile: compute right cache key by @zdyj3170101136 in #1454
Full Changelog: v0.14.0...v0.15.0
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.15.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.14.0
Changelog
Features:
- c1e10cc: Discover java processes via hsperfdata (@v-thakkar)
Enhancements:
- 836c146: pkg/discovery: Move github.com/marselester/systemd (#1453) (@marselester)
- bb304d6: Draft of systemd discoverer with less allocs (@marselester)
- 1135ac5: Upgrage libbpf, libbpfgo and go (#1293) (@kakkoyun)
- 0ef6ec6: Adjust log level for "failed to list threads" (@mkuratczyk)
- ed1f20c: Replace systemd discoverer (@marselester)
- 3fb4b39: bpf: Bump max mappings per process to 250 (@javierhonduco)
- f8692ab: bpf: Increase total stats after we've showed them (#1400) (@javierhonduco)
- fcdfbe7: bpf: Print PID on unwind info requests (#1401) (@javierhonduco)
- 863d4ab: build/nix-shell: Use LLVM 14 (@javierhonduco)
Bug fixes:
- 54f2a69: Fix archive filename template (#1404) (@kakkoyun)
- 1727ab5: ci: Do not skip checks if BPF programs or the vmtests change (@javierhonduco)
Full Changelog: v0.13.0...v0.14.0
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.14.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.