envoyproxy / envoy

Cloud-native high-performance edge/middle/service proxy
https://www.envoyproxy.io
Apache License 2.0
24.68k stars 4.75k forks source link

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

Open nugasescuserbun opened 4 years ago

nugasescuserbun commented 4 years ago
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.

zuercher commented 4 years ago

@jmarantz seems like a bug, yes?

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions.

stale[bot] commented 4 years ago

This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted". Thank you for your contributions.

nugasescuserbun commented 4 years ago

can someone please answer if this a 'bug' or a 'feature' to set some expectations? it's really a weird behavior to filter prometheus metrics endpoint using statsd metrics names.

mattklein123 commented 4 years ago

It's a bug.

style95 commented 6 months ago

Hope this is addressed.