如何在Quarkus中启用Jaeger JDBC跟踪

时间:2019-09-09 12:36:12

标签: java jdbc quarkus jaeger

如何在Jaeger jdbc中启用Quarkus跟踪?我已按照Quarkus的{​​{1}}指南进行操作,但没有看到任何有关此的信息。

我正在使用带有以下扩展名的Opentracing v0.21.2:

Quarkus

我的代码只是一个基本的Rest终结点,它调用了我实体的Panache CRUD操作。

感谢您的帮助。

我尝试了以下操作,但没有成功:

 -quarkus-smallrye-opentracing
 -quarkus-resteasy
 -quarkus-resteasy-jackson
 -quarkus-hibernate-orm-panache
 -quarkus-jdbc-postgresql
 -quarkus-smallrye-openapi

我在 - added @Traced to my entity - changed quarkus.jaeger.sampler-type=const into quarkus.jaeger.sampler-type=remote 中期望的是,2个跨度用于1条迹线,一个跨度用于REST调用,另一个跨度用于Jaeger调用。

但是我看到的REST调用只有1个跨度。

1 个答案:

答案 0 :(得分:2)

您可以使用opentracing java-jdbc扩展名,该扩展名将在Quarkus中运行(我没有测试纯模式)。

您需要使用版本0.0.12,因为最新版本基于Opentracing 0.33,而Quarkus使用版本0.31。

  1. 将依赖项添加到pom.xml:

    <dependency>
      <groupId>io.opentracing.contrib</groupId>
      <artifactId>opentracing-jdbc</artifactId>
      <version>0.0.12</version>
    </dependency>
    
  2. 更新您的application.properties以使用opentracing-jdbc驱动程序,以下适用于Postgres数据库:

quarkus.datasource.url = jdbc:tracing:postgresql://localhost:5433/mydatabase
quarkus.datasource.driver = io.opentracing.contrib.jdbc.TracingDriver
quarkus.hibernate-orm.dialect = org.hibernate.dialect.PostgreSQLDialect

然后您将在Jaeger中看到SQL查询为跨度。