3

私はカウンターメトリックを持っています。a.metric.count

普通にグラフ化すると、これは増え続ける上向きの線になり、あまり役に立ちません。私が望むのは、1 時間ごとに発生したイベントの数を表示することです。

4

3 に答える 3

8

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")

于 2013-10-16T08:05:52.647 に答える
2

同じく 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"))
)

この方法では、オフセットが小さい分だけ遅れることに注意してください。

于 2016-05-24T12:06:13.787 に答える
0

まず、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"))

このアプローチの唯一の問題は、タイムシフトされていないグラフに「最後の」値がないため、最新の時間のデータが間違っていることです。つまり、グラフが急上昇します。

于 2013-10-08T16:22:36.747 に答える