search
LoginSignup
0

posted at

updated at

NRQLにて任意の直線を引く方法

はじめに

この記事は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

スクリーンショット 2022-11-15 14.29.50.png

解説

横軸が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

スクリーンショット 2022-11-15 14.38.29.png

y=1

ちなみに平行な線は簡単で以下で作れる。

SELECT
1
FROM Transaction
since '2022-10-01'
until '2022-11-01'
timeseries 1 day

スクリーンショット 2022-11-15 14.39.58.png

おわりに

New Relicすごい便利なのでこれからもうまく活用していきたいと思います!
明日もNew Relic Advent Calender 2022をお楽しみに〜!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0