假设我有一系列请求时间,并且我想对它们进行评分,我有2个阈值,4和12。在4秒或更短时间内完成的请求获得+1,在4秒和12秒之间获得+0,超过12秒获得-1。我想总结得分,然后将它们除以时间的总数。我怎样才能在Librato中做到这一点?
答案 0 :(得分:4)
目前Librato不提供Apdex分数,但有一些方法可以概述请求时间。
一种简单的方法是使用map()函数构建composite metric。这样您就可以按主机划分指标请求时间,并可视化每分钟的请求率:
PAUSE
如果您想要一个Big Number图表,提供总体请求时间的一般概念(如Apdex评分所提供的),那么您可以使用以下复合指标来显示400毫秒以下报告的主机百分比:
map({source:"*"},
rate(s("query-api.rails.request.time", "&", { period: "60", function: "sum" }))
)
这两个示例都使用来自librato-rails的指标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"})
,但您可以将此指标替换为报告请求时间的任何指标(例如,前端收集器{{3} })。