Reference: https://docs.datadoghq.com/opentelemetry/otel_collector_datadog_exporter/?tab=onahost
This project has been initialized using:
$ spring init \
--dependencies=web \
--java-version=17 \
--build=maven \
-packaging=jar \
-type=maven-project \
-artifact-id=opentelemetry-datadog \
-group-id=it.sunnyvale.poc \
opentelemetry-datadog
$ mvn package
Pick the OTEL contrib collector that suites your OS/Arch.
$ curl -L -o otelcol-contrib_0.78.0_darwin_arm64.tar.gz https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.78.0/otelcol-contrib_0.78.0_darwin_arm64.tar.gz
Untar the binary and run it
$ tar -xvzf otelcol-contrib_0.78.0_darwin_arm64.tar.gz otelcol-contrib
$ chmod 755 otelcol-contrib
$ export DD_API_KEY=<REPLACE WITH YOUR API KEY> ./otelcol-contrib --config collector.yaml
Make sure that in the collector's log file, this line appears:
2023-05-30T00:57:09.462+0200 info clientutil/api.go:44 API key validation successful. {"kind": "exporter", "data_type": "logs", "name": "datadog"}
Download the OpenTelemetry Java Agent
$ curl \
-L \
-o opentelemetry-javaagent.jar \
https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
Run the application with -javaagent
flag
$ java \
-javaagent:./opentelemetry-javaagent.jar \
-jar target/opentelemetry-datadog-0.0.1-SNAPSHOT.jar
If everything went fine, check DataDog and see the application's JVM metrics.