Repository navigation
Add the agent bridge for the dd-openfeature SDK - #12975
PerfectSlayer wants to merge 3 commits into
Conversation
…e SDK Instrument the SDK bridge detection to connect the SDK to an agent Feature Flags backend registered on the bootstrap gateway. The backend interface only carries JDK types. No backend is registered yet, so the SDK keeps using its own fallback. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0a95b73784
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
More details
Bridge detection preserves the SDK fallback until a backend is registered. The completed static review found no actionable defects in the adapters, helper injection, or fallback behavior.
🤖 Bits Code Review · Commit 0a95b73
Master removed the Gradle IDEA plugin configuration: the Java toolchain and compiler settings already give IntelliJ the right JDK. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Mark the instrumentation module and advice classes as unused, as they are only referenced through AutoService and advice class names, and import the Advice annotations statically. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
What Does This Do
Adds the agent side of the bridge between the
dd-openfeatureSDK and the agent, without enabling it yet:dd-openfeature-1.69instrumentation: instruments the SDKAgentBridges.detect()to return aJavaAgentBridgebacked by an agent backend.FeatureFlaggingGateway.Backendinterface on the bootstrap gateway, next to its current API. It only carries JDK types.No backend is registered yet, so the bridge returns the SDK fallback and nothing changes at runtime. Released SDKs (1.56 to 1.67) don't contain
AgentBridgesand are not instrumented.Motivation
First step of connecting the standalone SDK to the agent (APMLP-1512), so the bridge plumbing can be reviewed on its own.
Additional Notes
Files
DDOpenFeatureInstrumentationInstrumenterModule("openfeature")for theFEATURE_FLAGStarget system, instrumentsAgentBridges.detect()DetectBridgeAdviceJavaAgentBridge.connect(fallback)JavaAgentBridgeAgentBridgebacked byFeatureFlaggingGateway.backend(); returns the fallback without backend.shutdown()returnsnullfor now (TODO), so the SDK uses its own JVM shutdown hookAgentConfigurationSource,AgentEventProxy,AgentHealthMetrics,AgentSpanEnricherBackendFeatureFlaggingGatewayBackend,register()andbackend()DDOpenFeatureInstrumentationTest,…DisabledForkedTestmetadata/*openfeatureintegration and itsDD_TRACE_OPENFEATURE_ENABLEDsettingvalidate_supported_configurations_v2_local_fileneedsDD_TRACE_OPENFEATURE_ENABLED(and its 2 aliases) registered in the Feature Parity Dashboard.Stack
The full change is in #12709. It was split into this stack to ease the review.
Jira ticket: APMLP-1512
🤖 Generated with Claude Code