---
title: Configuration at Runtime
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > APM > Application Instrumentation > Configuration at Runtime
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

# Configuration at Runtime

{% callout %}
# Important note for users on the following Datadog sites: app.ddog-gov.com, us2.ddog-gov.com

{% alert level="danger" %}
This product is not supported for your selected [Datadog site](https://docs.datadoghq.com/getting_started/site.md). ({% placeholder "user-datadog-site-name" /%}).
{% /alert %}

{% /callout %}

## Overview{% #overview %}

Configuration at runtime lets you modify Datadog SDK configuration from the Datadog UI, without needing to restart your application or service. You don't need to wait for a new deployment or code change to update your configuration. Instead, update it right away with configuration at runtime.

{% video
   url="https://docs.dd-static.net/images//tracing/runtime_config/config-at-runtime.mp4" /%}

## Setup{% #setup %}

Before you can use configuration at runtime, you must set up Remote Configuration. For more information, see [Setting up Remote Configuration for Tracing](https://docs.datadoghq.com/tracing/guide/remote_config.md).

## Using configuration at runtime{% #using-configuration-at-runtime %}

The primary entry point for editing configuration at runtime is the SDK & Agent Configurations tab on the service page.

To make changes to a service's configuration at runtime:

1. Go to the [Catalog](https://docs.datadoghq.com/internal_developer_portal/catalog.md) in APM.
1. Open the service's Full Page.
1. Click Service Info, and then go to Service Config > SDK & Agent Configurations.
1. Select an environment.
1. Click Edit on the configuration row you want to change. See supported configuration options for more details.
1. Update the value in the edit modal and confirm.

{% image
   source="https://docs.dd-static.net/images/tracing/runtime_config/config_at_runtime_success.b00f8f49a2a66ee0f94d455f46ffbcd5.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/runtime_config/config_at_runtime_success.b00f8f49a2a66ee0f94d455f46ffbcd5.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="The SDK Configurations table showing logs injection disabled across one instance." /%}

In this example, you can see that Log Injection is disabled for the test environment across one instance. An instance refers to an instance of the Remote Configuration client. There should be one instance per process of your application.

You can tell when the configuration changes have been successfully applied by referencing the Updates applied to X instances text. In this example, the configuration applied successfully to one instance.

{% alert level="info" %}
The Setup Guidance tab no longer includes an editing panel. It shows a banner that directs you to the SDK & Agent Configurations tab.
{% /alert %}

## Supported configuration options{% #supported-configuration-options %}

The following options are supported with configuration at runtime. The required tracer version is listed for each language:

| Option                                                                                                                          | Java      | Node.js                 | Python   | .NET      | Ruby      | Go        | C++      |
| ------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------------------- | -------- | --------- | --------- | --------- | -------- |
| Custom sampling rate: Set a global sampling rate for the library using `DD_TRACE_SAMPLE_RATE`.                                  | `1.17.0+` | `4.11+` `3.32+` `2.45+` | `2.4.0+` | `2.33.0+` | `1.13.0+` | `1.59.0+` | `0.2.0+` |
| Log injection: Automatically inject trace correlation identifiers to correlate logs and traces by enabling `DD_LOGS_INJECTION`. | `1.17.0+` | `4.11+` `3.32+` `2.45+` | `2.6.0+` | `2.33.0+` | `1.13.0+` |
| HTTP header tags: Add HTTP header values as tags on traces using `DD_TRACE_HEADER_TAGS`.                                        | `1.17.0+` | `4.11+` `3.32+` `2.45+` | `2.6.0+` | `2.33.0+` | `1.13.0+` | `1.59.0+` |
| Custom span tags: Add specified tags to each span using `DD_TAGS`.                                                              | `1.31.0+` | `4.23.0+` `3.44.0+`     | `2.5.0+` | `2.44.0+` | `1.59.0+` | `0.2.0+`  |
| Resource-based sampling: Set sampling rates by service and resource name, from the Datadog UI using `DD_TRACE_SAMPLING_RULES`.  | `1.34.0+` | `5.16.0+`               | `2.9.0+` | `2.53.2+` | `2.0.0+`  | `1.64.0+` | `0.2.2+` |
| Adaptive Sampling: let Datadog control sampling rates on your behalf to match a configured monthly ingested volume budget.      | `1.34.0+` | `5.16.0+`               | `2.9.6+` | `2.54.0+` | `2.0.0+`  | `1.68.0+` | `0.2.2+` |

## Further reading{% #further-reading %}

Additional helpful documentation, links, and articles:

- [Remote Configuration](https://docs.datadoghq.com/remote_configuration.md)
