猿问

如何在 Quarkus 中启用 Jaeger JDBC 跟踪

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


我正在使用Quarkusv0.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是,1 个跟踪有 2 个跨度,一个用于 REST 调用,另一个用于调用JDBC。


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


森林海
浏览 107回答 1
1回答

慕少森

您可以使用 opentracing java-jdbc扩展,它将在 Quarkus 中工作(我没有测试本机模式)。您需要使用版本 0.0.12,因为最新版本基于 Opentracing 0.33,但 Quarkus 使用版本 0.31。将依赖项添加到您的 pom.xml 中:<dependency>&nbsp; <groupId>io.opentracing.contrib</groupId>&nbsp; <artifactId>opentracing-jdbc</artifactId>&nbsp; <version>0.0.12</version></dependency>更新您的 application.properties 以使用 opentracing-jdbc 驱动程序,以下内容适用于 Postgres 数据库:quarkus.datasource.url = jdbc:tracing:postgresql://localhost:5433/mydatabasequarkus.datasource.driver = io.opentracing.contrib.jdbc.TracingDriverquarkus.hibernate-orm.dialect = org.hibernate.dialect.PostgreSQLDialect然后,您将在 Jaeger 中看到作为跨度的 SQL 查询。
随时随地看视频慕课网APP

相关分类

Java
我要回答