GCMon version0_04
GCMon Version0_04について.GCログサーバ作成.
グラフ作成にはある程度の負荷がかかる.場合によっては,計測対象APとは別のマシンにてGCのグラフを作成できると便利かもしれない.そこで,GCLogServerを作成した.これにより,計測対象APの実行マシンではGCLogServerを立ち上げ,別マシンにてGCMonがそのGCLogServerからデータを取得してグラフを作成することが可能となる.GCLogサーバの必須設定項目は以下である.
- org.fireproject.gcmon.log4j
- GCMonのlog4j設定ファイルへのパス.
- gclog.file
- クライアントへデータを提供するGCログファイル.
- gclogserver.port
- サーバの待ち受けポート番号
- org.fireproject.gcmon.configuration
- GCMon設定ファイルへのパス.
- gcmon.conf
- log4j.xml
- gcmon.jar
- jfreechart-0.9.16.jar
- jcommon-0.9.1.jar
- log4j-1.1b7.jar
- xerces.jar
$ java -Dorg.fireproject.gcmon.log4j=./log4j.xml \
-Dgclog.file=/tmp/catalina.gc.log \
-Dgclogserver.port=5555 \
-Dorg.fireproject.gcmon.configuration=./gcmon.conf \
-classpath ./log4j-1.1b7.jar:./xerces.jar:./jfreechart-0.9.16.jar: \
./jcommon-0.9.1.jar:gcmon.jar:$CLASSPATH \
org.fireproject.gcmon.GCLogServer
GCMonでは,まず設定画面にてgclog.reader.classを以下に設定する.
org.fireproject.gcmon.reader.GCLogNetworkReader次にFile->Connect to GCLog Serverで開くダイアログにて,GCLogサーバ名とポート番号をコロン区切りで指定する.
GCLogサーバ名:ポート番号
GCログの種類(現時点では-verbose:gcか-Xloggc)に応じて,gclog.reader.classを設定するのは面倒くさい.そこで,GCLogFileReaderの実装クラスを自動判別するクラスを作成した.
org.fireproject.gcmon.reader.AutoDetectiveGCLogFileReaderGCログファイルにGCログ以外のデータが混じっていると,うまくいかない場合がある.その場合は設定画面にて適切なGCLogFileReaderを手動で設定すること.また,GCLogServerに接続するための
org.fireproject.gcmon.reader.GCLogNetworkReaderには自動で切り替わらないので,GCLogServerに接続する場合は,これを設定画面にて指定すること.

