このページは日本語には対応しておりません。随時翻訳に取り組んでいます。
翻訳に関してご質問やご意見ございましたら、お気軽にご連絡ください
Datadog Profiler support for GraalVM native-image is in Preview. Datadog recommends evaluating the profiler in a non-sensitive environment before deploying in production.

This page describes how to enable profiling for applications compiled as GraalVM native images. For standard JVM applications, see Enabling the Java Profiler.

Requirements

For a summary of the minimum and recommended runtime and tracer versions across all languages, read Supported Language and Tracer Versions.

Minimum version
GraalVM 17+
Supported platforms
Linux, Windows, macOS
Available profile types
CPU, Allocations

Installation

1. Build your native image with the Datadog tracer

Follow the Tracer Setup Instructions to build your GraalVM native image with the Datadog Java Profiler instrumentation.

2. Run with profiling enabled

After the service binary is built, enable the profiler using environment variables:

export DD_SERVICE=<YOUR_SERVICE>
export DD_ENV=<YOUR_ENV>
export DD_VERSION=<YOUR_VERSION>
export DD_PROFILING_ENABLED=true
export DD_PROFILING_DIRECTALLOCATION_ENABLED=true
./my_service

3. Verify profiles are collected

After a couple of minutes, your profiles appear on the Datadog APM > Profiler page.

Configuration

In addition to the environment, service, and version variables shown in the installation steps, you can apply custom tags to uploaded profiles with DD_TAGS (a comma-separated list of <key>:<value> pairs such as layer:api, team:intake).

For profile type configuration options, see the Configuration reference in the Java profiler troubleshooting guide.

Limitations

  • Only JFR-based profiling is supported for GraalVM native-image applications.
  • Wallclock and live heap profiling are not available.

Not sure what to do next?

The Getting Started with Profiler guide takes a sample service with a performance problem and shows you how to use Continuous Profiler to understand and fix the problem.

Further Reading