2016-10-04 51 views
2

說我有一系列的請求時間,我想給他們打分,我有2個門檻,4s和12s。以4s或更少完成的請求獲得+1,4s和12s之間獲得+0,並且12s獲得-1。我想總結分數,然後將它們除以計時的總數。我如何在Librato中做到這一點?如何在Librato中創建Apdex分數?

回答

4

目前Librato不提供Apdex評分,但有多種方法可以獲得請求計時的概述。

一個簡單的方法是使用map()函數構建composite metric。這將允許您通過主機來細分指標要求的時間和可視每分鐘的請求速率:

map({source:"*"}, 
    rate(s("query-api.rails.request.time", "&", { period: "60", function: "sum" })) 
) 

如果你想要一個Big Number圖表提供了總體要求時代的總體思路(作爲Apdex的分數提供),那麼你可以使用下面的複合度量,以顯示主人的在400毫秒報告百分比:

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,但你可以代替任何此度量報告請求時間的度量標準e(例如。前端收集器librato-client)。