Releases: parca-dev/parca-agent
v0.25.1
This release is a small improvement over v0.25.0 which improves performance and lowers/removes large memory spikes.
Changelog
Fixes
- *: Add more CPU profiler metrics by @kakkoyun in #2041
- bpf: rate limit events by @javierhonduco in #2040
- pkg/process: Only keep executable mappings by @brancz in #2050
- unwinder/native: Accomodate larger program due to rate limits by @javierhonduco in #2059
- deps: Upgrade prometheus/procfs by @javierhonduco in #2061
Breaking changes
--verbose-bpf-logging
is now --bpf-verbose-logging
Full Changelog: v0.25.0...v0.25.1
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.28.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.25.0
Changelog
Features
Fixes
- objectfile: Remove panics by @kakkoyun in #2032
- pkg/cache: Fix data races by @javierhonduco in #2031
Enhancements
- Reduce size of object pool by @javierhonduco in #2028
- Add panic reporting by @javierhonduco in #2026
Full Changelog: v0.24.0...v0.25.0
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.25.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.24.0
Changelog
Features
- Add initial Ruby support by @javierhonduco in #1933
- Add initial Python Support by @kakkoyun in #1984
- pkg/stack/unwind: Add unwind tables support for Arm64 by @Sylfrena in #1953
- Add support for parsing v8 symbols by @brancz in #2021
Fixes
- pkg/convert: Fix locations by @zdyj3170101136 in #1905
- Fix warning by @Sylfrena in #1910
- fix(cache): ensure LoadingOnceCache can only load once by @maxbrunet in #1998
Enhancements
- Ensure we are running under root by @javierhonduco in #1992
- Detect the agent running in a non-root PID namespace by @javierhonduco in #1993
- unwinding: Move compact unwind table generation by @javierhonduco in #1958
- pkg/perf: More robust perf map parsing by @brancz in #1994
- Don't perform address normalization locally by @brancz in #1928
- added VDSO unit tests by @Namanl2001 in #1916
- pkg/metadata: provide jdk label by @zdyj3170101136 in #1926
- tests: Add integration tests for mixed-mode unwinding by @javierhonduco in #1943
- test/integration: Ensure we don't leak goroutines by @javierhonduco in #1960
Full Changelog: v0.23.3...v0.24.0
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.24.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.23.3
Changelog
Fixes
- fix: "BPF program too large" error in kernel release 6.4 and greater by @javierhonduco in #1908
- deploy: Remove liveness probe by @brancz in #1876
- pkg/mapping: Add more patterns for mappings not to open by @brancz in #1896
pull/1898
Improvements
- feature/convert: Add filename and support native method by @zdyj3170101136 in #1846
- pkg/runtime: Prevent allocations from searching symbol tables by @brancz in #1901
parca-agent/pull/1903 - pkg/cpu: Reduce .text section error spam by @Sylfrena in #1864
- pkg/convert: reduce allocation by @zdyj3170101136 in #1886
- test: Add 6.1 kernel to tests by @javierhonduco in #1894
/pull/1895 - Delightful logs by @Sylfrena in #1879
Full Changelog: v0.23.2...v0.23.3
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.23.3
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.23.2
Changelog
Fixes
- Fix only reporting profiling data of a single thread of a process per profiling cycle by @brancz in #1874
Full Changelog: v0.23.1...v0.23.2
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.23.2
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.23.1
Changelog
Fixes
- Fix processes not being able to be unwinded, which is accidentally caused by not having symbol tables by @brancz in #1867
Enhancement
Full Changelog: v0.23.0...v0.23.1
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.23.1
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.23.0
Changelog
Features
Enhancements
- bpf: Add metrics pertaining to JITed unwinding by @Sylfrena in #1858
- cmd/parca-agent: Bind debug endpoint to localhost only by default by @brancz in #1860
- Do not use global tracer provider by @kakkoyun in #1835
Full Changelog: v0.22.0...v0.23.0
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.23.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
v0.22.0
Changelog
Fixes
- Use frame pointer unwinding for v8-based applications by @javierhonduco in #1836
- grpc/conn: Introduce exponential backoff retry with jitter for unary requests by @kakkoyun in #1826
- Make archive names linux uname -m compatible by @kakkoyun in #1830
Misc
- ci: Run
vmtests
beforego-build
tests by @Namanl2001 in #1814 - build: Clean generated BPF object files by @javierhonduco in #1824
- deploy/jsonnet: Make PSP optional by @kakkoyun in #1823
- chore(deploy/e2e): clean up PSP hacks by @maxbrunet in #1839
- deploy: Make default namespace independent by @brancz in #1847
- cmd/parca-agent/main.go by @brancz in #1843
Full Changelog: v0.21.0...v0.22.0
New Contributors
- @Namanl2001 made their first contribution in #1814
Docker images
docker pull ghcr.io/parca-dev/parca-agent:v0.22.0
Thanks!
Join our Discord server;
Follow us on Twitter;
Read the documentation.
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.