Skip to content

Add support for route-level downstream metrics in Envoy Gateway #6190

@ctausendfreund

Description

@ctausendfreund

Description:
Currently, Envoy Gateway provides downstream metrics (e.g., request count, response codes) at the listener or virtual host level. However, as far as I know there is no support for collecting metrics per route, such as request counts, latencies, or error rates segmented by route match (e.g., path or prefix).

This could be achieved by:

  • Exposing route identifiers (e.g., route name, path, prefix) as tags/labels on downstream metrics.
  • Providing optional configuration in the Gateway API to enable per-route metric collection.
  • Ensuring that Prometheus-compatible metrics (e.g., envoy_http_downstream_rq_total and envoy_http_downstream_rq_time_sum) can be filtered or grouped by route.

Example desired outcome:

envoy_http_downstream_rq_total{route="/api/foo"} 123
envoy_http_downstream_rq_total{route="/api/bar"} 5

Why is this needed?

  • Enables better debugging and performance monitoring per endpoint.
  • Allows fine-grained alerting (e.g., high error rate on /api/payment only).

Currently, as far as I know, this level of detail is only achievable by manually inspecting logs or instrumenting the upstream applications.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions