Skip to content

avoid unwinding the same stack for wallclock samples#91

Merged
richardstartin merged 1 commit into
mainfrom
rgs/optimise-wallclock-unwinding
May 1, 2024
Merged

avoid unwinding the same stack for wallclock samples#91
richardstartin merged 1 commit into
mainfrom
rgs/optimise-wallclock-unwinding

Conversation

@richardstartin
Copy link
Copy Markdown
Contributor

What does this PR do?:
If we have the same pc, same span id, haven't dumped the recording (which means clearing the call trace storage), haven't taken any cpu samples on the same thread since the last wallclock sample was taken, we don't need to unwind the stack twice and can refer back to the last call trace id.

Motivation:
Reduce overhead, reduce number of calls to AsyncGetCallTrace

Additional Notes:

How to test the change?:

For Datadog employees:

  • If this PR touches code that signs or publishes builds or packages, or handles
    credentials of any kind, I've requested a review from @DataDog/security-design-and-guidance.
  • This PR doesn't touch any of that.

Unsure? Have a question? Request a review!

@richardstartin richardstartin requested a review from jbachorik May 1, 2024 15:20
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2024

🔧 Report generated by pr-comment-cppcheck

CppCheck Report

Warnings (5)

Style Violations (161)

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2024

🔧 Report generated by pr-comment-scanbuild

Scan-Build Report

User:runner@fv-az1116-412
Working Directory:/home/runner/work/java-profiler/java-profiler/ddprof-lib/src/test/make
Command Line:make -j4 clean all
Clang Version:Ubuntu clang version 14.0.0-1ubuntu1.1
Date:Wed May 1 15:21:07 2024

Bug Summary

Bug TypeQuantityDisplay?
All Bugs6
Logic error
Assigned value is garbage or undefined1
Dereference of null pointer2
Result of operation is garbage or undefined1
Unused code
Dead initialization1
Dead nested assignment1

Reports

Bug Group Bug Type ▾ File Function/Method Line Path Length
Logic errorAssigned value is garbage or undefineddwarf.cppparseInstructions23520
Unused codeDead initializationlivenessTracker.cppcleanup_table451
Unused codeDead nested assignmentvmStructs.cppcheckNativeBinding8181
Logic errorDereference of null pointerflightRecorder.cppflush14108
Logic errorDereference of null pointersafeAccess.hload3518
Logic errorResult of operation is garbage or undefineddwarf.hgetSLeb14225

@richardstartin richardstartin merged commit 06a163b into main May 1, 2024
@github-actions github-actions Bot added this to the 1.6.0 milestone May 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants