Vertx vertx = Vertx.vertx(new VertxOptions()
.setTracingOptions(
new ZipkinTracingOptions().setServiceName("A cute service")
)
);
Vert.x Zipkin 追踪
Vert.x 通过 Zipkin Brave 客户端与 Zipkin 集成。
Vert.x 使用基于 Vert.x HTTP 客户端的 Zipkin HTTP 发送器,以 JSON 格式向 https://:9411/api/v2/spans 报告 Span。
服务名称是强制性的 Zipkin 服务名称。如果您不设置它,将使用 a-service
作为替代。
您可以配置发送器以使用特定 URL
Vertx vertx = Vertx.vertx(new VertxOptions()
.setTracingOptions(
new ZipkinTracingOptions()
.setSenderOptions(new HttpSenderOptions().setSenderEndpoint(senderEndpoint))
)
);
默认发送器使用单个 HTTP 连接,采用纯文本和压缩主体。
您可以使用自定义的 HttpClientOptions
覆盖 HTTP 发送器的配置。
Vertx vertx = Vertx.vertx(new VertxOptions()
.setTracingOptions(
new ZipkinTracingOptions()
.setSenderOptions(new HttpSenderOptions()
.setSenderEndpoint(senderEndpoint)
.setSsl(true)
.setKeyCertOptions(sslOptions))
)
);
最后,您可以设置自定义的 Zipkin Tracing
,以对配置进行更精细的控制。
Vertx vertx = Vertx.vertx(new VertxOptions()
.setTracingOptions(
new ZipkinTracingOptions(tracing)
)
);
HTTP 追踪
Vert.x HTTP 服务器和客户端围绕 HTTP 请求报告 span。
-
operationName
:HTTP 方法 -
标签
-
http.method
:HTTP 方法 -
http.url
:请求 URL -
http.status_code
:HTTP 状态码
默认的 HTTP 服务器追踪策略是 ALWAYS
,你可以通过 setTracingPolicy
来配置该策略。
HttpServer server = vertx.createHttpServer(new HttpServerOptions()
.setTracingPolicy(TracingPolicy.IGNORE)
);
默认的 HTTP 客户端追踪策略是 PROPAGATE
,你可以通过 setTracingPolicy
来配置该策略。
HttpClient client = vertx.createHttpClient(new HttpClientOptions()
.setTracingPolicy(TracingPolicy.IGNORE)
);
EventBus 追踪
Vert.x EventBus 围绕消息交换报告 span。
默认的发送策略是 PROPAGATE
,你可以通过 setTracingPolicy
来配置该策略。
DeliveryOptions options = new DeliveryOptions().setTracingPolicy(TracingPolicy.ALWAYS);
vertx.eventBus().send("the-address", "foo", options);