Instrument a Java container for Datadog
This guide shows you how to instrument Java applications running in Amazon ECS containers. OpenTelemetry Collector will be configured to collect the resulting logs, metrics, and traces.
Things to consider
Recommended practice
Enable auto-instrumentation to automatically capture useful telemetry from HTTP requests, database queries, external service calls, and application logs. You don't need to change any code in your app.
Before you begin
Make sure you have:
- Completed the getting started guide to set up basic Datadog integration.
- A Java application deployed using the
app
template.
Step 1: Enable telemetry collection and auto-instrumentation
Auto-instrumentation automatically captures logs, metrics, and traces from your Java app. You don't need to change any code in your app.
-
Update to the newest version of the
app
template for the application you want to instrument. -
Edit your
package-config.yml
file to enable telemetry collection: -
Apply the configuration:
-
Apply the Terraform configuration:
Step 2: Add manual instrumentation (optional)
Auto-instrumentation provides basic telemetry, but custom business metrics need manual instrumentation with the OpenTelemetry SDK. Add the API dependency and use @WithSpan
annotations or the API directly.
For detailed instructions on manual instrumentation, see the OpenTelemetry Java documentation.
Step 3: Verify instrumentation
Check Datadog for incoming traces, metrics, and logs. Use the env
and service
tags to filter the results. For example:
Next steps
With an instrumented application you can now:
- Customize OTel configuration to more granularly control which telemetry gets sent to Datadog from your application.