stats: differentiating HTTP statuses generated by Envoy from those returned by upstream
#10,231 opened on Mar 3, 2020
Repository metrics
- Stars
- (27,997 stars)
- PR merge metrics
- (Avg merge 8d) (378 merged PRs in 30d)
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.