Skip to content

Drop stale ddprof ThreadContext/BufferWriter* native-image references - #12100

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit into
masterfrom
remove-stale-ddprof-native-image-refs
Jul 29, 2026
Merged

Drop stale ddprof ThreadContext/BufferWriter* native-image references#12100
gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit into
masterfrom
remove-stale-ddprof-native-image-refs

Conversation

@rkennke

Copy link
Copy Markdown
Contributor

What

Removes the com.datadoghq.profiler.ThreadContext, BufferWriter, BufferWriter8, and BufferWriter9 entries from the GraalVM native-image -H:ClassInitialization config and reflect-config.json.

Why

DataDog/java-profiler#696 (Phase 3 of the OTEP context-storage migration) deletes all four classes from ddprof. This repo's ddprof dependency is currently pinned at 1.48.0 (predates that PR), so nothing is broken yet — but once it bumps to a release containing #696, a native-image build will fail: GraalVM errors when a class named in -H:ClassInitialization=...:run_time or reflect-config.json can't be resolved on the classpath.

ContextSetter is unaffected — java-profiler is restoring a minimal pure-Java offsetOf()/size() version of it for DatadogProfiler's continued use, so no change needed here for that.

Test plan

  • reflect-config.json re-validated as well-formed JSON after edit
  • CI native-image build (unaffected today since ddprof is still 1.48.0; this is a preemptive fix for the next bump)

🤖 Generated with Claude Code

@rkennke
rkennke marked this pull request as ready for review July 29, 2026 11:25
@rkennke
rkennke requested review from a team as code ownersJuly 29, 2026 11:25
@rkennke
rkennke requested review from vandonr and ygree and removed request for a teamJuly 29, 2026 11:25

@datadog-datadog-prod-us1-2datadog-datadog-prod-us1-2Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Datadog Autotest: PASS

More details

The native-image metadata removals are behaviorally consistent: the four deleted profiler classes no longer appear in either runtime class-initialization arguments or reflection configuration, while the remaining configuration stays valid. Gradle tests could not run because the sandbox could not download Gradle 9.6.1, but executable JSON and diff-level adversarial checks passed.

Was this helpful? React 👍 or 👎

📊 Validated against 5 scenarios · Open Bits AI session

🤖 Datadog Autotest · Commit 438e61c · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

java-profiler's Phase 3 DBB-context removal (DataDog/java-profiler#696) deletes
ThreadContext, BufferWriter, BufferWriter8, and BufferWriter9. The GraalVM
native-image class-initialization config and reflection config here still
name them; a native-image build against the next ddprof release fails
resolving those classes. Drop the now-nonexistent entries ahead of the bump.
@rkennke
rkennkeforce-pushed the remove-stale-ddprof-native-image-refs branch from 438e61c to fda99b6CompareJuly 29, 2026 11:28
@dd-octo-sts

Copy link
Copy Markdown
Contributor

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 61.92% (+4.10%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: fda99b6 | Docs | Datadog PR Page | Give us feedback!

@PerfectSlayerPerfectSlayer left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for the clean up

@PerfectSlayerPerfectSlayer added tag: no release notes Changes to exclude from release notes type: refactoring comp: profiling Profiling labels Jul 29, 2026
@rkennke
rkennke enabled auto-merge July 29, 2026 11:47
@dd-octo-sts

Copy link
Copy Markdown
Contributor

🟢 Java Benchmark SLOs — All performance SLOs passed

SuiteStatus
Startup🟢 pass

SLO thresholds are defined here based on automatically generated metrics. A warning is raised when results are within 5% of the threshold.

PR vs. master results
ScenarioCandidatemasterΔ (95% CI of mean)
startup:insecure-bank:iast:Agent13.93 s13.95 s[-0.9%; +0.6%] (no difference)
startup:insecure-bank:tracing:Agent12.93 s13.00 s[-1.2%; +0.2%] (no difference)
startup:petclinic:appsec:Agent16.83 s16.73 s[-0.3%; +1.6%] (no difference)
startup:petclinic:iast:Agent15.77 s16.84 s[-12.0%; -0.7%] (unstable)
startup:petclinic:profiling:Agent16.83 s16.40 s[-1.9%; +7.2%] (no difference)
startup:petclinic:sca:Agent16.84 s16.72 s[-0.0%; +1.5%] (no difference)
startup:petclinic:tracing:Agent16.07 s16.02 s[-0.6%; +1.2%] (no difference)

Commit:fda99b64 · CI Pipeline · Benchmarking Platform UI


Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion.

@rkennke
rkennke added this pull request to the merge queueJul 29, 2026
@dd-octo-sts

Copy link
Copy Markdown
Contributor

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351Bot commented Jul 29, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-07-29 12:20:52 UTC ℹ️ Start processing command /merge


2026-07-29 12:20:56 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 1h (p90).


2026-07-29 13:08:57 UTC ℹ️ MergeQueue: This merge request was merged

@github-merge-queue
github-merge-queueBot removed this pull request from the merge queue due to failed status checks Jul 29, 2026
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854dBot merged commit 2eddb77 into masterJul 29, 2026
589 of 593 checks passed
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854dBot deleted the remove-stale-ddprof-native-image-refs branch July 29, 2026 13:08
@github-actionsgithub-actionsBot added this to the 1.65.0 milestone Jul 29, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: profilingProfilingtag: no release notesChanges to exclude from release notestype: refactoring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@rkennke@PerfectSlayer