Skip to content

Instantly share code, notes, and snippets.

@kurtcebe
Created September 13, 2013 23:10
Show Gist options
  • Save kurtcebe/6557219 to your computer and use it in GitHub Desktop.
Save kurtcebe/6557219 to your computer and use it in GitHub Desktop.
[WAS] Lists all thread pools, current utilisation and maximum pool size as reported by PMI
def nameToDict(nameString):
stringList = nameString.split(',');
dict = {};
for part in stringList:
keyValueList = part.split('=');
dict[keyValueList[0]] = keyValueList[1];
return dict;
pools = AdminControl.queryNames("WebSphere:*,type=ThreadPool").split("\n");
for pool in pools:
pool = pool.rstrip();
pooldict = nameToDict(pool);
poolname = pooldict['WebSphere:name'];
servername = pooldict['process'];
if (servername.find('nodeagent') != -1):
continue;
if (servername.find('dmgr') != -1):
continue;
poolobj = AdminControl.makeObjectName(pool);
perf=AdminControl.completeObjectName('type=Perf,process='+servername+',*');
perfObj=AdminControl.makeObjectName(perf);
statObj=AdminControl.invoke_jmx(perfObj,'getStatsObject',[poolobj,java.lang.Boolean('false')],['javax.management.ObjectName','java.lang.Boolean'])
currentSize = statObj.getStatistic('PoolSize').getCurrent();
upperBound = statObj.getStatistic('PoolSize').getUpperBound();
print servername, poolname, currentSize,upperBound;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment