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

@rkennke rkennke commented Jul 29, 2026

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 owners July 29, 2026 11:25
@rkennke
rkennke requested review from vandonr and ygree and removed request for a team July 29, 2026 11:25

@datadog-datadog-prod-us1-2 datadog-datadog-prod-us1-2 Bot 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
rkennke force-pushed the remove-stale-ddprof-native-image-refs branch from 438e61c to fda99b6 Compare July 29, 2026 11:28
@dd-octo-sts

dd-octo-sts Bot commented Jul 29, 2026

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-2 Bot 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!

@PerfectSlayer PerfectSlayer 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.

Thanks for the clean up

@PerfectSlayer PerfectSlayer 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

dd-octo-sts Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

🟢 Java Benchmark SLOs — All performance SLOs passed

Suite Status
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
Scenario Candidate master Δ (95% CI of mean)
startup:insecure-bank:iast:Agent 13.93 s 13.95 s [-0.9%; +0.6%] (no difference)
startup:insecure-bank:tracing:Agent 12.93 s 13.00 s [-1.2%; +0.2%] (no difference)
startup:petclinic:appsec:Agent 16.83 s 16.73 s [-0.3%; +1.6%] (no difference)
startup:petclinic:iast:Agent 15.77 s 16.84 s [-12.0%; -0.7%] (unstable)
startup:petclinic:profiling:Agent 16.83 s 16.40 s [-1.9%; +7.2%] (no difference)
startup:petclinic:sca:Agent 16.84 s 16.72 s [-0.0%; +1.5%] (no difference)
startup:petclinic:tracing:Agent 16.07 s 16.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 queue Jul 29, 2026
@dd-octo-sts

dd-octo-sts Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot 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-queue Bot 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-cf854d Bot merged commit 2eddb77 into master Jul 29, 2026
589 of 593 checks passed
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot deleted the remove-stale-ddprof-native-image-refs branch July 29, 2026 13:08
@github-actions github-actions Bot added this to the 1.65.0 milestone Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: profiling Profiling tag: no release notes Changes to exclude from release notes type: refactoring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants