hashicorp / hashicorp/consul

Downstream metrics from Ingress Gateway should be tagged by route

Open
#9,750 1 comment 2 reactions 0 assignees View on GitHub
theme/ingress-gw theme/telemetry type/enhancement
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

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.