.. _envoy_api_file_envoy/config/trace/v2/trace.proto: Tracing ======= Tracing :ref:`architecture overview `. .. _envoy_api_msg_config.trace.v2.Tracing: 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 :ref:`Bootstrap ` :ref:`tracing ` field. Envoy may support other tracers in the future, but right now the HTTP tracer is the only one supported. .. code-block:: json { "http": "{...}" } .. _envoy_api_field_config.trace.v2.Tracing.http: http (:ref:`config.trace.v2.Tracing.Http `) Provides configuration for the HTTP tracer. .. _envoy_api_msg_config.trace.v2.Tracing.Http: config.trace.v2.Tracing.Http ---------------------------- `[config.trace.v2.Tracing.Http proto] `_ .. code-block:: json { "name": "...", "config": "{...}" } .. _envoy_api_field_config.trace.v2.Tracing.Http.name: name (`string `_, *REQUIRED*) The name of the HTTP trace driver to instantiate. The name must match a supported HTTP trace driver. Built-in trace drivers: - *envoy.lightstep* - *envoy.zipkin* - *envoy.dynamic.ot* - *envoy.tracers.datadog* .. _envoy_api_field_config.trace.v2.Tracing.Http.config: config (`Struct `_) Trace driver specific configuration which depends on the driver being instantiated. See the trace drivers for examples: - :ref:`LightstepConfig ` - :ref:`ZipkinConfig ` - :ref:`DynamicOtConfig ` - :ref:`DatadogConfig ` .. _envoy_api_msg_config.trace.v2.LightstepConfig: config.trace.v2.LightstepConfig ------------------------------- `[config.trace.v2.LightstepConfig proto] `_ Configuration for the LightStep tracer. .. code-block:: json { "collector_cluster": "...", "access_token_file": "..." } .. _envoy_api_field_config.trace.v2.LightstepConfig.collector_cluster: collector_cluster (`string `_, *REQUIRED*) The cluster manager cluster that hosts the LightStep collectors. .. _envoy_api_field_config.trace.v2.LightstepConfig.access_token_file: access_token_file (`string `_, *REQUIRED*) File containing the access token to the `LightStep `_ API. .. _envoy_api_msg_config.trace.v2.ZipkinConfig: config.trace.v2.ZipkinConfig ---------------------------- `[config.trace.v2.ZipkinConfig proto] `_ .. code-block:: json { "collector_cluster": "...", "collector_endpoint": "...", "trace_id_128bit": "...", "shared_span_context": "{...}" } .. _envoy_api_field_config.trace.v2.ZipkinConfig.collector_cluster: collector_cluster (`string `_, *REQUIRED*) The cluster manager cluster that hosts the Zipkin collectors. Note that the Zipkin cluster must be defined in the :ref:`Bootstrap static cluster resources `. .. _envoy_api_field_config.trace.v2.ZipkinConfig.collector_endpoint: 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. .. _envoy_api_field_config.trace.v2.ZipkinConfig.trace_id_128bit: 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. .. _envoy_api_field_config.trace.v2.ZipkinConfig.shared_span_context: shared_span_context (`BoolValue `_) Determines whether client and server spans will shared the same span id. The default value is true. .. _envoy_api_msg_config.trace.v2.DynamicOtConfig: 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 `_. .. code-block:: json { "library": "...", "config": "{...}" } .. _envoy_api_field_config.trace.v2.DynamicOtConfig.library: library (`string `_, *REQUIRED*) Dynamic library implementing the `OpenTracing API `_. .. _envoy_api_field_config.trace.v2.DynamicOtConfig.config: config (`Struct `_) The configuration to use when creating a tracer from the given dynamic library. .. _envoy_api_msg_config.trace.v2.DatadogConfig: config.trace.v2.DatadogConfig ----------------------------- `[config.trace.v2.DatadogConfig proto] `_ Configuration for the Datadog tracer. .. code-block:: json { "collector_cluster": "...", "service_name": "..." } .. _envoy_api_field_config.trace.v2.DatadogConfig.collector_cluster: collector_cluster (`string `_, *REQUIRED*) The cluster to use for submitting traces to the Datadog agent. .. _envoy_api_field_config.trace.v2.DatadogConfig.service_name: service_name (`string `_, *REQUIRED*) The name used for the service when traces are generated by envoy. .. _envoy_api_msg_config.trace.v2.TraceServiceConfig: config.trace.v2.TraceServiceConfig ---------------------------------- `[config.trace.v2.TraceServiceConfig proto] `_ Configuration structure. .. code-block:: json { "grpc_service": "{...}" } .. _envoy_api_field_config.trace.v2.TraceServiceConfig.grpc_service: grpc_service (:ref:`core.GrpcService `, *REQUIRED*) The upstream gRPC cluster that hosts the metrics service.