envoyproxy/envoy

Envoy /stats/prometheus?filter works only with statsd metrics

Open

#10,927 opened on Apr 24, 2020

View on GitHub
 (6 comments) (1 reaction) (0 assignees)C++ (5,373 forks)batch import
area/statshelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

curl  'localhost:9901/stats/prometheus?filter=runtime.load_error'
# TYPE envoy_runtime_load_error counter
envoy_runtime_load_error{} 0

I was expecting envoy_runtime_load_error to be used when filtering metrics on the prometheus stats endpoint, but filtering on it returns nothing. Only statsd runtime.load_error works.

This forces a weird mapping on the monitoring side. We have to maintain a map of statsd:prometheus metric names or re-implement the reverse transformation on the monitoring side.

I'm willing to work on this if it's considered a bug and not expected behaviour. What I think is happening is that the filtering is done before the statsd->prometheus metric transformation -- and should be moved after.

Contributor guide