Skip to content

Envoy Gateway - support tracing sampler configuration #8476

@jan-mrm

Description

@jan-mrm

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:

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions