All Articles

Graphite/Grafana/Sitespeedioで超手軽に継続パフォーマンスモニタリングする話

検証環境をささっと構築する

社内のチームでやってたけど、取っ掛かり部分を担当してたので、せっかくなので公開する。

この手の話題はすでにフロントエンド界隈の方は手を付けてらっしゃるので、一歩遅れている感が否めないですね。

大体下記エントリを参考にしている。というか同じことを焼きまわししている。</p>

graphite, grafana, sitespeed.io, diamond で継続 Web パフォーマンスモニタリング

Sitespeed.io + Docker と Hosted Graphite で Web のパフォーマンス計測実験

つもお世話になっています。

上記サイトでは個別にdocker-imageを起動しているが、もっと簡単に構築するため自分はdocker-composeを使ってオーケストリゼーションを図る。

特にsitespeed.ioの計測用のdockerコマンドとか長ったらしくて毎回打つ気にならない(aliasとかやるだろうけど)。環境はUbuntu Server 14.04。</p>

はい。

DockerとDocker-composeのインストール

特別なことはせず。

// Dockerをインストール
$ wget -qO- https://get.docker.com/ | sh
// dockerグループに自分を追加
$ sudo usermod -aG docker [username]
// rootで作業する必要がある
$ sudo su
# curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
# exit
$ docker-compose -h

ヘルプが出ればOK。

環境立ち上げ

もうこれも面倒なので、セットアップのシェルをGistに上げた。

ysugmoto/setup.sh

setup.shをDLして起動すればいい感じにモニタリングデータ保存先とdocker-compose.ymlを生成してくれる。

計測

sitespeed.ioのdocker-imageを毎回起動するのも面倒なので、同じくsitespeedio.shをDL実行すればOK。 -bでブラウザ指定が可能(デフォルトはfirefox、-b chromeでchromeで計測)。

たぶんこれが一番早いと思います

数回のコマンドで計測環境が構築できましたとさ。便利になったもんだ。