This product is not supported for your selected Datadog site. ().
Join the Preview

Dynamic Instrumentation for Go is in limited preview and is not available to all customers. Request access to join the waiting list.
Note: Some limitations apply to the preview.

Request Access

Dynamic Instrumentation is a feature of Datadog tracing libraries that lets you capture application state at runtime without modifying or redeploying code. This page describes how to enable Dynamic Instrumentation for Go applications.

Installation

To use Dynamic Instrumentation, you must enable it in both the Datadog Agent and your application.

Datadog Agent

  1. Install or upgrade your Agent to version v7.73.0 or later.
  2. Enable Dynamic Instrumentation in the Agent configuration using one of the following methods, depending on how you deploy the Agent:

Update system-probe.yaml (located alongside datadog.yaml) with the following. For more information, see Agent configuration files.

dynamic_instrumentation:
  enabled: true

Add the following to your Datadog Agent manifest:

DD_DYNAMIC_INSTRUMENTATION_ENABLED=true

Add the following to your Helm chart:

datadog:
  dynamicInstrumentationGo:
    enabled: true

Application (tracing library)

  1. Follow the Go tracing library installation instructions to install or upgrade the Go tracing library to one of the following supported versions:

    • v1.74.6 or later (major version 1)
    • v2.2.3 or later (major version 2)
  2. Run your service with Dynamic Instrumentation enabled by setting the following environment variable:

    DD_DYNAMIC_INSTRUMENTATION_ENABLED=true
    
  3. Configure Unified Service Tags so that you can filter and group your instrumentations and target active clients across these dimensions:

    • DD_SERVICE
    • DD_ENV
    • DD_VERSION
  4. Restart your service.

  5. After the service starts, you can add and manage instrumentations from the APM > Live Debugger page.

What to do next

See the Live Debugger documentation for information about adding instrumentations, capturing application state, and browsing and indexing the collected data.

Supported features

Unsupported features

  • Dynamic Instrumentation for logs, metrics, spans, and span tag probes
  • Log templates and condition expressions
  • PII redaction based on specific classes or types
  • Propagation of additional DD_TAGS set on the service to probe result tags

Further reading

Additional helpful documentation, links, and articles: