こんにちは @sonots です。今日は Yohoushi (予報士) という分散 GrowthForecast グラフツールを作ったので公開します!

18

GrowthForecast
 はすごい便利なツールで、HTTP でデータを POST するだけで簡単にグラフを作ることができます。インストールも簡単ですし、とても素晴らしいツールです!o(^▽^)o

なのですが、徐々にグラフ化したいデータの数が増えるにつれて、主に2つの点において不満が生まれてきてしまいました(´・ω・`)
  1. 3階層しかもてない(/:service_name/:section_name/:graph_name の3階層)
  2. 書き込みスケーラビリティがない
    • 書き込みきれなくなった場合にもう1台足すしかない
    • そうすると、画面が分かれて使いづらい
この2つについては GrowthForecast の設計上、GrowthForecast のカスタムぐらいでは改善できなさそうでした。うちの GrowthForecast も1台では捌ききれない所に来ていて、もうそろそろ限界です。

というわけで「分散グラフツールが必要」という話になりまして、分散 GrowthForecast グラフツール Yohoushi (予報士) を作ったので OSS として公開します!

せっかくなので、上記2点の改善に加えて以下の3つの機能追加もしています。なので、この辺りの機能が欲しい、という方にとっても便利に使えるかもしれません。
  1. タグを付けて一覧表示
  2. グラフ表示期間の指定 ※ CloudForecast だとできる
  3. グラフ表示サイズの変更
Monitoring Casula Talks #4shibuyarb でトークさせてもらった時の資料もおいておきます(補足: 合体して1つにしました) :D

是非使ってみてください!



少し裏話。当初は GrowthForecast とはまったく別の分散グラフツールとして作ろうかという検討もしたのですが(MySQLにデータを保存しておき GNU Plot でグラフを描画、MySQL は Spiderでシャーディングして書き込みスケーラビリティを確保する、とか、もちろん Javascript のグラフ描画ライブラリも話にでました)、GrowthForecast にプルリク送って貢献しつつ開発していくのがOSSとしても健全なんじゃないかという結論に至りまして、分散GrowthForecastグラフツールとして実装することにしました。GrowthForecast がすでに持っている機能を再実装するのがかったるかったという話もあります ^^

なお、このグラフツールは同僚である @niku4i 氏と共同で制作しました。@niku4i 氏が所属している部署(自分とは別)でも同じような要件のグラフツールが欲しい、という話があがっていたので「似たようなもの作るんだったら一緒に作ろうぜ」という話をしました。共同活動をかる〜く許可してくれた上司と弊社の文化に感謝ですね。もちろん @niku4i にも多謝。打ち上げしましょう :D

それでは!