Skip to content

Decouple FFE from Tracing proposal#11888

Open
PerfectSlayer wants to merge 1 commit into
leo.romanovsky/ffe-apm-span-enrichmentfrom
bbujon/ffe
Open

Decouple FFE from Tracing proposal#11888
PerfectSlayer wants to merge 1 commit into
leo.romanovsky/ffe-apm-span-enrichmentfrom
bbujon/ffe

Conversation

@PerfectSlayer

@PerfectSlayer PerfectSlayer commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

What Does This Do

This PR introduces a dedicated module for FFE config.
This would avoid adding :internal-api or :dd-trace-api into the :feature-flagging-api module and keep the separation between FFE and Tracing clean.

Motivation

Configuration will be generated at some points from the JSON configuration.
This is an intermediate solution that will keep the FFE design clean.

Additional Notes

This PR is a change proposal as part of the review of #11658

Contributor Checklist

  • Format the title according to the contribution guidelines
  • Assign the type: and (comp: or inst:) labels in addition to any other useful labels
  • Avoid using close, fix, or any linking keywords when referencing an issue
    Use solves instead, and assign the PR milestone to the issue
  • Update the CODEOWNERS file on source file addition, migration, or deletion
  • Update public documentation with any new configuration flags or behaviors
  • Add your completed PR to the merge queue by commenting /merge. You can also:
    • Customize the commit message associated with the merge with /merge --commit-message "..."
    • Remove your PR from the merge queue with /merge -c
    • Skip all merge queue checks with /merge -f --reason "reason"; please use this judiciously, as some checks do not run at the PR-level (note: the PR still needs to be mergeable, this will only skip the pre-merge build)
    • Get more information in this doc

Jira ticket: [PROJ-IDENT]

@PerfectSlayer PerfectSlayer requested review from a team as code owners July 8, 2026 15:06
@PerfectSlayer PerfectSlayer added the tag: no release notes Changes to exclude from release notes label Jul 8, 2026
@PerfectSlayer PerfectSlayer requested review from sameerank and removed request for a team July 8, 2026 15:06
@PerfectSlayer PerfectSlayer requested a review from typotter July 8, 2026 15:06
@PerfectSlayer PerfectSlayer added the comp: openfeature OpenFeature label Jul 8, 2026

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

Works for me, thanks!

@pavlokhrebto pavlokhrebto left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

thank you!

Comment thread products/feature-flagging/feature-flagging-config/build.gradle.kts

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

https://github.com/DataDog/dd-trace-java/blob/d3f54ffd72a758ade9b021dafa6011be5b9147e1/dd-trace-api/src/main/java/datadog/trace/api/config/FeatureFlaggingConfig.java#L1
P2 Badge Preserve the old FeatureFlaggingConfig API

When a customer or external integration upgrades dd-trace-api and still imports datadog.trace.api.config.FeatureFlaggingConfig for these public config keys, deleting the class makes their source stop compiling; reflective/runtime lookups of the old class also fail. The replacement is in a new product module that dd-trace-api does not publish or depend on, so please keep a deprecated forwarding class in the old package (or provide another compatibility path) while moving internal users to the new module.

ℹ️ 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".

@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 56.97% (-0.01%)

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

@PerfectSlayer

Copy link
Copy Markdown
Contributor Author

When a customer or external integration upgrades dd-trace-api and still imports datadog.trace.api.config.FeatureFlaggingConfig for these public config keys, deleting the class makes their source stop compiling; reflective/runtime lookups of the old class also fail.

I’m good with that. It’s experimental keys and I don’t want to add api project(":feature-flaggging-config") into the :dd-trace-api that has no other dependencies than a logger.

@dd-octo-sts

dd-octo-sts Bot commented Jul 8, 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.98 s 13.91 s [-0.3%; +1.2%] (no difference)
startup:insecure-bank:tracing:Agent 12.95 s 13.06 s [-1.8%; -0.0%] (maybe better)
startup:petclinic:appsec:Agent 16.90 s 16.75 s [-0.2%; +2.0%] (no difference)
startup:petclinic:iast:Agent 16.94 s 16.89 s [-0.5%; +1.2%] (no difference)
startup:petclinic:profiling:Agent 16.62 s 16.90 s [-2.7%; -0.7%] (maybe better)
startup:petclinic:sca:Agent 16.86 s 16.74 s [-0.3%; +1.7%] (no difference)
startup:petclinic:tracing:Agent 16.03 s 16.12 s [-1.4%; +0.4%] (no difference)

Commit: 4b4b1c26 · 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.

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

LGTM

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

Labels

comp: openfeature OpenFeature 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.

5 participants