Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.4k views
in Technique[技术] by (71.8m points)

grafana - How to calculate time a metric is above a specific value with Prometheus?

I m a beginner with Prometheus and looking for some help for a query (seems basic but I m struggling to find the right syntax).

I have a metric called "speed" that return the speed of a probe (in km/h). I'd like to calculate how much time the driver has spent driving over the speed of 50km/h (speed limit) during the last - let's say - 60 minutes. And potentially also between a specific range of speed (e.g: 40 to 50).

I'm attaching a Grafana chart to illustrate it - I'm looking to calculate how much time a driver has spent in this zone.

Thank you

Grafana chart


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Try the following query:

avg_over_time((speed > bool 50)[1h:]) * 60

Here you'll find more details about this query which uses the bool modifier and the subquery support.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...