きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

wsadminでWorkManagerのスレッドプール統計を取得

問い合わせを受けたんで、試してみた。


同じことやりたい人がいたら、
参考程度に試してみてください。


ちょっとしか使ったことがないので、
Jythonに全然慣れてないから、
Jaclで勘弁してくださいな。
IBMは確かずいぶん前にJaclを非推奨に格下げしてたはずなんで、
賢明なエンジニアはJythonでやってみてください。


set obj [$AdminControl queryNames WebSphere:name=WorkManager.DefaultWorkManger,*]

$AdminControl invoke $obj getStats


まあ、こんだけだ。
queryNamesの条件は、適当に変えて欲しい。
ただ残念なことに、
WorkManagerが一度でも動いてないと、
queryNamesで見つからない。
これはPMIでも似た感じなことになってる。
インスタンスが無いもんは管理出来んだろうから、
別に文句を言う気もない。


最終的な出力には、
currentというのが含まれるんだが、
どうやらこいつが生きてるスレッドらしい。
生きてると言っても、動いてるとは限らない。
スレッド下限の設定でキープされる。
残念ながら、作業要求キューに残ってる数をどうやれば取れるのかが分からない。


Jythonを薦めておいてアレだが、
./wsadmin.sh -lang jython
って打ち込むと、
物凄いJarを読み込んで遅いんだよなー。


一定間隔でcurrentの値を取りたい場合は、
毎回wsadminを呼び出してられないので、
Jythonのコードで時を刻むしかないかも。