#chiroito ’s blog

Java を中心とした趣味の技術について

QuarkusでOpentracingを利用する

QuarkusはデフォルトではOpentracingを利用していませんが、拡張機能(extention)を追加して設定を少しするだけでOpentracingを利用できるようになります。

Opentracingの追加

Opentracingの拡張機能を利用するにはmvn quarkus:add-extension-Dextensions"opentracing"を指定して実行しましょう。

mvn quarkus:add-extension -Dextensions="opentracing"

以下の様なログが出れば成功です。

[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.redhat.coolstore:inventory >-------------------
[INFO] Building inventory 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- quarkus-maven-plugin:0.21.2:add-extension (default-cli) @ inventory ---
? Adding extension io.quarkus:quarkus-smallrye-opentracing
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.248 s
[INFO] Finished at: 2019-12-26T05:56:40Z
[INFO] ------------------------------------------------------------------------

Opentracingの設定

Jaegerのエンドポイントなどを設定します。

全ての設定要素は以下で確認できます。

https://quarkus.io/guides/all-config#quarkus-jaeger_quarkus-jaeger

以下は設定例です。

quarkus.jaeger.service-name=inventory
quarkus.jaeger.sampler-type=const
quarkus.jaeger.sampler-param=1
quarkus.jaeger.endpoint=http://jaeger-collector.user1-monitoring:14268/api/traces