Tracing
Package: tracing.options.gloo.solo.io
Types:
- ListenerTracingSettings
- RouteTracingSettings
- TracePercentages
- TracingTagEnvironmentVariable
- TracingTagLiteral
- TracingTagMetadata
- MetadataValue
- Kind
Source File: github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto
ListenerTracingSettings
Contains settings for configuring Envoy’s tracing capabilities at the listener level. See here for additional information on Envoy’s tracing capabilities. See here for additional information about configuring tracing with Gloo Edge.
"requestHeadersForTags": []google.protobuf.StringValue
"verbose": .google.protobuf.BoolValue
"tracePercentages": .tracing.options.gloo.solo.io.TracePercentages
"zipkinConfig": .solo.io.envoy.config.trace.v3.ZipkinConfig
"datadogConfig": .solo.io.envoy.config.trace.v3.DatadogConfig
"openTelemetryConfig": .solo.io.envoy.config.trace.v3.OpenTelemetryConfig
"openCensusConfig": .solo.io.envoy.config.trace.v3.OpenCensusConfig
"environmentVariablesForTags": []tracing.options.gloo.solo.io.TracingTagEnvironmentVariable
"literalsForTags": []tracing.options.gloo.solo.io.TracingTagLiteral
"metadataForTags": []tracing.options.gloo.solo.io.TracingTagMetadata
"spawnUpstreamSpan": bool
Field | Type | Description |
---|---|---|
requestHeadersForTags |
[]google.protobuf.StringValue | Optional. If specified, Envoy will include the headers and header values for any matching request headers. |
verbose |
.google.protobuf.BoolValue | Optional. If true, Envoy will include logs for streaming events. Default: false. |
tracePercentages |
.tracing.options.gloo.solo.io.TracePercentages | Requests can produce traces by random sampling or when the x-client-trace-id header is provided. TracePercentages defines the limits for random, forced, and overall tracing percentages. |
zipkinConfig |
.solo.io.envoy.config.trace.v3.ZipkinConfig | Only one of zipkinConfig , datadogConfig , openTelemetryConfig , or openCensusConfig can be set. |
datadogConfig |
.solo.io.envoy.config.trace.v3.DatadogConfig | Only one of datadogConfig , zipkinConfig , openTelemetryConfig , or openCensusConfig can be set. |
openTelemetryConfig |
.solo.io.envoy.config.trace.v3.OpenTelemetryConfig | Only one of openTelemetryConfig , zipkinConfig , datadogConfig , or openCensusConfig can be set. |
openCensusConfig |
.solo.io.envoy.config.trace.v3.OpenCensusConfig | Only one of openCensusConfig , zipkinConfig , datadogConfig , or openTelemetryConfig can be set. |
environmentVariablesForTags |
[]tracing.options.gloo.solo.io.TracingTagEnvironmentVariable | Optional. If specified, Envoy will include the environment variables with the given tag as tracing tags. |
literalsForTags |
[]tracing.options.gloo.solo.io.TracingTagLiteral | Optional. If specified, Envoy will include the literals with the given tag as tracing tags. |
metadataForTags |
[]tracing.options.gloo.solo.io.TracingTagMetadata | Optional. If specified, Envoy will include tags from the dynamic metadata. |
spawnUpstreamSpan |
bool |
Optional Create separate tracing span for each upstream request if true. And if this flag is set to true, the tracing provider will assume that Envoy will be independent hop in the trace chain and may set span type to client or server based on this flag. |
RouteTracingSettings
Contains settings for configuring Envoy’s tracing capabilities at the route level. Note: must also specify ListenerTracingSettings for the associated listener. See here for additional information on Envoy’s tracing capabilities. See here for additional information about configuring tracing with Gloo Edge.
"routeDescriptor": string
"tracePercentages": .tracing.options.gloo.solo.io.TracePercentages
"propagate": .google.protobuf.BoolValue
Field | Type | Description |
---|---|---|
routeDescriptor |
string |
Optional. If set, will be used to identify the route that produced the trace. Note that this value will be overridden if the “x-envoy-decorator-operation” header is passed. |
tracePercentages |
.tracing.options.gloo.solo.io.TracePercentages | Requests can produce traces by random sampling or when the x-client-trace-id header is provided. TracePercentages defines the limits for random, forced, and overall tracing percentages. |
propagate |
.google.protobuf.BoolValue | Optional. Default is true, If set to false, the tracing headers will not propagate to the upstream. |
TracePercentages
Requests can produce traces by random sampling or when the x-client-trace-id
header is provided.
TracePercentages defines the limits for random, forced, and overall tracing percentages.
"clientSamplePercentage": .google.protobuf.FloatValue
"randomSamplePercentage": .google.protobuf.FloatValue
"overallSamplePercentage": .google.protobuf.FloatValue
Field | Type | Description |
---|---|---|
clientSamplePercentage |
.google.protobuf.FloatValue | Percentage of requests that should produce traces when the x-client-trace-id header is provided. optional, defaults to 100.0 This should be a value between 0.0 and 100.0, with up to 6 significant digits. |
randomSamplePercentage |
.google.protobuf.FloatValue | Percentage of requests that should produce traces by random sampling. optional, defaults to 100.0 This should be a value between 0.0 and 100.0, with up to 6 significant digits. |
overallSamplePercentage |
.google.protobuf.FloatValue | Overall percentage of requests that should produce traces. optional, defaults to 100.0 This should be a value between 0.0 and 100.0, with up to 6 significant digits. |
TracingTagEnvironmentVariable
Requests can produce traces with custom tags. TracingTagEnvironmentVariable defines an environment variable which gets added as custom tag.
"tag": .google.protobuf.StringValue
"name": .google.protobuf.StringValue
"defaultValue": .google.protobuf.StringValue
Field | Type | Description |
---|---|---|
tag |
.google.protobuf.StringValue | Used to populate the tag name. |
name |
.google.protobuf.StringValue | Environment variable name to obtain the value to populate the tag value. |
defaultValue |
.google.protobuf.StringValue | When the environment variable is not found, the tag value will be populated with this default value if specified, otherwise no tag will be populated. |
TracingTagLiteral
Requests can produce traces with custom tags. TracingTagLiteral defines a literal which gets added as custom tag.
"tag": .google.protobuf.StringValue
"value": .google.protobuf.StringValue
Field | Type | Description |
---|---|---|
tag |
.google.protobuf.StringValue | Used to populate the tag name. |
value |
.google.protobuf.StringValue | Static literal value to populate the tag value. |
TracingTagMetadata
Requests can produce traces with custom tags. TracingTagMetadata defines a dynamic metadata tag which gets added as custom tag.
"tag": string
"kind": .tracing.options.gloo.solo.io.TracingTagMetadata.Kind
"value": .tracing.options.gloo.solo.io.TracingTagMetadata.MetadataValue
"defaultValue": string
Field | Type | Description |
---|---|---|
tag |
string |
Used to populate the tag name. |
kind |
.tracing.options.gloo.solo.io.TracingTagMetadata.Kind | The kind of metadata to extract the value from. |
value |
.tracing.options.gloo.solo.io.TracingTagMetadata.MetadataValue | The metadata value to extract the tag value from. |
defaultValue |
string |
When no valid metadata is found, the tag value would be populated with this default value if specified, otherwise no tag would be populated. |
MetadataValue
"namespace": string
"key": string
"nestedFieldDelimiter": string
Field | Type | Description |
---|---|---|
namespace |
string |
The namespace to extract the value from the metadata. If empty will default to JWT principal namespace. |
key |
string |
The key to extract the value from the metadata. For example, principal.iss or principal.sub to extract those claims from the JWT ns. |
nestedFieldDelimiter |
string |
The delimiter to use when specifying nested fields. Default is . . This is commonly set to . , allowing for nested fields names of the form parent.child.grandchild . |
Kind
Name | Description |
---|---|
REQUEST |
The metadata is extracted from the stream metadata. |
ENDPOINT |
The metadata is extracted from the endpoint metadata. |