Trace Span
The tracespan
template represents an individual span within a distributed trace.
Example config:
apiVersion: "config.istio.io/v1alpha2"
kind: instance
metadata:
name: default
namespace: istio-system
spec:
compiledTemplate: tracespan
params:
traceId: request.headers["x-b3-traceid"]
spanId: request.headers["x-b3-spanid"] | ""
parentSpanId: request.headers["x-b3-parentspanid"] | ""
spanName: request.path | "/"
startTime: request.time
endTime: response.time
clientSpan: (context.reporter.kind | "inbound") == "outbound"
rewriteClientSpanId: "false"
spanTags:
http.method: request.method | ""
http.status_code: response.code | 200
http.url: request.path | ""
request.size: request.size | 0
response.size: response.size | 0
source.principal: source.principal | ""
source.version: source.labels["version"] | ""
See also: Distributed Tracing for information on tracing within Istio.
Template
TraceSpan represents an individual span within a distributed trace.
When writing the configuration, the value for the fields associated with this template can either be a literal or an expression. Please note that if the datatype of a field is not istio.policy.v1beta1.Value, then the expression’s inferred type must match the datatype of the field.