Datadog APM の Java 用トレーサー dd-java-agent.jar のバージョンチェック方法
タイトルの通り、 dd-java-agent.jar のバージョンを調べる方法です。
https://docs.datadoghq.com/tracing/setup_overview/setup/java/?tab=containers
やり方は以下の通り。
unzip -p dd-java-agent.jar | head
結果は以下のようになります。 Implementation-Version: 0.78.0 から 0.78.0 であることがわかります。
unzip しているのでファイルが展開されないか懸念があるかもしれませんが、 -p オプションは標準出力(stdout) に出力するためファイルは作成されませんのでご安心を。
[root@morihaya-01 tmp]# unzip -p dd-java-agent.jar | head
Manifest-Version: 1.0
Implementation-Title: dd-java-agent
Premain-Class: datadog.trace.bootstrap.AgentBootstrap
Implementation-Version: 0.78.0
Agent-Class: datadog.trace.bootstrap.AgentBootstrap
Can-Redefine-Classes: true
Can-Retransform-Classes: true
Implementation-URL: https://github.com/datadog/dd-trace-java
Implementation-Vendor: Datadog
Main-Class: datadog.trace.bootstrap.AgentBootstrap
[root@morihaya-01 tmp]#
当初は datadog-agent status で確認しようとしましたが、APMは別ものであるためバージョンを確認できませんでした。
“How to check jar version” で検索したところ、以下のStackOverflowの記事にたどり着いて助けられました。
dd-java-agent.jar 特別なやり方ではなく、JARファイル全般に利用できるようですね、勉強になりました。
https://stackoverflow.com/questions/5834794/how-to-check-the-version-of-jar-file
余談
dd-java-agent.jar のバージョンを知りたかった理由は Automatic injection という機能を利用できるかチェックするためでドキュメントには以下の記述があります。
Starting in version 0.74.0, the Java tracer automatically injects trace correlation identifiers into logs.
今回は 0.78.0 だったので無事に Automatic injection が利用できるとわかり安心したという話でした。
https://docs.datadoghq.com/tracing/connect_logs_and_traces/java/?tab=log4j2#automatic-injection