提问者:小点点

千分尺的度量(在Spring靴中)将在普罗米修斯刮擦后保留在堆中?


我们有一个Spring应用程序,它启用了测微计度量值收集,并且度量值在一定延迟后由Prometheus服务器收集。由于指标是时间序列数据,我的问题是,在spring应用程序中收集的指标即使复制到Prometheus后,它们是否仍会保留在堆中,如果此类时间序列数据继续增长,那么堆将耗尽内存,不是吗?任何人都有测微计记忆保持率方面的知识,请告诉我们。


共1个答案

匿名用户

监测方法有责任分离。我们至少可以说出其中两个:

这是Spring应用程序的责任。它应该知道当前时刻的所有状态和指标。应用程序本身中没有时间序列数据。您无法获得类似“一小时前的应用程序指标是什么?”,因为Spring甚至在几秒钟前都不知道应用程序的状态是什么。

这就是Prometheus的用武之地。它从应用程序中抓取“当前”指标,并将其映射到当前时间戳。通过这种方式,它构建了一个时间序列,因此您可以问Prometheus“一小时前的应用程序指标是什么?”。

换句话说,在Spring应用程序的堆中,只存储当前状态,没有任何历史记录。正因为如此,不需要清理。