Description:
I'd like to be able to configure the "tracing sampler" in the Envoy Gateway.
Currently only the samplingRate is configurable:
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyProxy
spec:
telemetry:
tracing:
samplingRate: 100
...
The current default sampler behaves like / is ParentBased(root=TraceIdRatioBased), so the incoming headers trace sampling decision is respected (forwarded) and if non is available (so when no traceparent header exists) then its sampled by the defined samplingRate.
Since there are other samplers / other sampling behaviors it would be nice to be able to choose / configure this as the user who is handling the EnvoyProxy / Envoy Gateway config.
Other samplers do exist already in envoy, see [2,] but its a work-in-progress extension and is not configurable yet (also not configurable with a workaround by using an EnvoyPatchPolicy, see [1]).
I could imagine a config like spec.telemetry.tracing.sampler that could take enum values AlwaysOn / AlwaysOff / ParentBased / TraceIdRatioBased / ParentBasedAlwaysOn / ParentBasedTraceIdRatioBased / ...
The samplingRate would then only have an effect if the sampler is RatioBased.
Relevant Links:
Description:
I'd like to be able to configure the "tracing sampler" in the Envoy Gateway.
Currently only the
samplingRateis configurable:The current default sampler behaves like / is
ParentBased(root=TraceIdRatioBased), so the incoming headers trace sampling decision is respected (forwarded) and if non is available (so when notraceparentheader exists) then its sampled by the definedsamplingRate.Since there are other samplers / other sampling behaviors it would be nice to be able to choose / configure this as the user who is handling the
EnvoyProxy/ Envoy Gateway config.Other samplers do exist already in envoy, see [2,] but its a work-in-progress extension and is not configurable yet (also not configurable with a workaround by using an EnvoyPatchPolicy, see [1]).
I could imagine a config like
spec.telemetry.tracing.samplerthat could take enum valuesAlwaysOn/AlwaysOff/ParentBased/TraceIdRatioBased/ParentBasedAlwaysOn/ParentBasedTraceIdRatioBased/ ...The
samplingRatewould then only have an effect if the sampler is RatioBased.Relevant Links: