为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Quarkus 中启用 Jaeger JDBC 跟踪

如何在 Quarkus 中启用 Jaeger JDBC 跟踪

森林海 2023-07-19 16:24:31
如何启用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 个跨度。
查看完整描述

1 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

您可以使用 opentracing java-jdbc扩展,它将在 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>

更新您的 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 查询。


查看完整回答
反对 回复 2023-07-19
  • 1 回答
  • 0 关注
  • 106 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信