-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Add Java Feature Flags Setup Documentation #33194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
typotter
wants to merge
7
commits into
master
Choose a base branch
from
tyler.potter/java-feature-flags-onboarding
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
+711
−0
Conversation
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
- Add comprehensive Java SDK onboarding guide - Include installation instructions for Maven and Gradle - Document OpenFeature provider initialization and usage - Add code examples for all flag types (boolean, string, int, double, object) - Document error handling and common error codes - Include best practices and troubleshooting guide - Add Java to feature flags setup page navigation - Document integration with Datadog APM and exposure tracking Related: FFE Server SDK code freeze preparation
…ocumentation
Critical fixes:
- Add missing dd-java-agent-feature-flagging-bootstrap dependency to all examples
- Add Building from Source section with detailed instructions
- Explain bootstrap module purpose (classloader communication)
- Add troubleshooting for ClassNotFoundException
Improvements to match Java APM documentation patterns:
- Add application server configuration tabs (Spring Boot, Tomcat, JBoss, Jetty, Docker)
- Update all code examples to use SLF4J logger instead of System.out/err
- Add Compatibility requirements section
- Add Getting started section
- Update initialization example to show complete application structure
Code quality:
- Use logger.info/warn/error throughout with parameterized messages
- Show proper exception handling with logger
- Match actual implementation in ffe-dogfooding repo
- Include named client usage ("my-app")
The documentation now accurately reflects the required dependencies,
follows established Datadog docs patterns, and provides complete
setup instructions for the development build.
Contributor
Preview links (active after the
|
Changes: - Add cross-linking to Configuration section from early warning - Add OpenFeature SDK to compatibility requirements (it is required) - Remove all local build instructions (only reference published X.X.X versions) - Add skip guidance for users with existing agent/remote-config setup - Clarify ProviderNotReadyError is OpenFeature exception (optional handling) - Update exception handling to be optional based on availability requirements - Note that not catching exception may prevent application startup Improvements: - Users with existing APM can skip to provider initialization - Users with existing remote-config can skip agent configuration - Clear guidance on when exception handling is optional vs required - Removed all references to building from source
…aring Changes: - Add PROVIDER_ERROR and PROVIDER_STALE event listeners to async init example - Note that PROVIDER_CONFIGURATION_CHANGED is optional (depends on provider support) - Update multiple clients section: "organize context and flags" (not just flags) - Clarify that Provider instance is shared globally (client names are organizational only) The Provider constructor doesn't take a name parameter - it's a single shared instance. Named clients are just for organizing your application code, not separate providers.
Changes: - Update all flag keys to use dot notation (matching Android/iOS): * new-checkout-flow -> checkout.new * ui-theme -> ui.theme * payment-api-endpoint -> payment.api.endpoint * max-retries -> retries.max * discount-rate -> pricing.discount.rate * feature-config -> ui.config * All other flags updated to dot notation - Standardize attribute to use "tier" consistently (not "plan") - Remove "country" attribute from basic example to match mobile simplicity This creates consistency across all SDK documentation and makes it easier for users to migrate between platforms or reference examples.
Contributor
|
Opened DOCS-12847 to follow up with editorial review. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Architecture
Everything related to the Doc backend
editorial review
Waiting on a more in-depth review
feature_flags
Content changed in the feature_flags directory
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.
What does this PR do? What is the motivation?
Adds comprehensive Java Feature Flags setup documentation to support the upcoming release of Feature Flags for Java in
dd-trace-javavX.X.XThis PR fixes critical documentation gaps discovered while dogfooding the Java implementation:
Improvements to Match Patterns:
/tracing/trace_collection/automatic_instrumentation/dd_libraries/java.md)System.out/errClassNotFoundExceptionNew Content:
Merge instructions
Merge readiness:
Dependencies:
dd-trace-javav1.57.0+ with Feature Flags supportAdditional notes
Testing: All code examples verified against working implementation in
DataDog/ffe-dogfooding/apps/javaRelated Work:
DataDog/ffe-dogfooding(apps/java)DataDog/dd-trace-java(products/feature-flagging)