目次
事前設定
JBoss6
standalone.xmlに
datasourceにstatistics-enabled=”true”を追加する
JBoss7
設定の必要はないです。
データソース接続の使用量の取得
1 | c:\jboss-eap-6.3\bin\jboss-cli.bat --connect --command="/subsystem=datasources/data-source=SQLServer_sample/statistics=pool:read-resource(include-runtime=true, recursive=true)" |
プロンプト待ちをでなくする
set NOPAUSE=TRUE
一定時間ごとにログに吐き出すスクリプト
windowsには、sedとjqがないため
onigsed
jq-win64
が必要です。
onigsedは、
http://www.kt.rim.or.jp/~kbk/sed/
からダウンロードしてください。
jq-win64は、
https://stedolan.github.io/jq/
からダウンロードしてください。
poolread.txt
1 2 | connect /subsystem=datasources/data-source=SQLServer_sample/statistics=pool:read-resource(include-runtime=true, recursive=true) |
jb.bat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | set NOPAUSE=TRUE set yyyy=%date:~0,4% set mm=%date:~5,2% set dd=%date:~8,2% set time2=%time: =0% set hh=%time2:~0,2% set mn=%time2:~3,2% set ss=%time2:~6,2% set filename=%yyyy%%mm%%dd%%hh%%mn%%ss% echo date,time,ActiveCount,CreatedCount,DestroyedCount,InUseCount,MaxUsedCount,MaxWaitCount >pool_%filename%.log :LOOP call c:\boss-eap-6.3\bin\jboss-cli.bat --file=poolread.txt>test.log set date2=%date% set time2=%time: =0% SET /P X=%date2%,<NUL >>pool_%filename%.log SET /P X=%time2%,<NUL >>pool_%filename%.log c:\onigsed -e s/=^>/:/g c:\test\test.log | jq-win64 -r "[.result.ActiveCount,.result.CreatedCount,.result.DestroyedCount,.result.InUseCount,.result.MaxUsedCount,.result.MaxWaitCount]|@csv" >>pool_%filename%.log rem waitfor dummy /t 1>nul 2>&1 & verify>nul goto :LOOP |
1回の取得に1秒ぐらいかかるため、sleepしていませんが、rem waitforのremを外すことで取得間隔を調整できます。