Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 39 additions & 9 deletions config/_default/menus/main.en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5582,21 +5582,51 @@ menu:
parent: software_delivery_heading
identifier: feature_flags
weight: 80000
- name: Setup
url: feature_flags/setup
- name: Client SDKs
url: feature_flags/client
parent: feature_flags
identifier: feature_flags_setup
identifier: feature_flags_client
weight: 1
- name: Android and Android TV
url: feature_flags/setup/android
parent: feature_flags_setup
identifier: feature_flags_setup_android
url: feature_flags/client/android
parent: feature_flags_client
identifier: feature_flags_client_android
weight: 101
- name: iOS and tvOS
url: feature_flags/setup/ios
parent: feature_flags_setup
identifier: feature_flags_setup_ios
url: feature_flags/client/ios
parent: feature_flags_client
identifier: feature_flags_client_ios
weight: 102
- name: Server SDKs
url: feature_flags/server
parent: feature_flags
identifier: feature_flags_server
weight: 2
- name: Go
url: feature_flags/server/go
parent: feature_flags_server
identifier: feature_flags_server_go
weight: 201
- name: Java
url: feature_flags/server/java
parent: feature_flags_server
identifier: feature_flags_server_java
weight: 202
- name: Node.js
url: feature_flags/server/nodejs
parent: feature_flags_server
identifier: feature_flags_server_nodejs
weight: 203
- name: Python
url: feature_flags/server/python
parent: feature_flags_server
identifier: feature_flags_server_python
weight: 204
- name: Ruby
url: feature_flags/server/ruby
parent: feature_flags_server
identifier: feature_flags_server_ruby
weight: 205
- name: MCP Server
url: feature_flags/feature_flag_mcp_server
parent: feature_flags
Expand Down
7 changes: 5 additions & 2 deletions content/en/feature_flags/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@ further_reading:
- link: "/getting_started/feature_flags/"
tag: "Documentation"
text: "Getting started with Feature Flags"
- link: "/feature_flags/setup/"
- link: "/feature_flags/client/"
tag: "Documentation"
text: "Set up Feature Flags for your applications"
text: "Set up Feature Flags for client-side applications"
- link: "/feature_flags/server/"
tag: "Documentation"
text: "Set up Feature Flags for server-side applications"
- link: "/feature_flags/guide/migrate_from_statsig"
tag: "Guide"
text: "Migrate Your Feature Flags from Statsig"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
---
title: Set Up Feature Flags
description: Set up Datadog Feature Flags for your mobile applications.
title: Client-Side Feature Flags
description: Set up Datadog Feature Flags for client-side applications.
aliases:
- /feature_flags/setup/
further_reading:
- link: "/feature_flags/"
tag: "Documentation"
text: "Learn about Feature Flags"
- link: "/getting_started/feature_flags/"
tag: "Documentation"
text: "Getting Started with Feature Flags"
- link: "feature_flags/server/"
tag: "Documentation"
text: "Server-Side Feature Flags"
---

{{< callout url="http://datadoghq.com/product-preview/feature-flags/" >}}
Expand All @@ -18,7 +23,7 @@ Feature Flags are in Preview. Complete the form to request access.

Set up Datadog Feature Flags for your applications. Follow the platform-specific guides below to integrate feature flags into your application and start collecting feature flag data:

{{< partial name="feature_flags/feature_flags_setup.html" >}}
{{< partial name="feature_flags/feature_flags_client.html" >}}

## Further reading

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
---
title: Android and Android TV Feature Flags
description: Set up Datadog Feature Flags for Android and Android TV applications.
aliases:
- /feature_flags/setup/android/
further_reading:
- link: "/feature_flags/setup/"
- link: "/feature_flags/client/"
tag: "Documentation"
text: "Feature Flags Setup"
text: "Client-Side Feature Flags"
- link: "/real_user_monitoring/android/"
tag: "Documentation"
text: "Android and Android TV Monitoring"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
---
title: iOS and tvOS Feature Flags
description: Set up Datadog Feature Flags for iOS and tvOS applications.
aliases:
- /feature_flags/setup/ios/
further_reading:
- link: "/feature_flags/setup/"
- link: "/feature_flags/client/"
tag: "Documentation"
text: "Feature Flags Setup"
text: "Client-Side Feature Flags"
- link: "/real_user_monitoring/ios/"
tag: "Documentation"
text: "iOS and tvOS Monitoring"
Expand Down
72 changes: 72 additions & 0 deletions content/en/feature_flags/server/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
title: Server-Side Feature Flags
description: Set up Datadog Feature Flags for server-side applications.
further_reading:
- link: "/feature_flags/client/"
tag: "Documentation"
text: "Client-Side Feature Flags"
- link: "/remote_configuration/"
tag: "Documentation"
text: "Remote Configuration"
---

{{< callout url="http://datadoghq.com/product-preview/feature-flags/" >}}
Feature Flags are in Preview. Complete the form to request access.
{{< /callout >}}

## Overview

Datadog Feature Flags for server-side applications allow you to remotely control feature availability, run experiments, and roll out new functionality with confidence. Server-side SDKs integrate with the Datadog APM tracer and use Remote Configuration to receive flag updates in real time.

This guide covers the common setup required for all server-side SDKs, including Agent configuration and application environment variables. Select your language or framework to view SDK-specific setup instructions:

{{< partial name="feature_flags/feature_flags_server.html" >}}

## Prerequisites

Before setting up server-side feature flags, ensure you have:

- **Datadog Agent 7.55 or later** installed and running
- **Datadog API key** configured
- **APM tracing** enabled in your application

## Agent configuration

Server-side feature flags use [Remote Configuration][1] to deliver flag configurations to your application. Enable Remote Configuration in your Datadog Agent by setting `DD_REMOTE_CONFIGURATION_ENABLED=true` or adding `remote_configuration.enabled: true` to your `datadog.yaml`.

See the [Remote Configuration documentation][1] for detailed setup instructions across different deployment environments.

### Polling interval

The Agent polls Datadog for configuration updates at a configurable interval. This interval determines the average time between making a flag change in the UI and the change becoming available to your application.

{{< code-block lang="bash" >}}
# Optional: Configure polling interval (default: 60s)
DD_REMOTE_CONFIGURATION_REFRESH_INTERVAL=10s
{{< /code-block >}}

[1]: /remote_configuration

## Application configuration

Configure your application with the standard Datadog environment variables. These are common across all server-side SDKs:

{{< code-block lang="bash" >}}
# Required: Service identification
DD_SERVICE=<YOUR_SERVICE_NAME>
DD_ENV=<YOUR_ENVIRONMENT>
DD_VERSION=<YOUR_APP_VERSION>

# Agent connection (if not using default localhost:8126)
DD_AGENT_HOST=localhost
DD_TRACE_AGENT_PORT=8126

# Enable Remote Configuration in the tracer
DD_REMOTE_CONFIG_ENABLED=true
{{< /code-block >}}

<div class="alert alert-info">Some SDKs require additional experimental flags to enable feature flagging. See the SDK-specific documentation for details.</div>

## Further reading

{{< partial name="whats-next/whats-next.html" >}}
Loading
Loading