私はカウンターメトリックを持っています。a.metric.count
普通にグラフ化すると、これは増え続ける上向きの線になり、あまり役に立ちません。私が望むのは、1 時間ごとに発生したイベントの数を表示することです。
私はカウンターメトリックを持っています。a.metric.count
普通にグラフ化すると、これは増え続ける上向きの線になり、あまり役に立ちません。私が望むのは、1 時間ごとに発生したイベントの数を表示することです。
derivative
ここに記載されているように、関数を使用します: http://graphite.readthedocs.org/en/1.0/functions.html#graphite.render.functions.derivative
これにより、各データ ポイントで、値が前の時系列データ ポイントからどれだけ増加したかが示されます。
時間単位で表示したい場合は、次summarize
のドキュメントに記載されているように を使用できます: http://graphite.readthedocs.org/en/1.0/functions.html#graphite.render.functions.summarize
したがって、.count の 1 時間ごとの増加を表示するには、次のようにします。
summarize(derivative(a.metric.count), "1hour")
同じく diffSeries を使用しますが、少しだけ良いグラフが得られます:
diffSeries(
sumSeries(a.metric.count),
sumSeries(timeShift(a.metric.count, "1h"))
)
最後のスパイクを回避したい場合は、二重オフセットを使用できます。
diffSeries(
sumSeries(timeShift(a.metric.count, "1h")),
sumSeries(timeShift(a.metric.count, "2h"))
)
この方法では、オフセットが小さい分だけ遅れることに注意してください。
まず、2 つの異なるグラフが必要です。
a.metric.count
timeShift(a.metric.count, "1h")
次に、1 時間ごとに記録された最後の値を使用して、これらを 1 時間ごとに要約する必要があります。
summarize(a.metric.count, "1h", "last")
summarize(timeShift(a.metric.count, "1h"), "1h", "last")
次に、2 つのグラフの違いを示す必要があります。
diffSeries(summarize(timeShift(a.metric.count, "1h"), "1h", "last"), summarize(a.metric.count, "1h", "last"))
このアプローチの唯一の問題は、タイムシフトされていないグラフに「最後の」値がないため、最新の時間のデータが間違っていることです。つまり、グラフが急上昇します。