はじめに
この記事はNew Relic Advent Calender 2022の5日目の記事です。
New Relicにてダッシュボードを作成し日々グラフをウォッチしている中で基準線を出したくなり、任意の直線が引けたらなーと思いやり方を調べたので共有します。
TL;DR
SELECT
(min(timestamp) - 1664550000000)/2592999000
FROM Transaction
since '2022-10-01'
until '2022-11-01'
timeseries 1 day
解説
横軸がtimestampなのでこれを無理やり利用する。
min
minの部分はmaxでもlatestでもなんでも良い。
timeseries 1 dayにしてるので1 dayの中のどの値を採用するか、という選択。
1664550000000
2022-10-01 00:00:00のunixtime
https://tool.konisimple.net/date/unixtime?q=2022-10-01%2000:00:00
NewRelicではマイクロ秒まで出しているため
1664550000 + 000
となる。
2592999000
これは30日分のunixtime。
30日で1上昇するようにしている。
ここは1日分とか、自分の好きにすると良い。
これにより10/1が0, 10/31が1の直線が引けた。
From句
今回はTransactionを指定してるがtimestampがあるテーブルなら何でもいい。
ただしそのテーブルの1番最初のレコードが入ってるtimestampの地点からしか線を引けないので注意。
応用
あとはこれに傾きと初期値を入れてあげれば任意の直線を引くことができる。
例: 傾き5で初期値10。10から始まって15で終わるような直線
SELECT
5*(min(timestamp) - 1664550000000)/2592999000 + 10
FROM Transaction
since '2022-10-01'
until '2022-11-01'
timeseries 1 day
y=1
ちなみに平行な線は簡単で以下で作れる。
SELECT
1
FROM Transaction
since '2022-10-01'
until '2022-11-01'
timeseries 1 day
おわりに
New Relicすごい便利なのでこれからもうまく活用していきたいと思います!
明日もNew Relic Advent Calender 2022をお楽しみに〜!