Monitoring 如何在Prometheus中绘制单个摘要度量实例?

Monitoring 如何在Prometheus中绘制单个摘要度量实例?,monitoring,latency,summary,prometheus,Monitoring,Latency,Summary,Prometheus,我使用普罗米修斯的摘要指标来收集API调用的延迟。我只是调用Thread.sleep(1000)来模拟1秒的API调用延迟值,而不是进行实际的API调用——这使得摘要的延迟值为.01(1秒)。但是,例如,如果我在同一分钟内调用了两次Thread.sleep(1000),那么Summary度量的值最终为.02(延迟2秒),而不是恰好在同一分钟内发生的两个.01延迟实例。我的问题是普罗米修斯的疑问。我目前使用的普罗米修斯查询是:rate(我的自定义汇总[1m]) 我的Prometheus查询应该是什

我使用普罗米修斯的摘要指标来收集API调用的延迟。我只是调用
Thread.sleep(1000)
来模拟1秒的API调用延迟值,而不是进行实际的API调用——这使得
摘要
的延迟值为.01(1秒)。但是,例如,如果我在同一分钟内调用了两次
Thread.sleep(1000)
,那么
Summary
度量的值最终为.02(延迟2秒),而不是恰好在同一分钟内发生的两个.01延迟实例。我的问题是普罗米修斯的疑问。我目前使用的普罗米修斯查询是:
rate(我的自定义汇总[1m])

我的Prometheus查询应该是什么,这样我就可以看到每个
Thread.sleep(1000)
调用的延迟。从现在起,
摘要
指标收集并显示每分钟的总延迟总和。如何显示对
Thread.sleep(1000)
(即API请求)的每个调用的延迟

这是此查询的结果图:
普罗米修斯是一个基于指标的监控系统,它关注整体性能和行为,而不是单个请求

您正在寻找的是一个基于日志的系统,例如Graylog或ELK stack

private static final Summary mySummary = Summary.build()
                                        .name("my_custom_summary")
                                        .help("This is a custom summary that keeps track of latency")
                                        .register();

Summary.Timer requestTimer = mySummary.startTimer(); //starting timer for mySummary 'Summary' metric
        Thread.sleep(1000); //sleep for one second
        requestTimer.observeDuration(); //record the time elapsed