Distributed Tracing
Tracing
Difference from logs and metrics, traces can provide a very fine-grained level of detail for each individual request. Distributed Tracing has become very valuable in a microservice architecture to debug, identify bottlenecks and understand applications.
Setup
Distributed tracing is supported by Axual, but not delivered as part of the platform. For production installations, we expect a distributed tracing backend to be made available by the infrastructure team.
We have used OpenTelemetry that is the mechanism by which application code is instrumented, to help make a system observable.
For all our components that support OpenTelemetry, tracing can be enabled as below:
global:
  tracing:
    enabled: true
    otelExporter:
      endpoint: "https://endpoint_of_tracing_backend"
      headers:
        authorization: "Basic ..."Example: Honeycomb
To set up Honeycomb to export the traces and visualize them, you can follow the below configuration:
global:
  tracing:
    enabled: true
    otelExporter:
      endpoint: https://api.honeycomb.io
      headers:
        x-honeycomb-team: teamUID
        x-honeycomb-dataset: datasetDepending on the instrumentation backend, you may want to add custom headers. Please refer to thr desired link to get more information about required headers: