<p>Vert.x and kubernetes go hand in and hand. If I am using istio as a service mesh will Zipkin's request tracing be able to track communication done via the event bus?</p>

<p>client ->[rest/http1]-> service-A ->[eventbus]-> service-B</p>

<p>Will istio be able to trace requests done over the eventbus?</p>

<p><a href="https://istio.io/docs/tasks/telemetry/distributed-tracing/" rel="nofollow noreferrer">The tracing page</a> says that headers need to be propagated through in http or grpc - but the eventbus sends messages via tcp -- does that mean that istio will not be able to trace requests and show the visualisation tools [waterfall graph and visualisation of all the services]</p>

<p><a href="http://vertx.io" rel="nofollow noreferrer">Vertx main page</a></p>

<p><a href="https://vertx.io/docs/vertx-core/java/#event_bus" rel="nofollow noreferrer">Eventbus-Vertx page</a></p>

<p>tracing in your example would work only for requests made to service-A via HTTP protocol. Istio at the moment traces only HTTP requests. </p>

<p>You can trace event bus messages manually by creating spans inside message producers and receivers.
IIRC vert.x event bus does not support headers per message:</p>

<p><a href="https://vertx.io/docs/apidocs/io/vertx/core/eventbus/MessageProducer.html" rel="nofollow noreferrer">https://vertx.io/docs/apidocs/io/vertx/core/eventbus/MessageProducer.html</a>
<a href="https://vertx.io/docs/apidocs/io/vertx/core/eventbus/DeliveryOptions.html" rel="nofollow noreferrer">https://vertx.io/docs/apidocs/io/vertx/core/eventbus/DeliveryOptions.html</a></p>

<p>so you would have to encode tracing IDs into the message body and deserialize it correctly on the receiver side.</p>
