envoyproxy/envoy

tracing: General mechanism to avoid tracing health check requests

Open

#7.422 geöffnet am 28. Juni 2019

Auf GitHub ansehen
 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)C++ (5.373 Forks)batch import
enhancementhelp wantedtech debt

Repository-Metriken

Stars
 (27.997 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 8T) (378 gemergte PRs in 30 T)

Beschreibung

The envoy proxy has provided a mechanism to avoid tracing health check requests for some time. The current mechanism was implemented in https://github.com/envoyproxy/envoy/pull/3578#event-1684409739.

The problem with the current approach is that the decision to not sample a health check request is made after the span is already created. This is because the decision is applied when processing the request in the health check filter.

Not all tracer implementations are able to handle changing the sampling decision after the span has already been created. We almost ran into a problem with this when the datadog tracer https://github.com/envoyproxy/envoy/issues/5504 was added, but a workaround was found. However we now have this issue with the OpenCensus tracer: https://github.com/envoyproxy/envoy/pull/5387.

A possible solution has been described in https://github.com/envoyproxy/envoy/issues/5504#issuecomment-452612825

cc @cgilmour @g-easy @kyessenov

Contributor Guide