Releases: DataDog/ddprof
Releases · DataDog/ddprof
latest-rc
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_functions
option. This is done due to the potential overhead of parsing debug information. - PID mode is fixed (
-p 1234
). - The performance of
--global
mode 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_functions
option. This is done due to the potential overhead of parsing debug information. - PID mode was fixed.
- The performance of
--global
mode 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
v0.16.0
Major changes
- Fix on elf segment mappings
On binaries with large alignment values, this was preventing us from unwinding and symbolizing.
What's Changed
- Align segment offset down to page size by @nsavoire in #367
- Improve DsoHdr::erase_range by @nsavoire in #370
- Remove check_invariants from hot code path by @r1viollet in #372
- Fix on backpopulate logics - init flow by @r1viollet in #369
- Fix infinite loop when retry succeeds by @nsavoire in #373
- Simplify compute_elf_bias by @nsavoire in #374
- Add an hidden option to enable remote symbolization by @nsavoire in #375
- Only look for runtime symbols in executable mappings by @nsavoire in #378
- Fix self profiling by @nsavoire in #377
- Bump ddprof version by @nsavoire in #379
Full Changelog: v0.15.3...v0.16.0
v0.15.3
Major changes
- Removal of an inode consistency check that was causing failures when looking up files.
What's Changed
- Fix file lookup (inode check removal) by @r1viollet in #361
- Add -fno-semantic-interposition by @nsavoire in #360
- Add a limit on maximum number of profiled PIDs by @r1viollet in #364
- Bump version number to 0.15.3 by @r1viollet in #365
Full Changelog: v0.15.2...v0.15.3
v0.15.2-rc
This is a pre-release. Please use this release in a non-critical environment.
v0.15.2
Major updates
- Deadlock fix (introduced in 0.15.1) for non standard allocator users (example: jemalloc users)
What's Changed
- Do not install sarif-tools on ubuntu 18 by @nsavoire in #350
- Remove TLReentryGuard from init_tl_state by @nsavoire in #353
- Remove call to retrieve_stack_bounds by @nsavoire in #354
- Remove useless malloc/free calls by @nsavoire in #355
- Remove useless functionref.hpp header by @nsavoire in #357
- Improve pid/tid caching by @nsavoire in #356
- Avoid doing allocations in m(un)map hooks by @nsavoire in #358
- v0.15.2 by @r1viollet in #362
Full Changelog: v0.15.1...v0.15.2
v0.15.1-rc
This is a pre-release. Please use this release in a non-critical environment.