私のアプリでは、外部 API を頻繁に呼び出しています。各通話時間 (秒単位) が Graphite に記録されます。
この部分は正常に機能していますが、呼び出しの総数もプロットしたいと思います。このために別のデータを別途収集する必要がありますか、それとも既存のデータからデータ ポイントの数を取得できますか。
いいえ、その必要はありません。あなたのタイマーが-Stats.app.api.call_duration.time_taken
Graphite は自動的に一連のものを計算します。これらには、count
. これにより、タイマーを更新した回数が保持されます。これは粒度に依存します。したがって、Graphite はそれを考慮して、1 秒あたりのカウントを提供しますcount_ps
。
API 呼び出しが行われたときに、データを Graphite (carbon) に直接送信しますか? その場合、Whisper データベースの解像度 (1 分または 5 分など) に応じて、Graphiteは特定の間隔で送信された最新のデータ ポイントのみを保存することに注意してください。したがって、人々は、たとえばstatsd
、Graphite の前で 1 つの間隔のすべてのデータ ポイントを平均化するために使用します。
そのため、ささやきはデータポイントの数を使用して古いデータをパージして平均化することは、正しく取得するのが難しい (または不可能でさえある) ことになります。別の指標として提出し、この間隔に注意してください。