DocsEdge Stack
1.4
TracingService Plugin
TracingService Plugin
Applications that consist of multiple services can be difficult to debug, as a single request can span multiple services. Distributed tracing tells the story of your request as it is processed through your system. Distributed tracing is a powerful tool to debug and analyze your system in addition to request logging and metrics.
The TracingService
When enabled, the TracingService will instruct Ambassador Edge Stack to initiate a trace on requests by generating and populating an x-request-id HTTP header. Services can make use of this x-request-id header in logging and forward it in downstream requests for tracing. Ambassador Edge Stack also integrates with external trace visualization services, including LightStep and Zipkin-compatible APIs such as Zipkin and Jaeger to allow you to store and visualize traces. You can read further on Envoy's Tracing capabilities.
A TracingService manifest configures Ambassador Edge Stack to use an external trace visualization service:
servicegives the URL of the external HTTP trace service.driverprovides the driver information that handles communicating with theservice. Supported values arelightstep,zipkin, anddatadog.configprovides additional configuration options for the selecteddriver.tag_headers(optional) if present, specifies a list of other HTTP request headers which will be used as tags in the trace's span.
Please note that you must use the HTTP/2 pseudo-header names. For example:
- the
hostheader should be specified as the:authorityheader; and - the
methodheader should be specified as the:methodheader.
lightstep Driver Configurations
access_token_fileprovides the location of the file containing the access token to the LightStep API.
zipkin Driver Configurations
collector_endpointgives the API endpoint of the Zipkin service where the spans will be sent. The default value is/api/v1/spanstrace_id_128bitwhether a 128-bittrace idwill be used when creating a new trace instance. Defaults totrue. Setting tofalsewill result in a 64-bit trace id being used.shared_span_contextwhether client and server spans will share the samespan id. The default value istrue.
datadog Driver Configurations
service_namethe name of the service which is attached to the traces. The default value isambassador.
You may only use a single TracingService manifest per Ambassador deployment. Ensure ambassador_id is set correctly in the TracingService manifest.
Example
ON THIS PAGE