First, a function will be added to initialize a GlobalTracer. The function will be called on startup and the configured tracer will be available as a singleton via the opentracing.GlobalTracer() accessor function.
Next, a tracerMiddleware function, similar to the isAuthorizedMiddleware function, will be added and all HTTP handlers will add this function to the middleware chain. The function will wrap each HTTP call in a span that will be captured by Jaeger.
Additionally, the HTTP client will be modified so that all client requests add the jaeger-debug-id header which should allow for tracing across tiers. Consumers of the HTTP client will need to be updated, and will also need to initialize a GlobalTracer on startup.
The API needs to be instrumented with Jaeger.
First, a function will be added to initialize a GlobalTracer. The function will be called on startup and the configured tracer will be available as a singleton via the opentracing.GlobalTracer() accessor function.
Next, a tracerMiddleware function, similar to the
isAuthorizedMiddleware
function, will be added and all HTTP handlers will add this function to the middleware chain. The function will wrap each HTTP call in a span that will be captured by Jaeger.Additionally, the HTTP client will be modified so that all client requests add the
jaeger-debug-id
header which should allow for tracing across tiers. Consumers of the HTTP client will need to be updated, and will also need to initialize a GlobalTracer on startup.