Releases: parca-dev/parca-agent
v0.36.0
What's Changed
- Update parca-agent to include debug tracer by @gnurizen in #3024
- Fix release pacakges to include debug tracers by @gnurizen in #3025
- bump otel fork to fix arm tracer by @gnurizen in #3027
- Initial implementation of offline mode (EXPERIMENTAL) by @umanwizard in #3026
Full Changelog: v0.35.3...v0.36.0
v0.35.3
v0.35.2
What's Changed
- Various LuaJIT fixes
- Fix kernel module parsing
New Contributors
- @BunningsWarehouseOfficial made their first contribution in #3009
Full Changelog: v0.35.1...v0.35.2
v0.35.1
What's Changed
- Warn on failure to get container metadata by @umanwizard in #3001
- Add cpuid metadata by @gnurizen in #3003
- Add Talos Omni containerd path to known paths by @brancz in #3006
- reporter: Fix nil-pointer panic by @brancz in #3010
- Fix kernel module parsing by @brancz #3007
Full Changelog: v0.35.0...v0.35.1
v0.35.0
v0.34.0
The biggest change in this release is that the custom-labels feature has reached sufficient maturity that we recommend enabling it for Go, Rust, C, and C++ workloads.
What's Changed
- fix(snap): ensure arm64 build can be performed from an amd64 machine by @jnsgruk in #2987
- Add metrics for WriteRequest calls by @umanwizard in #2988
- Auto-limit memory by @umanwizard in #2992
- Allow running without syscall tracepoints by @umanwizard in #2990
Full Changelog: v0.33.1...v0.34.0
v0.33.1
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
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
- build: reintroduce snap packaging, test, and release flows by @jnsgruk in #2969
- Support thread ID label by @umanwizard in #2970
- Supports native custom labels by @umanwizard in #2977
- Wire up metrics from the otel library by @umanwizard in #2980
Bug fixes
- Only cache metadata if successfully gathered by @brancz in #2979
- Fix duplicate registration during grpc retry by @umanwizard in #2982
- Search for k8s containers by name, not position in array. by @umanwizard in #2983
Full Changelog: v0.32.0...v0.33.0
v0.32.0
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:
- 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.
- 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!
- 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
Highlights
- Warn on failure to read custom labels by @umanwizard in #2913
- Auto-limit memory by @umanwizard in #2912
- 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