20

グラファイトを使用してデータを収集しています。一定期間の特定のイベントの合計数を取得したいと考えています。たとえば、1 週間あたりのログイン数です。

ただし、必要なのは総数だけであり、時間の経過とともにどのように変化するかを確認する必要はありません。

そのようなものを使用すると、1つではなく2つのfrom=-1w&target=summarize(stats.events.login.success,"1w")&format=jsonデータポイントが得られます。

関数から単一のデータポイントを取得する方法はありますか? summarizeまたは別の関数を使用して単一のデータポイント値を返しますか?

4

2 に答える 2

27

ここでの問題は、summaryがデフォルトでfromフィールドに整列しないことです。

summarize(seriesList, intervalString, func='sum', alignToFrom=False)

もし、するなら

from=-1w&target=summarize(stats.events.login.success,"1w","sum",true)&format=json

データポイントを1つだけ取得する必要があります。現在実行しているのは、fromパラメーターから始まる週の範囲内に収まらない日付にバケットを調整することです。そのため、最終的に2つのバケットになります。要約に関するグラファイトドキュメントから:

デフォルトでは、バケットは最も近い間隔に丸めることによって計算されます。これは、1日より短い間隔でうまく機能します。たとえば、interval = 1hourの場合、22:32はバケット22:00〜23:00になります。

alignToFrom = trueを渡すと、代わりにfrom時刻から始まるバケットが作成されます。この場合、22:32のバケットはfrom時間によって異なります。from = 6:30の場合、22:32の1時間バケットは22:30-23:30です。

于 2012-11-30T00:06:55.007 に答える
0

だから私にとっては、水曜日に週を分け、15日、16日、または17日に月を分けます. さらに、私のものは alignToFrom 値を無視しているようです。同僚は、インストール日またはウィスファー データベースが最初にインスタンス化された時期に基づいている可能性があるという考えを持っていました。曜日の場合はそうかもしれませんが、両方とも月の半ばにインストールしたとは思えません。

于 2012-12-17T20:57:36.613 に答える