Skip to content

Releases: parca-dev/parca-agent

v0.33.1

19 Sep 15:15
c1986c9
Compare
Choose a tag to compare

This fixes a bug with the Custom Labels feature causing it not to work for native binaries with non-empty .tdata sections.

All users of v0.33.0 should update to this version.

Bug Fixes

Full Changelog: v0.33.0...v0.33.1

v0.33.0

17 Sep 10:32
aa92ed3
Compare
Choose a tag to compare

The big new feature in v0.33.0 is the ability to add custom labels to stacks via minimal instrumentation from target processes. This works with Go by extracting all Goroutine labels (set via pprof.Do or pprof.SetGoRoutineLabels), or C, C++, and Rust using the custom-labels library (or anything else that follows the same ABI). Note, this is an experimental feature and may break in the future.

Enhancement

Bug fixes

Full Changelog: v0.32.0...v0.33.0

v0.32.0

13 Aug 15:03
3f001f1
Compare
Choose a tag to compare

This release of Parca Agent marks a huge milestone! From now on, Parca-Agent, the previously only fully open source, Apache2 licensed, and open for contributions eBPF-based profiler is now based on the opentelemetry-ebpf-profiler, and all language support efforts will be focused there. By basing the Parca-Agent on the opentelemetry-ebpf-profiler besides the C, C++, Rust, Go, Python, and Ruby support, it gained JVM, .NET, Perl, and PHP support! However, on top of the opentelemetry-ebpf-profiler the Parca Agent continues to ship a deep end-to-end integration with the Parca server, delivering the only fully open-source end-to-end system-wide profiling experience.

As such it ships several things on top:

  1. Allow the Parca server to asynchronously symbolized stacktraces. This means not only interpreted languages have function names, but C, C++, Rust, Go, etc. as well.
  2. A more optimized wire-protocol based on Apache Arrow. Less CPU time spent putting together the data to send off to the server and less bytes!
  3. A wide array of metadata from Kubernetes, containerd, cgroups, lxc, docker, etc. so you can make profiling adapt to how you organize your data!

And more!

To use the v0.32.0 release, a Parca server v0.22.0+ is required due to the new wire protocol. Try it out right away via the Quickstart!

Happy Profiling!

Parca Maintainers Team

v0.31.1

09 Jul 18:57
2815ded
Compare
Choose a tag to compare

Highlights

  1. Warn on failure to read custom labels by @umanwizard in #2913
  2. Auto-limit memory by @umanwizard in #2912
  3. Don't set custom labels ID if we failed to save the hash by @umanwizard in #2915

What's Changed

  • build(deps): update module github.com/prometheus/common to v0.55.0 by @renovate in #2906
  • build(deps): update dependency golang to v1.22.5 by @renovate in #2905
  • build(deps): update module github.com/minio/highwayhash to v1.0.3 by @renovate in #2907
  • chore(deps): update gcr.io/distroless/base-debian11 docker digest to ac69aa6 by @renovate in #2909
  • build(deps): update gcr.io/distroless/static docker digest to ce46866 by @renovate in #2908
  • chore(deps): jsonnet-bundler Lock file maintenance by @renovate in #2910
  • chore(deps): nix Lock file maintenance by @renovate in #2911
  • Warn on failure to read custom labels by @umanwizard in #2913
  • Fix erroneous nCustomLabels accounting by @umanwizard in #2914
  • Auto-limit memory by @umanwizard in #2912
  • Don't set custom labels ID if we failed to save the hash by @umanwizard in #2915

Full Changelog: v0.31.0...v0.31.1

v0.31.0

03 Jul 12:01
18aade2
Compare
Choose a tag to compare

Highlights

  1. Custom labels to turn Go profiling labels into pprof labels
  2. MUSL support
  3. Enhanced python support, especially on arm64 and alpine/MUSL systems
  4. Arm64 fixes for PAC mode
  5. Synthetic unwinder errors
  6. Improved dwarf unwinding by using .debug_frame and .debug_link
  7. Fixes for linux 6.8 kernels (verifier errors)

What's Changed

New Contributors

Full Changelog: v0.30.0...v0.31.0

v0.30.0

05 Mar 08:23
da59a7c
Compare
Choose a tag to compare

What's Changed

  • java: Read version from the binary by @kakkoyun in #2580
  • Add ability to read trace id from goroutine labels of Go processes by @brancz in #2574

Full Changelog: v0.29.0...v0.30.0

v0.29.0

27 Feb 14:38
v0.29.0
575dd4e
Compare
Choose a tag to compare

Changelog

Features

Fixes

Enhancements

  • pkg/objectfile: Use mount namespace id in cache key instead of build id by @brancz in #2348
  • feat(snap): add config option for external labels by @morphis in #2340
  • test/integration: Add CPU profiler integration tests for arm64 by @Sylfrena in #2403
  • Add counter metric for total bytes sent to remote store by @metalmatze in #2421
  • Add metric to track number of bpf program runs by @brancz in #2460
  • Add metrics to track number and type of bpf program early exits by @gnurizen in #2486
  • DWARF: Add logging for unexpected CFA opcodes by @Sylfrena in #2479
  • test/integration: Add initial tests for ruby and python by @kakkoyun in #2501
  • Cache executables for unwind tables to speed up CGI-like workloads by @gnurizen in #2517
  • debug: Make process filtering work by @gnurizen in #2550

New Contributors

Full Changelog: v0.28.0...v0.29.0

Docker images

docker pull ghcr.io/parca-dev/parca-agent:v0.29.0

Thanks!

Join our Discord server;
Follow us on Twitter;
Read the documentation.

v0.28.0

04 Dec 18:57
v0.28.0
1a09d01
Compare
Choose a tag to compare

Changelog

Features

  • interpreter: Enable Python and Ruby Unwinding by default by @kakkoyun in #2281
  • interpreter: Add filenames for interpreted functions by @kakkoyun in #2278
  • profiler: Make the profile events rate limits adjustable by @javierhonduco in #2322

Fixes

Enhancements

Full Changelog: v0.27.0...v0.28.0

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.27.0

09 Nov 11:55
0b98a92
Compare
Choose a tag to compare

Changelog

Features

  • elfwriter: Add a writer that mimics objcopy --keep-only-debug by @kakkoyun in #2144

Fixes

Improvements

Performance

  • unwinder/native: Remove unnecessary return address read by @javierhonduco in #2198
  • runtime/interpreter: Check the paths first for faster and cheaper detection by @kakkoyun in #2196
  • *: Optimize procinfo mapping updates by @kakkoyun in #2194

Memory savings in the BPF maps

Full Changelog: v0.26.0...v0.27.0

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.26.0

04 Oct 13:39
442eead
Compare
Choose a tag to compare

Changelog

Features

Fixes

Testing

Other

  • Move debuginfo extraction to elfwriter package by @brancz in #2100

New Contributors

Full Changelog: v0.25.1...v0.26.0

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.