This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Overview

Single Step Instrumentation (SSI) has specific compatibility requirements that vary by language and environment. This page outlines supported versions, known limitations, and conditions that may impact Single Step Instrumentation for your specific setup.

Operating systems

The following operating systems and architectures are compatible:

OSVersionArchitecture
Amazon Linux2022+x86_64, arm64
CentOS7+, 8+x86_64, arm64
Debian10-12x86_64, arm64
Red Hat7+x86_64, arm64
Ubuntu20+ (LTS)x86_64, arm64
For additional operating system requirements specific to your programming language, see Language specific requirements.

Platforms

The following container platforms are compatible:

EnvironmentRequirements & LimitationsSupport
LinuxNot supported on hardened environments such as SELinuxGA
Docker on LinuxGA
KubernetesDatadog Admission Controller enabledPreview

Platform-specific requirements

Linux virtual machines (VMs)

You may encounter timeouts with smaller VM instances such as t2.micro. In this case, you should upgrade to a larger instance such as t2.small.

Docker containers

  • Rootless Docker mode: If you are using Docker in rootless mode (that is, Docker running without root privileges for added security), you need to configure the socket path to ensure SSI can connect to Docker. Update the socket path in /etc/datadog-agent/inject/docker_config.yaml to match your environment. By default, this path is set to /run/user/$UID/docker.sock, but it may vary based on your setup.

  • Custom runc shims: If your environment uses custom runc shims (for GPU support or other specialized tasks), you must adjust your configuration to avoid conflicts. SSI requires its own runc shim to enable automatic instrumentation within Docker containers. To ensure compatibility, update the runtimes property in /etc/datadog-agent/inject/docker_config.yaml to include both your custom shim and the Datadog shim.

Kubernetes with Windows pods

For Kubernetes clusters with Windows pods, use namespace inclusion/exclusion or specify an annotation in the application to exclude them from library injection.

Language-specific requirements

This section provides language-specific compatibility requirements for Single Step Instrumentation:

Supported Java versions

Java VersionSupport
8+

Troubleshooting

Environment Variable Length: If your application uses extensive command-line options or environment variables, you might encounter initialization failures. This typically occurs when you have many JVM arguments or other startup configurations. To resolve this:

  • Review and minimize non-essential JVM arguments
  • Consider moving some configurations to a properties file
  • Check application logs for specific initialization errors

Supported Python versions

Python VersionSupport
3.12
3.11
3.10
3.9
3.8
3.7

Default system repository support

Single Step Instrumentation requires Python 3.7-3.12, which is available by default only on:

  • CentOS Stream 8+
  • Red Hat Enterprise Linux 8+
Using Single Step Instrumentation with Ruby applications is in Preview.

Supported Ruby versions

Ruby VersionSupport
3.2Preview
3.1Preview
3.0Preview
2.7Preview

Troubleshooting

When uninstalling Single Step Instrumentation from a Ruby application, follow these steps to prevent errors:

  1. Before uninstalling: Make a backup of your Gemfile and Gemfile.lock.
  2. After uninstalling:
    • Restore your original Gemfile and Gemfile.lock, or
    • Run bundle install to rebuild your dependencies.

Additional information

  • Requires Linux distributions using glibc 2.27 or newer
  • Not compatible with Alpine Linux or other musl-based distributions

Supported Node.js versions

Node.js VersionSupportNotes
Latest LTS releaseInstrumenting ESM modules is not supported.

Default system repository support

Single Step Instrumentation supports Node.js 16.x and above, which is available by default only on:

  • CentOS Stream 9+
  • Red Hat Enterprise Linux 9+

Supported .NET runtimes

.NET VersionSupportNotes
.NET 8
.NET 7
.NET 6Versions below 6.0.13 not supported.
.NET 5
.NET Core 3.1
.NET Core 3.0
.NET Core 2.2
.NET Core 2.1
.NET Core 2.0

Supported PHP versions

Using Single Step Instrumentation with PHP applications is in Preview.
PHP VersionSupport
8.3.xPreview
8.2.xPreview
8.1.xPreview
8.0.xPreview
7.4.xPreview
7.3.xPreview
7.2.xPreview
7.1.xPreview
7.0.xPreview

PHP extensions

SSI disables automatically when it detects:

  • PHP’s Just-In-Time (JIT) compilation
  • Any of the following extensions:
    • Xdebug
    • ionCube Loader
    • NewRelic
    • Blackfire
    • pcov
If you need to run the SSI alongside these tools, you can force it to enable by setting: DD_INJECT_FORCE=true

Further reading

Más enlaces, artículos y documentación útiles: