Vertx vertx = Vertx.vertx(new VertxOptions() .setTracingOptions( new OpenTelemetryOptions() ) );
Vertx OpenTelemetry
Vert.x integration with OpenTelemetry.
You can also pass a custom OpenTelemetry
allowing for greater control over the configuration.
Vertx vertx = Vertx.vertx(new VertxOptions() .setTracingOptions( new OpenTelemetryOptions(openTelemetry) ) );
If you only add this library, it will give you access to OpenTelemetry API with a default noop
Tracer, which gives dummy values (all zeroes) for trace and span ids. The OpenTelemetry SDK is needed to get proper values.
SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder().build(); OpenTelemetry openTelemetry = OpenTelemetrySdk.builder() .setTracerProvider(sdkTracerProvider) .setPropagators(ContextPropagators.create(W3CTraceContextPropagator.getInstance())) .buildAndRegisterGlobal(); vertxOptions.setTracingOptions(new OpenTelemetryOptions(openTelemetry));
This project provides an OpenTelemetry If several |
Tracing policy
The tracing policy defines the behavior of a component when tracing is enabled:
The tracing policy is usually configured in the component options.
HTTP tracing
The Vert.x HTTP server and client reports span around HTTP requests:
-
name
: the HTTP method -
tags
-
http.method
: the HTTP method -
http.url
: the request URL -
http.status_code
: the HTTP status code (asString
)
The default HTTP server tracing policy is ALWAYS
, you can configure the policy with setTracingPolicy
HttpServer server = vertx.createHttpServer(new HttpServerOptions() .setTracingPolicy(TracingPolicy.IGNORE) );
The default HTTP client tracing policy is PROPAGATE
, you can configure the policy with setTracingPolicy
HttpClient client = vertx.createHttpClient(new HttpClientOptions() .setTracingPolicy(TracingPolicy.IGNORE) );
EventBus tracing
The Vert.x EventBus reports spans around message exchanges.
The default sending policy is PROPAGATE
, you can configure the policy with setTracingPolicy
.
DeliveryOptions options = new DeliveryOptions().setTracingPolicy(TracingPolicy.ALWAYS); vertx.eventBus().send("the-address", "foo", options);