Tracing

Heimdall allows visualization of call flows in your infrastructure. It does this by using OpenTracing, an open standard designed for distributed tracing.

Following tracing backends are currently supported:

Configuration

By default, tracing is disabled, but can be configured in the tracing property of heimdall’s configuration and supports following properties.

  • provider: string (mandatory)

    By making use of this property, you can configure heimdall to enable tracing and use one of the supported tracing providers:

    Further configuration of the tracer happens with tracer specific environment variables. If you don’t do this, Heimdall makes use of tracer specific defaults. Head over to the configuration documentation of the supported tracing system, you want to use, for more details.

    Example 1. Enabling tracing with Jaeger.
    tracing:
      provider: jaeger

    By default, Jaeger client assumes the agent is running on the same host. You can however, as mentioned above, change it by making use of JAEGER_AGENT_HOST environment variable.

  • service_name: string (optional)

    By setting this property, you can adjust the service name, appearing for Heimdall for your tracing backend. Defaults to heimdall. You can also override this value by making use of tracer specific configuration via environment variables.

    Example 2. Setting the service name, appearing for Heimdall in your tracing backend to foobar.
    tracing:
      service_name: foobar