tukaのブログ

気が向いた時に何か書きます

Mackerelのメトリックを超簡単にCSV出力するツールを日曜大工した

気分転換と筋トレを兼ねて、Mackerelのメトリックを期間指定で引っこ抜いてCSV形式で出力する「sabadashi」という非公式なCLIを作りました。

github.com

作ったきっかけ

普段CREとして活動していると、Mackerelに投稿したメトリックをCSV形式で手元に保存したり、それを集計・加工したいというニーズをよく目にします。 メトリックの取得はAPIもしくはAPIとのやり取りをラップしたCLIツールのmkr、それらの使い方が説明されているヘルプやFAQもあるので、実現自体はもちろん可能です。
ただ当然ながらコスト*1を要するため、少しでもそのコストを削減できないかと思って試しに作ってみました。

至ってシンプルなツールです

この画像からも直感的に操作できる雰囲気は感じられますが、注意点など含め、あらかじめREADMEをよくご確認の上でご利用ください。(誤字脱字、英文法ご容赦を🙏)

という訳で、雑な部分や考慮できていない点などは、盆栽的に少しずつ改善していきます。

やってみて

やはりモノを作るのは楽しいですね。とにかく楽しい。
体調面など色々あり細切れに確保した時間で作業したのですが、私が普段バリバリGo(というか今はプログラム自体)を書く人ではないので、よい勉強になりました。少しでも誰かの役に立てば幸いです。

そして「こういうムーブがCREだよなぁ」と思うなどしました。引き続きやっていき。

余談

「Mackerelからデータを抽出する」ので「sabadashi(鯖出汁=鯖からダシを取る)」というネーミングなのですが、我ながらいいネーミングセンスだなと🤔

ちなみにロゴ画像はDTPデザイナーの妻が何パターンか描いてくれたものから採用しました。 冗談で「サバがダシ取られているっぽい絵とか描ける?」と非常にふわっとした発注をしたら、秒でゆるい作画が出来上がってきてすごい!

採用したロゴ

採用を見送ったロゴ

どちらも良かったのですが今回は上の方を採用しました!

また近々、アソビゴコロのある何か*2を作ろうと思います。

追記(2023年10月22日)

使用しているプログレスバーのライブラリに不具合があり、使用するターミナルや表示サイズによっては進捗するに連れて改行され続けてしまっているようでした。

これを最大限回避するために表示を少し修正したので、現時点の最新版v0.1.7では上のイメージと若干表示が異なります。

v0.1.7での表示

  • ターミナルの幅いっぱいに進捗表示されていたのを、表示幅によって大雑把に調整するように修正
  • ついでに作成されるファイル数(=メトリック数)を表示
  • さらについでに魚のアイコンを地味に表示

追記は今回限りとしますが、適宜アップデートされるので、releasesをチェックいただければと思います。

*1:期待する状態を得るためのエフォート(労力)

*2:便利なものは作れません