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
<dependency>
<groupId>io.opentracing.contrib</groupId>
<artifactId>opentracing-jdbc</artifactId>
<version>0.0.12</version>
</dependency>
io.opentracing.contrib
opentracing jdbc
0.0.12
然后您将看到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