Prototype SSI OpenFeature provider injection - #12192
Draft
leoromanovsky wants to merge 1 commit into
Draft
Conversation
Contributor
|
❌ New Groovy Files Detected Please avoid introducing new
Instead, rewrite the new file(s) in Java / JUnit. See the How to Test With JUnit Guide for more details. If this PR needs an exception, add the |
Contributor
|
🎯 Code Coverage (details) 🔗 Commit SHA: 6148416 | Docs | Datadog PR Page | Give us feedback! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
The current Java integration requires customers to add and register the Datadog OpenFeature provider. This does not provide the intended Single Step Instrumentation customer experience.
This prototype tests whether one
dd-java-agent.jarcan own configuration delivery and install the provider when an application uses OpenFeature.Agentless is the product-default deployment mode. The source setting remains explicit because it starts request and billing activity.
Changes and Decisions
DD_FEATURE_FLAGS_CONFIGURATION_SOURCEas disabled.agentless.remote_configas an explicit Agent-backed source.OpenFeatureAPI.getInstance()for OpenFeature Java SDK1.20.x.NoOpProvider.The customer application needs only the OpenFeature SDK and standard OpenFeature code:
This prototype reuses the current provider to isolate provider injection and source lifecycle behavior. It does not implement the final evaluation-only provider, injected telemetry hook, direct EVP fallback, or offline byte initialization.
The matching dogfood integration is DataDog/ffe-dogfooding#110.
Validation
Manual end-to-end proof used the linked dogfood application and a controlled UFC endpoint.
READYafter 34 ms.rollout, variantpi, value3.1415926, and reasonSTATIC.DD_TRACE_ENABLED=false.PROVIDER_NOT_READYbehavior.This validates behavior after Java agent attachment. It does not validate SSI attachment on each serverless platform.