假设我有一系列的请求时间,我想给它们打分,我有两个阈值,4s和12s。在4秒或更短的时间内完成的请求会得到+1,在4秒和12秒之间会得到+0,超过12秒会得到-1。我想将分数相加,然后除以计时的总计数。我如何在Librato中做到这一点?
发布于 2016-10-07 23:46:46
目前,Librato没有提供Apdex评分,但有方法可以获得请求时间的概述。
一种简单的方法是使用composite metric ()函数构建一个map。这将允许您按主机细分指标请求时间,并可视化每分钟的请求率:
map({source:"*"},
rate(s("query-api.rails.request.time", "&", { period: "60", function: "sum" }))
)如果您想要一个提供总体请求时间大体概念的Big Number图表(如Apdex分数所提供的),则可以使用以下复合度量来显示报告时间低于400 ms的主机的百分比:
scale(
divide([
sum(
map({source:"*"},
divide([
filter(s("query-api.rails.request.time", "&", { period:"60", function:"mean" }), {lt: "400", function: "mean"}),
filter(s("query-api.rails.request.time", "&", { period:"60", function:"mean" }), {lt: "400", function: "mean"})
])
)
),
sum(
map({source:"*"},
divide([
s("query-api.rails.request.time", "&", { period:"60", function:"mean" }),
s("query-api.rails.request.time", "&", { period:"60", function:"mean" })
])
)
)
]),
{factor:"100"})这两个示例都利用了来自librato-rails的指标query-api.rails.request.time,但是您可以用报告请求时间的任何指标(例如,前端收集器librato-client)。
https://stackoverflow.com/questions/39859941
复制相似问题