使用Prometheus查询缓存命中率图

时间:2019-07-23 09:43:04

标签: spring-boot grafana prometheus caffeine

我在Spring Boot应用程序中使用Caffeine缓存。所有指标均已启用,因此我将其应用于Prometheus和Grafana。

基于cache_gets_total指标,我想构建一个 HitRate 图。

我试图获取一个缓存命中

delta(cache_gets_total{result="hit",name="myCache"}[1m])

全部从缓存中获取

sum(delta(cache_gets_total{name="myCache"}[1m]))

这两个指标均可正常工作并具有值。但是,当我尝试获得命中率时,我没有数据点。我尝试过的查询:

delta(cache_gets_total{result="hit",name="myCache"}[1m]) / sum(delta(cache_gets_total{name="myCache"}[1m]))

为什么我的Spring Boot和Caffeine中的查询不起作用以及如何基于信息获取HitRate图?

1 个答案:

答案 0 :(得分:0)

分别在prometheus中运行两个查询(“缓存命中”和“所有获取”),并将获得的标签集与结果进行比较。 为了使“ /”操作正常工作,双方必须具有完全相同的标签(和值)。通常,需要进行一些汇总才能“删除”不需要的维度/标签(例如:如果两个查询中已经有一个值,则只需将它们都包装在sum()中-在除法之前)。