envoyproxy / envoyproxy/envoy

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

Open
#10,231 2 comments 10 reactions 0 assignees View on GitHub
area/stats design proposal help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 20h
Merged PRs (30d)
428

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](https://github.com/chemicL/envoy-timeouts). 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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.