envoyproxy/envoy

stats: differentiating HTTP statuses generated by Envoy from those returned by upstream

Open

#10.231 geöffnet am 3. März 2020

Auf GitHub ansehen
 (2 Kommentare) (10 Reaktionen) (0 zugewiesene Personen)C++ (5.373 Forks)batch import
area/statsdesign proposalhelp wanted

Repository-Metriken

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

Beschreibung

Title: Differentiating HTTTP statuses returned by upstream from ones generated by Envoy in stats

Description:

To my best knowledge, with current stats for upstream clusters it's impossible to quickly tell whether the upstream is returning particular HTTP statuses or they were generated by Envoy (due to connection issues, timeouts, missing endpoints, etc.). To quickly investigate it would be amazing if there was a tag or a separate stat name for the case when Envoy generated the status. One could them look at both the total counter vs the Envoy generated statuses counter and tell if they need to investigate Envoy config or the upstream service. I thought the internal/external statistic was the right one, but it applies to traffic from inside the local network vs the traffic originating outside of the cluster, based on XFF headers.

Relevant Links: I created a repo to demonstrate some timeouts Envoy can generate. If you run the examples it will be easier to go through the statistics in the admin panel to see there's no easy way to tell that it was Envoy that generated the status.

Contributor Guide