Releases: DataDog/ddprof
Releases · DataDog/ddprof
latest-rc
v0.23.0
ℹ️ This release includes a major fix for newer kernel versions. The issue was raised here.
What's Changed
- Avoid mirror mmap failures on newer kernel versions by @r1viollet in #474
- elfutils 0.194 by @r1viollet in #477
- Avoid matching symbols at address 0 by @r1viollet in #479
- CLI improvements : add missing env vars by @r1viollet in #480
Full Changelog: v0.22.1...v0.23.0
v0.22.1
Main changes
- Improved live heap tracking accuracy
The--preset cpu_live_heapoption now reports more accurate data.
What's Changed
- Add live allocation diagnostics by @nsavoire in #447
- Fix size errors in structs and avoid sending keeping an address if ring buffer is full by @nsavoire in #448
- Another size fix by @nsavoire in #449
- Send lost (de)alloc events as part of state by @nsavoire in #450
- Allocation tracker: fix the live heap tracking by @r1viollet in #453
- Linter include fixes by @r1viollet in #454
- Use elf addresses by default by @r1viollet in #467
- Revert usage of hash to select the shard by @r1viollet in #468
- Reduce poll timeout to 10ms by @nsavoire in #471
Full Changelog: v0.20.0...v0.22.1
v0.22.0
Warning
This is a RELEASE CANDIDATE and is NOT intended for use in production.
What's Changed
- Ensure allocation tracker state is pushed on process exit by @nsavoire in #457
- Avoid instrumenting c++ allocators when they call malloc internally by @nsavoire in #458
- Fix main loop by @nsavoire in #456
- Reserve part of the ring buffer for high priority events by @nsavoire in #451
- v0.22.0 by @nsavoire in #459
- Increase MPSC ring buffer size by @nsavoire in #460
- Retry dealloc event reserve and increase high priority area size by @nsavoire in #461
- Add cpu_arch tag by @nsavoire in #462
- Fix tracked address count inconsistency reporting by @nsavoire in #463
- Disable event reordering by default by @nsavoire in #464
- Increase high priority area size to 10000 dealloc events by @nsavoire in #465
Full Changelog: v0.21.0...v0.22.0
v0.21.0
Warning
This is a RELEASE CANDIDATE and is NOT intended for use in production.
- Multiple fixes to improve live heap profiling numbers.
What's Changed
- Add live allocation diagnostics by @nsavoire in #447
- Fix size errors in structs and avoid sending keeping an address if ring buffer is full by @nsavoire in #448
- Another size fix by @nsavoire in #449
- Send lost (de)alloc events as part of state by @nsavoire in #450
- Allocation tracker: fix the live heap tracking by @r1viollet in #453
- Linter include fixes by @r1viollet in #454
- v0.21.0 - Version update by @r1viollet in #455
Full Changelog: v0.20.0...v0.21.0
v0.20.0
Major changes
- Fixed the order of inlined functions within stacktraces.
- New preset to profile allocations only (
alloc_live_heap).
The preset will ensure that ddprof profiles only allocations (not CPU).
CPU profiling can be achieved at host level by the dd-otel-host-profiler .
What's Changed
- Update libdatadog by @r1viollet in #434
- [FIX] replace fprintf(), exit() with write(), _exit() to async-safe at SIGSEGV signal handler by @r1viollet in #435
- Reverse order of inlined functions in stacks by @r1viollet in #436
- Presets - add an allocation live heap preset by @r1viollet in #437
- libdatadog version 19.1.0 by @r1viollet in #440
- v0.20.0: version bump by @r1viollet in #441
- Update build dependencies by @r1viollet in #443
Full Changelog: v0.19.0...v0.20.0
v0.19.0
Major updates
- Thread names are displayed in the timeline view
What's Changed
- Ensure that logger context name is used instead of MYNAME by @nsavoire in #420
- Ubuntu 24 including LLVM 18 by @r1viollet in #426
- Allocation tracker - fix deadlock when calling into logs by @r1viollet in #425
- Blaze symbolizer error log by @r1viollet in #423
- Timeline thread names by @r1viollet in #427
- Avoid usage of freed memory by @r1viollet in #428
- v0.19.0 by @r1viollet in #429
Full Changelog: v0.18.0...v0.19.0
v0.18.0
Major updates
- Timeline is ON by default
What's Changed
- Documentation update: add examples by @r1viollet in #406
- Doc update: Worker period flag for leak investigations by @r1viollet in #408
- Update Readme.md by @peterg17 in #410
- Virtual frame adjustement - Filename only by @r1viollet in #413
- configuration update for inlined functions by @r1viollet in #414
- Default runtime-id tag by @r1viollet in #415
- Update to libdatadog v11.0.0 by @r1viollet in #416
- Timeline ON by default by @r1viollet in #417
- Reorder events by default by @nsavoire in #418
- Shutdown worker server only when all opened connections are closed by @nsavoire in #419
Full Changelog: v0.17.1...v0.18.0
v0.17.1
Major updates
- Live heap mode is fixed (for leak investigations).
- Our Symbolization library has changed: we now rely on blazesym.
- We now have an option to retrieve inlining information
-I,--inlined_functions - Code locations are OFF by default. Instead they are triggered with the
-I,--inlined_functionsoption. This is done due to the potential overhead of parsing debug information. - PID mode is fixed (
-p 1234). - The performance of
--globalmode is improved which results better profiler accuracy (events are no longer missed). The RSS usage of full host is considerably improved by this release.
What's Changed
- Add logging to the library by @nsavoire in #359
- Consider urls starting with a / to be UDS by @r1viollet in #399
- [PROF-9088] Ensure DSO objects are cleared by @r1viollet in #400
- Bump version to v0.17.1 by @r1viollet in #401
- libdatadog v8.0.0 by @r1viollet in #402
- [PROF-9088] ddprof cli - fix maximum pid setting by @r1viollet in #403
- Jitdump error on replaced element by @r1viollet in #404
- Compilation fixes for Linux Alpine 3.19 by @nsavoire in #381
- Add STRIP_DEBUG_INFO cmake option by @nsavoire in #382
- Bump version to 0.17.0 by @nsavoire in #383
- [PROF-9088] Add option to disable symbolization by @nsavoire in #380
- [PROF-9088] Use Go build id as fallback for gnu build id by @nsavoire in #384
- [PROF-9088] Make find_build_id more robust by @nsavoire in #385
- Fix dependency check by @nsavoire in #386
- [PROF-9406] Fix live heap profiling when allocation profiling is also enabled by @nsavoire in #388
- [PROF-9407] Add option to reorder events by timestamp across ring buffers by @nsavoire in #387
- [PROF-9408] Fix pid mode to attach to all process threads by @nsavoire in #389
- [PROF-9088] Force backpopulate upon worker start in PID mode by @nsavoire in #392
- [PROF-9088] Blazesym symbolization by @r1viollet in #390
- [PROF-9429] Search profiler mount namespace first by @nsavoire in #393
- Use binary path for filename when symbolization fails by @nsavoire in #394
- [PROF-9088] Fix symbolization for binaries with compressed debug information by @r1viollet in #395
- Simplify symbolize_pprof by @nsavoire in #396
- Minor CLI update - Allow hyphens and underscores by @r1viollet in #397
- Remove code locations by default by @r1viollet in #398
Full Changelog: v0.16.0...v0.17.0
Full Changelog: v0.17.0...v0.17.1
v0.17.0
Major updates
- Live heap mode is fixed (for leak investigations). There was a major configuration bug.
- Our Symbolization library has changed: we now rely on blazesym.
- We now have an option to retrieve inlining information
-I,--inlined_functions - Code locations are OFF by default. Instead they are triggered with the
-I,--inlined_functionsoption. This is done due to the potential overhead of parsing debug information. - PID mode was fixed.
- The performance of
--globalmode is improved which results better profiler accuracy (events are no longer missed).
What's Changed
- Compilation fixes for Linux Alpine 3.19 by @nsavoire in #381
- Add STRIP_DEBUG_INFO cmake option by @nsavoire in #382
- Bump version to 0.17.0 by @nsavoire in #383
- [PROF-9088] Add option to disable symbolization by @nsavoire in #380
- [PROF-9088] Use Go build id as fallback for gnu build id by @nsavoire in #384
- [PROF-9088] Make find_build_id more robust by @nsavoire in #385
- Fix dependency check by @nsavoire in #386
- [PROF-9406] Fix live heap profiling when allocation profiling is also enabled by @nsavoire in #388
- [PROF-9407] Add option to reorder events by timestamp across ring buffers by @nsavoire in #387
- [PROF-9408] Fix pid mode to attach to all process threads by @nsavoire in #389
- [PROF-9088] Force backpopulate upon worker start in PID mode by @nsavoire in #392
- [PROF-9088] Blazesym symbolization by @r1viollet in #390
- [PROF-9429] Search profiler mount namespace first by @nsavoire in #393
- Use binary path for filename when symbolization fails by @nsavoire in #394
- [PROF-9088] Fix symbolization for binaries with compressed debug information by @r1viollet in #395
- Simplify symbolize_pprof by @nsavoire in #396
- Minor CLI update - Allow hyphens and underscores by @r1viollet in #397
- Remove code locations by default by @r1viollet in #398
Full Changelog: v0.16.0...v0.17.0