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

问题描述 投票:0回答:1

我正在使用Prometheus的Summary指标来收集API调用的延迟。我只是调用Thread.sleep(1000)来模拟1秒的api呼叫延迟值,而不是进行实际的API调用 - 这使得Summary保持值为.01(延迟时间为1秒)。但是,例如,如果我在同一分钟内调用Thread.sleep(1000)两次,那么Summary指标的最终值为.02(延迟时间为2秒),而不是两个单独的.01延迟实例,恰好发生在同一分钟。我的问题是普罗米修斯查询。我目前使用的普罗米修斯查询是:rate(my_custom_summary_sum[1m])

我的普罗米修斯查询应该是什么,这样我就可以看到每个Thread.sleep(1000)调用的延迟。截至目前,Summary指标收集并显示每分钟的总延迟总和。如何显示每次调用Thread.sleep(1000)的延迟(即API请求)?

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

这是此查询产生的图表:Prometheus graph

monitoring latency summary prometheus
1个回答
0
投票

Prometheus是一个基于指标的监控系统,它关注整体性能和行为 - 而不是个人请求。

您正在寻找的是基于日志的系统,例如Graylog或ELK堆栈。

© www.soinside.com 2019 - 2024. All rights reserved.