timechartコマンドで、span=2hを指定するとグラフの開始時刻が必ず23:00から始まります。
これを00:00からグラフ表示することはできるでしょうか?
以下の検索コマンドを実行しています。
earliest=-7d@d latest=@d * | timechart span=2h count
よろしくお願いします。
どうやら、timechart内で集計時にどの時間を表示開始時刻にするか変えているようです。
集計内容としては正しいのですが、表示時に何故か午後11時に表示が始まったり、spanを変更すると、
別の時刻から表示が始まったりするようです。
以下、earliest=-1d@d latest=@d | timechart span=6h sum(key1) as sum の場合
以下、earliest=-1d@d latest=@d | timechart span=1h sum(key1) as sum の場合
なので、少しトリッキーですが、過去7日のデータを使って、2時間集計でデータを表示する際の、
別の方法を考えてみました。
先週の日曜日から土曜日のデータにおける、時間帯別集計(2時間丸め)として、
2時間集計を0-1時台、2-3時台... 22-23時台として、12個の集計値を
各曜日毎に色分けして、表示しています。
earliest=-7d@w0 latest=@w7
| bucket date_hour span=2
| chart sum(key1) as sum by date_hour date_wday
| sort date_hour
ポイントは、
・タイムスタンプを元にした、date_***というフィールドを使う所と、
・date_hour(時)を2時間集計にしている所
・date_hour(時)とdate_wday(曜日)を使って集計をする所
です。
*曜日が英語なので、並びがアルファベットになってしまっている所が辛いですが…
bananamanさんの eval を使って、曜日をソートするのを追加してみました。
いいですね、これ。
index=tutorial
| eval day=strftime(_time, "%u.%A")
| bucket date_hour span=2
| chart count by date_hour day
どうやら仕様のようです。ぴっちり00:00から始まるように、Enhancement Requestだしてみました。
時間を0時から2時間区切りに変換してみました。途中で0を付加しているのは桁数を合わせてソートがおかしくならないようにするためです。
earliest=-7d@d latest=@d * |eval Tghr=tostring(floor(tonumber(strftime(_time,"%H"))/2)*2)|
eval Tgtime=strftime(_time,"%Y/%m/%d:")+if(len(Tghr)==1,"0"+Tghr,Tghr) |
chart count by Tgtime
どうやら、timechart内で集計時にどの時間を表示開始時刻にするか変えているようです。
集計内容としては正しいのですが、表示時に何故か午後11時に表示が始まったり、spanを変更すると、
別の時刻から表示が始まったりするようです。
以下、earliest=-1d@d latest=@d | timechart span=6h sum(key1) as sum の場合
以下、earliest=-1d@d latest=@d | timechart span=1h sum(key1) as sum の場合
なので、少しトリッキーですが、過去7日のデータを使って、2時間集計でデータを表示する際の、
別の方法を考えてみました。
先週の日曜日から土曜日のデータにおける、時間帯別集計(2時間丸め)として、
2時間集計を0-1時台、2-3時台... 22-23時台として、12個の集計値を
各曜日毎に色分けして、表示しています。
earliest=-7d@w0 latest=@w7
| bucket date_hour span=2
| chart sum(key1) as sum by date_hour date_wday
| sort date_hour
ポイントは、
・タイムスタンプを元にした、date_***というフィールドを使う所と、
・date_hour(時)を2時間集計にしている所
・date_hour(時)とdate_wday(曜日)を使って集計をする所
です。
*曜日が英語なので、並びがアルファベットになってしまっている所が辛いですが…
bananamanさんの eval を使って、曜日をソートするのを追加してみました。
いいですね、これ。
index=tutorial
| eval day=strftime(_time, "%u.%A")
| bucket date_hour span=2
| chart count by date_hour day
ちなみに、、、
| eval Day=strftime(_time, "%u. %A") | chart sum(key1) as sum by date_hour Day
やや強引ですが、曜日の前に数字を入れる変換をすると "1. Monday"....と出力され
曜日順にソートは可能です。