Downstream metrics from Ingress Gateway should be tagged by route
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 43
Description
#### Feature Description
Ingress Gateways should report downstream metrics that can be filtered by their route. The current behaviour is that downstream metrics are shown as a single grouping.
#### Use Case(s)
Measuring downstream response to clients is incredibly important in production systems, you need to understand what responses you are sending to the user. This is especially important when using upstream retries, I should be able to see that an upstream is failing and that it has been retried and no error has been returned to the downstream client.
When using Ingress Gateways, the metric for the routing is not tagged with the route name. For example, if I configure the IngressGateway with two services using Host matching like so:
```yaml
---
apiVersion: consul.hashicorp.com/v1alpha1
kind: IngressGateway
metadata:
name: ingress-gateway
spec:
listeners:
- port: 80
protocol: http
services:
- name: api
hosts: ['api.dev.translate.demo.gs']
- name: web
hosts: ['web.dev.translate.demo.gs']
```
If I have a `ServiceRouter` configured with retries on API, I need to determine its efficacy in protecting the end-user from any transient upstream errors. To do this I need to look at downstream responses (envoy_http_downstream_rq_xx) and be able to filter this by the specific route.
@banks
Contributor guide
Assessment
This issue has not been assessed yet.