I am new to Istio and Tracing. I followed the examples to play with Distributed Tracing over Jaeger. Istio Documentation says, “Although Istio proxies are able to automatically send spans, they need some hints to tie together the entire trace. Applications need to propagate the appropriate HTTP headers so that when the proxies send span information, the spans can be correlated correctly into a single trace.”
I have a few questions on “Applications need to propagate the appropriate HTTP headers”:
Can’t the side-car proxy inject/extract hint (such as x-request-id) rather than “Applications or Client Services” needing to propagate the appropriate HTTP headers for Span correlation in a given Trace? Can this Span Correlation be supported in Istio without Applications injecting in the HTTP Headers?
If not supported, can’t Istio support a “Tracing Route Map” feature so side-car proxy or Mixer can take advantage of this “Tracing Route Map” to auto inject or extract the info based on configuration rather than expecting the “Applications” to propagate? Currently, I have Applications to annotate or decorate this functionality but it does involve change to the codebase and testing.
I think the Span “Correlation” support should be the works of the Service Mesh and not the Client. Client can tailor to their needs but “Span Correlation” support must be extended by Istio as a ‘default’.
Please advise. Thank you,