Java 如何在Quarkus中启用Jaeger JDBC跟踪

Java 如何在Quarkus中启用Jaeger JDBC跟踪,java,jdbc,quarkus,jaeger,Java,Jdbc,Quarkus,Jaeger,如何在Quarkus中启用Jaeger jdbc跟踪?我遵循了Quarkus指南中的Opentracing,没有看到任何关于这方面的信息 我正在使用带有以下扩展的Quarkusv0.21.2: -quarkus-smallrye-opentracing -quarkus-resteasy -quarkus-resteasy-jackson -quarkus-hibernate-orm-panache -quarkus-jdbc-postgresql -quarkus-smallrye

如何在
Quarkus
中启用
Jaeger jdbc
跟踪?我遵循了
Quarkus
指南中的
Opentracing
,没有看到任何关于这方面的信息

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

 -quarkus-smallrye-opentracing
 -quarkus-resteasy
 -quarkus-resteasy-jackson
 -quarkus-hibernate-orm-panache
 -quarkus-jdbc-postgresql
 -quarkus-smallrye-openapi
我的代码只是一个基本的Rest端点,它调用我的实体的Panache CRUD操作

感谢您的帮助

我尝试了以下方法,但无效:

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

但是我看到REST调用只有1个span。

您可以使用opentracing扩展,它将在Quarkus中工作(我没有测试本机模式)

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

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

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

  • quarkus.datasource.url=jdbc:跟踪:postgresql://localhost:5433/mydatabase quarkus.datasource.driver=io.opentracing.contrib.jdbc.TracingDriver quarkus.hibernate-orm.dialen=org.hibernate.dialen.PostgreSqlDialent
    然后您将看到Jaeger中的SQL查询是spans。

    目前我认为Quarkus中没有任何OpenTracing JDBC库。请提出一个问题来支持这一点:您是否尝试使用?如果OOTB不起作用,可能需要在Quarkus tu support itthx中创建一个扩展以实现快速回复。这确实有效。我使用的是opentracing jdbc的0.1.8版本,但这不起作用。如果项目在添加Quarkus时包含任何jdbc/jpa依赖项,那么在Quarkus中自动添加该版本可能是一个好主意。opentracing在您的项目中?我不确定自动添加它是否是一个好主意,因为它会创建很多跨度,而不是每个人都应该需要它。可以做的是在指南中写一节关于它的内容,并在Quarkus bom中管理版本,以避免开发人员花费时间查找有效的版本。我可以照顾它 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