TestRunner.java 2.45 KB
package se.lil.jm;

import java.util.ArrayList;

public class TestRunner {

	public TestRunner() {
		// TODO Auto-generated constructor stub
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Throwable{
		// TODO Auto-generated method stub
		
		//ArrayList<OraMon> oraList = new ArrayList<OraMon>();
		ArrayList<JmxMon> jmxList = Registry.getList();
		
		Long ts1 = System.currentTimeMillis();
		
		JmxMon mon1 = new JmxMon("service:jmx:iiop:///jndi/iiop://u30457:29722/weblogic.management.mbeanservers.runtime"); // 10.3.6.0.161018.2
		//JmxMon mon1 = new JmxMon("service:jmx:rmi:///jndi/iiop://u30128:23032/weblogic.management.mbeanservers.runtime"); // 10.3.6.0.161018.2
		//JmxMon mon2 = new JmxMon("service:jmx:rmi:///jndi/iiop://u30009:26732/weblogic.management.mbeanservers.runtime"); // 10.3.6.0.12.1
		mon1.open();
		//mon2.open();
		jmxList.add(mon1);
		//jmxList.add(mon2);
				
		Long time = System.currentTimeMillis() - ts1;
		
		System.out.println(
				"Open called on all jmx monitors"
				+ "\nTime: " + time + "ms\n"
				);
		
		int times = 10;
		while(times-- > 0) {
			for(JmxMon mon : jmxList) {
				ts1 = System.currentTimeMillis();
				mon.getData();
				time = System.currentTimeMillis() - ts1;
				System.out.println(mon.getServerName() + " called in " + time + "ms");
				System.out.println(mon.getServerName() + "               Process CPU %: " + mon.getCPUPercent());
				System.out.println(mon.getServerName() + "           Process Threads #: " + mon.getThreads());
				System.out.println(mon.getServerName() + "    Process Loaded Classes #: " + mon.getLoadedClassCount());
				System.out.println(mon.getServerName() + "  Process File Descriptors %: " + mon.getSystemFileDescriptorsPercentUsed());
				System.out.println(mon.getServerName() + "       System Load (per cpu): " + mon.getAverageLoadPerCpu());
				System.out.println(mon.getServerName() + "         System Load (total): " + mon.getAverageLoad());
				System.out.println(mon.getServerName() + "             System Memory %: " + mon.getSystemMemoryPercentUsed());
				System.out.println(mon.getServerName() + "               System Swap %: " + mon.getSystemSwapPercentUsed());
				
				System.out.println();
			}
			Thread.sleep(15000);
		}
		
		// Close all mon objects
		for(JmxMon mon : jmxList) {
			mon.close();
			System.out.println("Monitor closed. " + mon.getDataCalled() + " calls and " + mon.getDataSucceeded() + " succeeded and " + mon.getDataFailed() + " failed.");
		}
		
	}
}