目前,我正试图将openTelemetry跟踪添加到夸克项目中。它是一个连接数据源并进行一些处理的lambda。目前,我们使用的是反应性的pgadmin,但是当我尝试在使用quarkus-opentelemetry-exporter-otlp导入时进行查询时,我会得到这个错误class io.vertx.sqlclient.impl.tracing.QueryRequest cannot be cast to class io.vertx.core.spi.observability.HttpRequest (io.vertx.sqlclient.impl.tracing.QueryRequest and io.vertx.core.spi.observability.HttpRequest are in unnamed module of loader io.quarkus.bootstrap.classloading.QuarkusClassLoader @4b3ed2f0)。当此项目的OpenTelemetry不包括在pom.xml中时,此代码不会显示此错误。
我希望这个请求能够通过,或者只是关闭对vertx请求的打开跟踪。然而,我已经阅读了夸克的文档,我不知道如何做到这一点。我可以想到的一种方法是创建一个提供程序来创建PgPool,因为我可能可以在PGPoolConnectionOptions中设置一个TracingPolicy.IGNORE。
下面是我的代码堆栈:
pom.xml
<quarkus-plugin.version>2.6.0.Final</quarkus-plugin.version>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-opentelemetry-exporter-otlp</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-reactive-pg-client</artifactId>
</dependency>
Code:
import io.vertx.mutiny.pgclient.PgPool;
@Inject
@ReactiveDataSource("important")
PgPool pool;
pool.preparedQuery(QUERY.sql()).executeAndAwait(...TLDR:如何打开用于vertx查询的遥测夸克堆栈的跟踪功能。
发布于 2022-01-27 06:20:56
您提到的异常已在https://github.com/quarkusio/quarkus/pull/22809中修复,该异常首次在Quarkus2.6.3中可用。
https://stackoverflow.com/questions/70869155
复制相似问题