Skip to content

Commit 9c89921

Browse files
authored
fix(profiling): upgrade echion to fix segfaults from services with many asyncio.Tasks (#14630)
Comparison: P403n1x87/echion@158a50f...576ff53 This upgrade includes two PRs from Echion - [fix: copy ob_digit field in PyLongObject before dereferencing](P403n1x87/echion#133) by @taegyunkim - [perf: use std::this_thread::sleep_for instead of busy loop](P403n1x87/echion#132) by @KowalskiThomas Note the perf change only applies to echion standalone mode, and `dd-trace-py` has already been using `std::this_thread::sleep_until` since stack_v2 was introduced https://github.com/DataDog/dd-trace-py/blob/d90eb4fbe59f0fc0a205c49f321edbdb76c6b155/ddtrace/internal/datadog/profiling/stack_v2/src/sampler.cpp#L177 ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [x] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
1 parent fcacd83 commit 9c89921

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

ddtrace/internal/datadog/profiling/stack_v2/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ endif()
4141

4242
# Add echion
4343
set(ECHION_COMMIT
44-
"158a50f5bba99bce486b007d4c5ee586836610db" # https://github.com/P403n1x87/echion/commit/158a50f5bba99bce486b007d4c5ee586836610db
44+
"576ff5353fc4ed91c283a383b1eb1b32110b42cc" # https://github.com/P403n1x87/echion/commit/576ff5353fc4ed91c283a383b1eb1b32110b42cc
4545
CACHE STRING "Commit hash of echion to use")
4646
FetchContent_Declare(
4747
echion
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
fixes:
3+
- |
4+
profiling: Upgrades echion to resolve segmentation faults that can happen
5+
on services with a lot of ``asyncio.Task``s.

0 commit comments

Comments
 (0)