kazeburo/GrowthForecast — pull request #56 by hirose31 (2014-03-03 13:51:28+00:00)
Title: [WIP] Support a virtical line

まだ最低限ですけどざっくり縦線実装してみましたんですがこんなんでどうですかね？というプルリです。

- エンドポイント
- /vrule/:service_name/:section_name/:graph_name
- 特定グラフのみに縦線を描く
- /vrule/:service_name/:section_name
- 特定セクション配下の全グラフに縦線を描く
- /vrule/:service_name
- 特定サービス配下の全グラフに縦線を描く
- /vrule
- 全グラフに縦線を描く
- パラメータ
- time
- 縦線を描く時刻。任意。デフォルトは今。過去の時刻も指定可能。
- color
- 縦線の色。任意。デフォルトは ```#FF0000```
- description
- グラフに表示する判例文字列。任意。

例
```
curl -X POST -F 'color=#00FF00' -F 'description=test!' http://127.0.0.1:5125/vrule/test/hirose/foo
```

## 実装メモ
- エンドポイントの頭を ```/vrule/``` にした理由
- 既存の ```/api/``` だと、パラメータ（例えば ```mode=vrule```）によって既存コード中に違う挙動のコードを入れないといけないんでちょっときもいので却下
- 既存の ```/graph/``` は、グラフの見た目調整用なわけで、縦線は見た目よりかデータ登録だと思うので違うかなーと思い却下
- GF::RRD#graph でdbhを使うのに、GF::Webから```$self->rrd->graph```を呼ぶときに ```$self->data``` を渡すようにしてるのがきもいかも？ GF::RRDの中で GF::Web::data 相当のことができればいいのかもすけど。。

## TODO
- [ ] 起動時に```--enable-vrule```が指定されたときのみ有効にすべきか？
- GF::RRD#graphでDB参照してるので、縦線不要な人も性能劣化するのが心配
- [ ] sqliteで動作確認する