Open Emily-Jiang opened 6 years ago
Yes, MP-OpenTracing could be used to automatically propagate the headers from inbound to outbound requests.
However it currently requires a real tracer to be configured. If a tracer is not configured, the fallback is to use the NoopTracer - however this does not propagate the in-process context.
Although some users may want to obtain additional tracing detail from within the service, and therefore happy to configure a real tracer, it may be good to cater for users who simply want the tracing provided by the service mesh.
In this case, having a basic tracer that simply manages the active span/scope, but does not record any spans (apart from possibly as logs) may be a better default impl than the NoopTracer.
@Emily-Jiang Note that in Istio 1.0 Jaeger is used for distributed tracing: https://github.com/istio/istio/blob/release-1.0/install/kubernetes/helm/istio/README.md
tracing.enabled | Specifies whether Tracing(jaeger) addon should be installed | true/false | false |
---|
According to this task on istio.io, the same headers are used as previously with Zipkin: https://preliminary.istio.io/docs/tasks/telemetry/distributed-tracing/
We need to test MP Open Tracing wit Jaeger on Istio. Hopefully, no extra changes are required.
How to push open tracing semantics to Istio system
Istio has to require headers in application code. MicorProfile open tracing is the ideal place to add headers??? tracing header propagation so that service invocation chain can inherit the header in the request.