eclipse / microprofile-service-mesh

Apache License 2.0
18 stars 17 forks source link

Open tracing #7

Open Emily-Jiang opened 6 years ago

Emily-Jiang commented 6 years ago

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.

objectiser commented 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.

vadimeisenbergibm commented 6 years ago

@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/

Emily-Jiang commented 6 years ago

We need to test MP Open Tracing wit Jaeger on Istio. Hopefully, no extra changes are required.