Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The infrastructure makes it possible to trace all actions across different services and components. This is implemented using Istio and OpenTracing with Jaeger. The figure below show the trace flow from initial traffic to a istio enabled pod, through the jaeger system all the way to the jaeger web interface and the fut background service "SLA-metrics" (a part of the SLA calculating system).   

...

Alternative Java library: https://github.com/jaegertracing/jaeger-client-java

Various alternatives related to server and client instrumentation: https://github.com/opentracing-contrib
E.g. use https://github.com/opentracing-contrib/java-spring-web if using Spring Boot + servlets + Spring RestTemplate clients (other clients also available, e.g. Apache HttpClient: https://github.com/opentracing-contrib/java-apache-httpclient)


Example

Gliffy
imageAttachmentIdatt148144293
baseUrlhttps://ehealth-dk.atlassian.net/wiki
macroId8ddd1f39-ae73-48c7-b07e-b3dd81c1e074
nameIstio tracing
diagramAttachmentIdatt148078610
containerId128843780
timestamp1554720804082

...

Because of this all applications making encrypted requests to external services, where they want to record call time or have trace data, needs to create the Jaeger traces manually for the external request

Jaeger traces should be sent to the Jaeger collector at: http://jaeger-operator-jaeger-collector.jaeger.svc.cluster.local:14268/api/traces