表示期間内に1点でもメトリック投稿されていれば、グラフが表示されるようになりました

こんにちは!Mackerel CREの須藤(id:do-su-0805)です。
題目の通りの改修を実施したので、お知らせいたします。

いままでは、投稿したメトリックをグラフから確認する際に、表示期間内(30分や1日など)に一定数以上のメトリックが投稿されていないと「選択中の期間はデータが存在しません」と表示され、メトリックが確認できない状態でした。
これを改修し、表示期間内に1点でもメトリックが投稿されていれば、グラフが描画されメトリックを確認できるようになりました!

ユースケース

一日一回、0時ごろに実行されるバッチの結果をメトリックとして投稿しているケース

一日一回、0時ごろに実行されるバッチの結果をメトリックとして投稿しているケースでは、投稿された時刻周辺を表示範囲として選択した場合はグラフの表示が可能でしたが、実行された日全体を範囲とした場合には、「選択中の期間はデータが存在しません」と表示されておりました。

17:25周辺に数点投稿があり、その周辺を表示期間としてグラフ表示できている例

投稿数が足りなかった場合にエラー表示されている例

今回の改修により、表示期間内に1点しか投稿されていないメトリックの場合でも、以下のようにグラフ上で確認できるようになりました。

17:50に1点だけ投稿されている場合に、表示範囲を一日にしてもグラフが表示できている様子

不定期に動作するバッチの結果をメトリックとして投稿しているケース

不定期に動作するバッチの結果をメトリックとして投稿しているケースでも同様に、投稿された時刻周辺を表示範囲として選択した場合はグラフの表示が可能でしたが、表示期間によっては「選択中の期間はデータが存在しません」と表示されておりました。 今回の改修により、従来は「選択中の期間はデータが存在しません」となっていたような表示間隔においても、以下のようにグラフが表示されるようになりました。

投稿点数が不定期で少ない場合でも、表示期間を1週間にして表示できている様子

さいごに

本仕様については制定当時、mackerel-agentによって投稿される1分粒度のメトリックを前提としており、表示期間にあわせた平均値としての表示する際に、エラーなどで1時間に1点といった低い頻度で投稿されたメトリックの値が平均されずに利用されるのは不適切ではないかと判断し、このような仕様となっておりました。

しかし現在では、mackerel-agentだけでなくAPIやCLIツール(mkr)など様々な方法でメトリックが投稿されており、この従来の仕様によって「投稿したメトリックが表示されない」というご意見が多く寄せられていました。

今回の変更は、このようなお客様の声に対応したものです。この改修により、Mackerelをより便利に活用いただければ幸いです!