Setup Data Streams Monitoring for Java

Data Streams Monitoring is not supported in the AP1 region.

Prerequisites

To start with Data Streams Monitoring, you need recent versions of the Datadog Agent and Java libraries:

Installation

Java uses auto-instrumentation to inject and extract additional metadata required by Data Streams Monitoring for measuring end-to-end latencies and the relationship between queues and services. To enable Data Streams Monitoring, set the DD_DATA_STREAMS_ENABLED environment variable to true on services sending messages to (or consuming messages from) Kafka or RabbitMQ.

For example:

environment:
  - DD_DATA_STREAMS_ENABLED: "true"

As an alternative, you can set the -Ddd.data.streams.enabled=true system property by running the following when you start your Java application:

java -javaagent:/path/to/dd-java-agent.jar -Ddd.data.streams.enabled=true -jar path/to/your/app.jar

Supported libraries

Data Streams Monitoring supports the confluent-kafka library.

Monitoring SQS pipelines

Data Streams Monitoring uses one message attribute to track a message’s path through an SQS queue. As Amazon SQS has a maximum limit of 10 message attributes allowed per message, all messages streamed through the data pipelines must have 9 or fewer message attributes set, allowing the remaining attribute for Data Streams Monitoring.

Further Reading

Additional helpful documentation, links, and articles: