Tracing

Tracing architecture overview.

config.trace.v2.Tracing

[config.trace.v2.Tracing proto]

The tracing configuration specifies global settings for the HTTP tracer used by Envoy. The configuration is defined by the Bootstrap tracing field. Envoy may support other tracers in the future, but right now the HTTP tracer is the only one supported.

  1. {
  2. "http": "{...}"
  3. }

http

(config.trace.v2.Tracing.Http) Provides configuration for the HTTP tracer.

config.trace.v2.Tracing.Http

[config.trace.v2.Tracing.Http proto]

  1. {
  2. "name": "...",
  3. "config": "{...}"
  4. }

name

(string, REQUIRED) The name of the HTTP trace driver to instantiate. The name must match a supported HTTP trace driver. envoy.lightstep, envoy.zipkin, and envoy.dynamic.ot are built-in trace drivers.

config

(Struct) Trace driver specific configuration which depends on the driver being instantiated. See the LightstepConfig, ZipkinConfig, and DynamicOtConfig trace drivers for examples.

config.trace.v2.LightstepConfig

[config.trace.v2.LightstepConfig proto]

Configuration for the LightStep tracer.

  1. {
  2. "collector_cluster": "...",
  3. "access_token_file": "..."
  4. }

collector_cluster

(string, REQUIRED) The cluster manager cluster that hosts the LightStep collectors.

access_token_file

(string, REQUIRED) File containing the access token to the LightStep API.

config.trace.v2.ZipkinConfig

[config.trace.v2.ZipkinConfig proto]

  1. {
  2. "collector_cluster": "...",
  3. "collector_endpoint": "...",
  4. "trace_id_128bit": "..."
  5. }

collector_cluster

(string, REQUIRED) The cluster manager cluster that hosts the Zipkin collectors. Note that the Zipkin cluster must be defined in the Bootstrap static cluster resources.

collector_endpoint

(string, REQUIRED) The API endpoint of the Zipkin service where the spans will be sent. When using a standard Zipkin installation, the API endpoint is typically /api/v1/spans, which is the default value.

trace_id_128bit

(bool) Determines whether a 128bit trace id will be used when creating a new trace instance. The default value is false, which will result in a 64 bit trace id being used.

config.trace.v2.DynamicOtConfig

[config.trace.v2.DynamicOtConfig proto]

DynamicOtConfig is used to dynamically load a tracer from a shared library that implements the OpenTracing dynamic loading API.

  1. {
  2. "library": "...",
  3. "config": "{...}"
  4. }

library

(string, REQUIRED) Dynamic library implementing the OpenTracing API.

config

(Struct) The configuration to use when creating a tracer from the given dynamic library.

config.trace.v2.TraceServiceConfig

[config.trace.v2.TraceServiceConfig proto]

Configuration structure.

  1. {
  2. "grpc_service": "{...}"
  3. }

grpc_service

(core.GrpcService, REQUIRED) The upstream gRPC cluster that hosts the metrics service.