Releases: parca-dev/parca-agent
v0.37.0
What's Changed
- snap: redirect logs to a file and expose a logs
slotby @michaeldmitry in #3034 - Renamed cpuid into cpu by @Horiodino in #3033
- Update to point to otel head by @gnurizen in #3036
- OffCPU flag by @gnurizen in #3037
- snap: expose config-file option by @michaeldmitry in #3038
- Actually start tracing exporter by @bobrik in #3032
- Relicense elfwriter.go as MIT, same as original file derived from go-delve. by @xplshn in #3016
- Don't try to start the traces exporter if one isn't configured by @umanwizard in #3042
- Bump fork and fix off cpu profiling by @gnurizen in #3043
- Fix container cache sizing by @gnurizen in #3044
- Bump fork by @gnurizen in #3045
New Contributors
- @michaeldmitry made their first contribution in #3034
- @Horiodino made their first contribution in #3033
- @bobrik made their first contribution in #3032
- @xplshn made their first contribution in #3016
Full Changelog: v0.36.0...v0.37.0
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