如何在Librato中创建Apdex分数?

时间:2016-10-04 19:07:28

标签: librato

假设我有一系列请求时间,并且我想对它们进行评分,我有2个阈值,4和12。在4秒或更短时间内完成的请求获得+1,在4秒和12秒之间获得+0,超过12秒获得-1。我想总结得分,然后将它们除以时间的总数。我怎样才能在Librato中做到这一点?

1 个答案:

答案 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} })。