Vert.x integrates with Zipkin thanks to the Zipkin Brave client.
Vert.x uses the ZipKin HTTP sender based using a Vert.x HTTP Client reporting
spans to http://localhost:9411/api/v2/spans
in JSON format.
Vertx vertx = Vertx.vertx(new VertxOptions()
.setTracingOptions(
new ZipkinTracingOptions().setServiceName("A cute service")
)
);
The service name is the mandatory Zipkin service name. If you don’t set it, then a-service
will be used instead.
You can configure the sender to use a specific URL
Vertx vertx = Vertx.vertx(new VertxOptions()
.setTracingOptions(
new ZipkinTracingOptions()
.setSenderOptions(new HttpSenderOptions().setSenderEndpoint(senderEndpoint))
)
);
The default sender uses a single HTTP connection in plain text with compressed bodies.
You can override the configuration of the HTTP sender with custom HttpClientOptions
.
Vertx vertx = Vertx.vertx(new VertxOptions()
.setTracingOptions(
new ZipkinTracingOptions()
.setSenderOptions(new HttpSenderOptions()
.setSenderEndpoint(senderEndpoint)
.setSsl(true)
.setKeyCertOptions(sslOptions))
)
);
Finally you can set a custom ZipKin Tracing
allowing for greater control
over the configuration.
Vertx vertx = Vertx.vertx(new VertxOptions()
.setTracingOptions(
new ZipkinTracingOptions(tracing)
)
);