Super quick post , When istio injects the envoy container side car into your pod , each request that comes in and out is “appended” with a numbers of http headers that then they’re use for tracing .

This is one of the many benefits of the “side car injection” approach that istio has embrace , bit intrusive yea , but so far seems to work nicely.

Ok so quickly you can deploy jaeger and zipkin by enabling it on the chart:

istio/istio

In case you don’t have it already enabled.

Then if you look a little bit on the charts you’ll find references such as:

image

that’s from Mixer , so without too much digging you can see how mixer is passing stats to zipkin , and remember mixer sees everything .

So if we port-forward to were jaeger is listening on:

kubectl port-forward -n istio-system istio-tracing-754cdfd695-ngssw 16686:16686

And we hit

http://localhost:16686

, we’ll find jaeger:

image

It’s really interesting for tracing and to get a general idea of services that might be taking too long to process etc , I’ve force an error and it looks like:

image

If the pod

nginx

would be calling extra services they should be displayed there too , cause remember ALL ingress/egress traffic is captured by the envoy sidecar inside your pod.