Tracing

Heimdall makes use of OpenTelemetry for distributed tracing to support recording of paths taken by requests as they propagate through multi-service architectures and supports all environment variables including the defined values according to OpenTelemetry Environment Variable Specification.

Configuration

By default, tracing is enabled and can be disabled and slightly tuned in the tracing property of heimdall’s configuration, which has the following properties.

  • enabled: boolean (optional)

    By making use of this property, you can configure heimdall to enable or disable tracing. Defaults to true (tracing enabled).

    Example 1. Disabling tracing.
    tracing:
      enabled: false
  • span_processor: string (optional)

    With simple and batch being the available options. By setting this property, you can define how heimdall shall process the created spans. Defaults to batch. This property is only there, as there is no corresponding setting option via OTEL tracing environment variables available.

    Example 2. Setting the span processor to export completed spans in batches.
    tracing:
      span_processor: batch

    Description of the options:

    • simple - Configures heimdall to synchronously export the created spans via configured exporters. This is not recommended for production use as it is slow and has a high computation resource usage overhead. It might be however good for testing, debugging, or showing examples of other features.

    • batch - Configures heimdall to send completed span batches to the exporter. Recommended setting for production use.

Further configuration of the tracing system happens via OpenTelemetry Environment Variables. Head over to Observability section and the referenced OTEL documentation for more details.

Last updated on Oct 6, 2022