Javascript 普罗米修斯总结观察法做什么?
我正在尝试使用摘要指标,而不是安静地理解我将摘要放在哪里。观察通话?以下是prom客户端示例(您可以在npm上找到): 但是没有足够的信息来使用它Javascript 普罗米修斯总结观察法做什么?,javascript,node.js,grafana,prometheus,Javascript,Node.js,Grafana,Prometheus,我正在尝试使用摘要指标,而不是安静地理解我将摘要放在哪里。观察通话?以下是prom客户端示例(您可以在npm上找到): 但是没有足够的信息来使用它 观察(10)是什么意思 我应该把总结放在哪里。观察(10)电话?就在摘要度量声明之后或在函数/endoint调用的末尾,如: const client=require(“prom-client”) 有人对总结观察有很好的例子/解释吗?首先,让我们澄清什么是:总结指标从事件中捕获单个观察结果,并将其总结为若干相关指标: 值的总和(也称为观察值) 观察计
有人对总结观察有很好的例子/解释吗?首先,让我们澄清什么是:总结指标从事件中捕获单个观察结果,并将其总结为若干相关指标:
- 首先,创建一个摘要度量,提供
- 名称和标签(通常用于标识度量)-例如:
foobar\u请求\u持续时间\u秒
- 通常以某种方式指示测量窗口(观察次数或事件的最大年龄)
- 要计算的分位数列表-ex:0.1,0.5(中位数)、0.75,0.9
- 名称和标签(通常用于标识度量)-例如:
- 对于每个请求,您将计算请求的响应时间-这是一个观察
- 然后将计算出的请求响应时间提供给summary对象
- 当普罗米修斯到达终点时,将根据观察到的响应时间度量计算指标
:请求消耗的总秒数foobar\u请求\u持续时间\u秒数\u总和
:请求数(注意,您可以使用总和计算平均值)foobar\u请求\u持续时间\u秒数\u计数
:响应时间10%(…所有配置的分位数相同)foobar\u请求\u持续时间\u秒\u秒{quantile=“0.1”}
new client.Summary({
name: 'metric_name',
help: 'metric_help',
percentiles: [0.01, 0.1, 0.9, 0.99]
});
第二,如何限制测量窗口;此处,在过去10分钟内计算测量值(使用5个桶-这会影响值的平滑):
回到您的问题,应该对您正在观察的内容调用observe()
方法
如果要测量由serviceCall()
返回的某些数据,请将其提供给摘要
number_bytes_exchanged = await this.serviceCall();
summary.observe(number_bytes_exchanged);
如果您想测量服务呼叫所花费的时间
const observe_response_time = summary.startTimer();
await this.serviceCall();
observe_response_time();
谢谢你,Michael,我只是不知道我真正需要将什么作为参数传递到summary.observe()中;根据prom客户文件,他们在这里真正观察到了什么:总结。观察(10)???它们是有关如何使用对象的示例:
summary.observe(10)
指示在end=summary.startTimer()时调用先前计算的值(大小、数字等)的函数;end()
是startTime=now()的合成糖;总结。观察(now()-startTime)
。但你是对的,在无中生有的情况下叫它,它不测量任何东西。
new client.Summary({
name: 'metric_name',
help: 'metric_help',
maxAgeSeconds: 600,
ageBuckets: 5
});
number_bytes_exchanged = await this.serviceCall();
summary.observe(number_bytes_exchanged);
const observe_response_time = summary.startTimer();
await this.serviceCall();
observe_response_time();