envoyproxy/envoy

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

Open

#10 231 ouverte le 3 mars 2020

Voir sur GitHub
 (2 commentaires) (10 réactions) (0 assignés)C++ (5 373 forks)batch import
area/statsdesign proposalhelp wanted

Métriques du dépôt

Stars
 (27 997 stars)
Métriques de merge PR
 (Merge moyen 8j) (378 PRs mergées en 30 j)

Description

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.

Guide contributeur