ファイヤープロジェクト
GCMon version0_04
2004-08-22T23:00+09:00   matsu
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設定ファイルへのパス.
GCLogServerを起動するために必要なファイルは以下の各種jarファイルとGCMon設定ファイルgcmon.conf,GCMonのlog4j設定ファイルlog4j.xmlである.
  • gcmon.conf
  • log4j.xml
  • gcmon.jar
  • jfreechart-0.9.16.jar
  • jcommon-0.9.1.jar
  • log4j-1.1b7.jar
  • xerces.jar
上記全てが関連とディレクトリにある場合,以下により/tmp/catalina.gc.logのデータを提供するGCLogServerが起動する.
$ 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.AutoDetectiveGCLogFileReader
GCログファイルにGCログ以外のデータが混じっていると,うまくいかない場合がある.その場合は設定画面にて適切なGCLogFileReaderを手動で設定すること.また,GCLogServerに接続するための
org.fireproject.gcmon.reader.GCLogNetworkReader
には自動で切り替わらないので,GCLogServerに接続する場合は,これを設定画面にて指定すること.
matsu(C)
Since 2002
Mail to matsu