Skip to content

Conversation

r1viollet
Copy link
Collaborator

@r1viollet r1viollet commented Jun 27, 2025

What does this PR do?:

Add build steps to store split debug information for release builds

Motivation:

  • Ensure we can get profiling stacks.
  • Ensure we can investigate crashes without having to disassemble the code.

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.
  • JIRA: PROF-11788

Unsure? Have a question? Request a review!

Copy link

github-actions bot commented Jun 27, 2025

🔧 Report generated by pr-comment-cppcheck

CppCheck Report

Errors (2)

Warnings (4)

Style Violations (297)

Copy link

github-actions bot commented Jun 27, 2025

🔧 Report generated by pr-comment-scanbuild

Add build steps to store split debug information for release builds
@r1viollet r1viollet force-pushed the r1viollet/split_debug branch 2 times, most recently from 108ded7 to 31687e2 Compare July 1, 2025 10:06
- Refactor split debug tasks out of the build
- Check if tooling is available to perform split debug operations
@r1viollet r1viollet force-pushed the r1viollet/split_debug branch 3 times, most recently from a09b7fc to a882f05 Compare July 1, 2025 13:32

### Build Options
- **Skip debug extraction**: `./gradlew buildRelease -Pskip-debug-extraction=true`
- **Debug extraction requires**: `objcopy` (Linux) or `dsymutil` (macOS)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not test on MacOS 😬
Feedback appreciated if this fails

@r1viollet r1viollet force-pushed the r1viollet/split_debug branch from a882f05 to c4dd50e Compare July 1, 2025 14:01
@r1viollet r1viollet marked this pull request as ready for review July 1, 2025 14:25
@r1viollet r1viollet force-pushed the r1viollet/split_debug branch from ab25d6a to 35ec2cd Compare July 2, 2025 13:18
@r1viollet r1viollet merged commit 9213a67 into main Jul 3, 2025
95 checks passed
@r1viollet r1viollet deleted the r1viollet/split_debug branch July 3, 2025 12:30
@github-actions github-actions bot added this to the 1.29.0 milestone Jul 3, 2025
zhengyu123 pushed a commit that referenced this pull request Jul 9, 2025
* Split debug
Add build steps to store split debug information for release builds
zhengyu123 added a commit that referenced this pull request Jul 9, 2025
* Potential memory leak with the JVMTI wallclock sampler

* v1

* Don't sample terminated thread

* v2

* v3

* v4

* Safe access

* Fix thread state

* v5

* Cleanup

* Cleanup

* safeFetch impl

* jdk11 support

* v6

* enhance and cleanup

* fix nullptr deference

* More cleanup

* Erwan's finding

* Fixed memory leak found by Erwan

* [Automated] Bump dev version to 1.29.0

* Update the sonatype repos (#235)

* Fix artifact download URL

* Split debug (#233)

* Split debug
Add build steps to store split debug information for release builds

* Add the micro-benchmark for thread filtering (#237)

* Add the micro-benchmark for thread filtering

* Do not test for obviously invalid thread id

* Relax threadfilter mem order

* Flaky test - j9 OSR (#239)

Skip zing and j9 flaky tests

* Fix flaky allocation test (#241)

Lower threshold for allocation test

* jbachorik's comments

* More jbachorik's comments

* Cleanup thread local references

---------

Co-authored-by: zhengyu.gu <[email protected]>
Co-authored-by: Datadog Java Profiler <[email protected]>
Co-authored-by: Jaroslav Bachorik <[email protected]>
Co-authored-by: Jaroslav Bachorik <[email protected]>
Co-authored-by: r1viollet <[email protected]>
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