Distributed Tracing Configuration

Distributed tracing allows information about requests flowing between components to be recorded in a central place. This information can then be queried to find out the health of the system, individual components, or individual requests. The Cloud Native Computing Foundation (CNCF) standard for collecting this trace information is called OpenTelemetry.

Tracing Configuration Properties describes global configuration properties related to distributed tracing in MATRIXX components that support it.

Table 1. Tracing Configuration Properties
Property Description
global.tracing.enabled When set to true, distributed tracing is enabled where supported. The default value is false.
global.tracing.openTelemetry.endpoint.host The host name of the OpenTelemetry Collector endpoint. The default value is otelcol.
global.tracing.openTelemetry.endpoint.grpcPort The gRPC port number of the OpenTelemetry Collector endpoint. The default value is 4317.
global.tracing.openTelemetry.endpoint.httpScheme The HTTP scheme of the OpenTelemetry Collector endpoint, either http or https. The default value is http.

The following example shows global tracing configuration.

global:
  tracing:
    enabled: true
    openTelemetry:
      endpoint:
        host: otel-collector.opentelemetry.svc.cluster.local
        grpcPort: 4317
        httpScheme: http

Trace information is propagated to downstream services using HTTP headers in the B3 format. Only the B3 format is supported. For more information see the discussion about B3 propagation at the openzipkin/b3-propogation website. For more information about OpenTelemetry instrumentation libraries, SDKs, and collector implementations, see the OpenTelemetry documentation at the OpenTelemetry website.

For more information about OpenTelemetry, see the discussion about OpenTelemetry tracing in MATRIXX Monitoring and Logging.