Skip to content

Restore the agent Feature Flags behaviors through the bridge - #12978

Draft
PerfectSlayer wants to merge 2 commits into
bbujon/ffe-settingsfrom
bbujon/ffe-parity
Draft

PerfectSlayer wants to merge 2 commits into
bbujon/ffe-settingsfrom
bbujon/ffe-parity

Conversation

@PerfectSlayer

@PerfectSlayer PerfectSlayer commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

What Does This Do

Restores, through the bridge, the agent-side behaviors of the removed Feature Flags writers:

Motivation

Keeps the behavior master has today with the agent-coupled writers (APMLP-1512).

Additional Notes

Files
File Notes
lib EventProxy (+ test) Send-once clients, discovery requiring the identity headers, recovery interval, definitive rejection handling
SDK DirectIntakeTransport (+ test) Identity headers on direct intake
bridge AgentShutdownSource, JavaAgentBridge.shutdown() Shutdown subscription through the gateway Backend.subscribeShutdown
lib FeatureFlagsBackend, agent FeatureFlaggingSystem (+ tests) Shutdown listeners, lazy JVM hook without tracing, identity headers on the proxy clients, declared settings
dd-trace-api FeatureFlaggingConfig, metadata/supported-configurations.json Declared SDK settings
AbstractOpenFeatureShutdownSmokeTest + 2 smoke tests Pending flag evaluations flushed at application exit, with and without tracing, carrying the identity headers
AbstractSmokeTest Mock Agent advertises the identity headers, like the Agent
deleted ShutdownInstrumentationTest Feature Flags shutdown testing moved to the smoke tests

Stack

The full change is in #12709. It was split into this stack to ease the review.

  1. Resolve Feature Flags enablement from instrumenter config #12845 (merged)
  2. Add dd-openfeature SDK flag configuration and evaluation core #12840 (merged)
  3. Add dd-openfeature SDK settings and configuration delivery #12841 (merged)
  4. Add dd-openfeature SDK exposure and flag evaluation pipelines #12842 (merged)
  5. Add dd-openfeature SDK OpenFeature provider #12843 (merged)
  6. Port master Feature Flags changes to the dd-openfeature SDK #12957 (merged)
  7. Add the agent bridge for the dd-openfeature SDK #12975
  8. Connect the dd-openfeature SDK to the agent #12844
  9. Keep released dd-openfeature SDKs working with the agent #12976
  10. Resolve the Feature Flags settings like the SDK #12977
  11. Restore the agent Feature Flags behaviors through the bridge #12978 👈 this PR
  12. Add agentless and standalone OpenFeature smoke tests #12846

Jira ticket: APMLP-1512

🤖 Generated with Claude Code

@PerfectSlayer PerfectSlayer added type: feature Enhancements and improvements tag: no release notes Changes to exclude from release notes tag: ai generated Largely based on code generated by an AI or LLM comp: openfeature OpenFeature tag: override groovy enforcement Override the "Enforce Groovy Migration" check labels Oct 21, 2026
@PerfectSlayer
PerfectSlayer added this pull request to stack #12979 October 21, 2026 11:59
@PerfectSlayer
PerfectSlayer removed this pull request from stack #12979 October 21, 2026 12:00
@PerfectSlayer
PerfectSlayer added this pull request to stack #12980 October 21, 2026 12:04
@datadog-datadog-prod-us1

This comment has been minimized.

@dd-octo-sts

dd-octo-sts Bot commented Oct 21, 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 14.04 s 13.92 s [+0.0%; +1.6%] (maybe worse)
startup:insecure-bank:tracing:Agent 12.93 s 12.93 s [-0.6%; +0.7%] (no difference)
startup:petclinic:appsec:Agent 17.13 s 17.07 s [-0.5%; +1.1%] (no difference)
startup:petclinic:iast:Agent 17.14 s 17.11 s [-0.8%; +1.1%] (no difference)
startup:petclinic:profiling:Agent 16.59 s 16.88 s [-2.7%; -0.8%] (maybe better)
startup:petclinic:sca:Agent 17.11 s 16.90 s [+0.1%; +2.3%] (maybe worse)
startup:petclinic:tracing:Agent 16.10 s 16.18 s [-1.4%; +0.4%] (no difference)

Commit: 23c4b570 · 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.

@PerfectSlayer
PerfectSlayer force-pushed the bbujon/ffe-parity branch 2 times, most recently from 060a55a to aef9d38 Compare October 22, 2026 11:40
PerfectSlayer and others added 2 commits October 22, 2026 17:19
Port the agent-side behaviors of the removed writers: send each event
batch once with proxy discovery and recovery, and the Java SDK identity
headers (#12477, #12575); flush the SDK pending events at agent
shutdown, with or without tracing; declare the SDK settings the agent
exposes (#12884, #12774). Move the Feature Flags shutdown tests from the
agent tests to the OpenFeature smoke tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: openfeature OpenFeature tag: ai generated Largely based on code generated by an AI or LLM tag: no release notes Changes to exclude from release notes tag: override groovy enforcement Override the "Enforce Groovy Migration" check type: feature Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants