Java で作成した Web サービスの CPU 使用率などをブラウザ上で確認できたらいいなと思い、さくっと調べたところ Glowroot がとても簡単に導入できそうでした。
導入
導入は Github のページ記載されている Quick Start の通りで、zip をダウンロードして Java エージェントを指定してアプリを起動するだけです。
Gradle + Gretty で Web サービスを起動する場合、まずは適当にプロジェクト直下に lib ディレクトリを作成して、その中に zip を解凍します。
projectName/ ・・・ プロジェクトルート lib/ ・・・ ライブラリディレクトリ glowroot/ ・・・ 解凍した zip。この下に負荷情報が保存される glowroot.jar ・・・ Java エージェント lib/ ・・・ OS 毎に必要な jar
次に gretty の設定に Javaエージェントを指定します。
build.gradle
gretty {
jvmArgs = [
'-javaagent:lib/glowroot/glowroot.jar'
]
}
Web アプリの起動方法は特に変わりません。アプリ起動後 localhost:4000 へアクセスするとサーバの負荷を確認できます。
$ gradle appRun
サンプル
前回の JSF プロジェクトで設定した例になります。JSF にも対応しているので、レンダリング処理と呼び出し処理などそれぞれの時間が分けて集計されています。
サイトの方に対応しているフレームワークが記載されていますが、プラグインを作成すれば他のフレームワークでも監視できるようになるようです。