TestRunner.java 3.16 KB
package se.lil.om;

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<OraMon> oraList = Registry.getList();
		
		OraMon mon1 = new OraMon("jdbc:oracle:thin:@uvp3dbkappkg:1550:VP1K03","dbsnmp","dbsnmp"); // SID eller Service Name format
		//OraMon mon2 = new OraMon("jdbc:oracle:thin:@host:port:sid","user","pass"); // SID format
		mon1.open();
		//mon2.open();
		oraList.add(mon1);
		//oraList.add(mon2);
				
		int times = 100;
		while(times-- > 0) {
			int num = 0;
			for(OraMon mon : oraList) {
				num++;
				Long ts1 = System.currentTimeMillis();
				mon.getData();
				Long time = System.currentTimeMillis() - ts1;
				
				System.out.println(
//						"Logical reads:" + mon.getLogicalReadsPerSecond()
//						+ " Consistent gets: " + mon.getPerSecondValue("consistent gets")
//						+ " Block Gets: " + mon.getPerSecondValue("db block gets")
//						+ " Block Changes: " + mon.getPerSecondValue("db block changes")
//						+ "\n"
						"MON" + num + " CPUs: " + mon.getNumberOfCPUs() 
						+ " CPU Time: " + String.format("%1$,.2f", mon.getCPUTimePerSecond()/1000) + "ms/s"
						+ " CPU Usage: " + String.format("%1$,.2f", mon.getCPUPercent()) + "%"
						+ " CPU xNIWT: " + String.format("%1$,.2f", mon.getCPUPercent(true)) + "%"
						+ " OS Busy: " + String.format("%1$,.2f", mon.getOsBusyPercent()) + "%"
//						+ " (Raw: " + mon.getCPURawValue() 
//						+ " Diff: " + mon.getCPURawDiff()
//						+ " Available: " + String.format("%1$,.2f", mon.getCPUAvailableSeconds()*1000) + ")"
						+ " NIWTime: " + String.format("%1$,.2f", mon.niwTime.getPerSecondValue()) + "ms/s"
//						+ "\n"
//						+ "Cache Hit Ratio: " + String.format("%1$,.2f", mon.getCacheHitRatioPercent()) + "%"
//						+ " Buffer Cache Hit Ratio: " + String.format("%1$,.2f", mon.getBufferCacheHitRatioPercent()) + "%"
//						+ "\n"
//						+ "Redo size: " + mon.getPerSecondValue("redo size")
//						+ " Phys Reads: " + mon.getPerSecondValue("physical reads")
//						+ " Phys Writes: " + mon.getPerSecondValue("physical writes")
//						+ " Redo Writes: " + mon.getPerSecondValue("redo writes")
//						+ "\n"
//						+ "Non Idle Wait: " + mon.getPerSecondValue("non-idle wait time")
//						+ " File IO Wait: " + mon.getPerSecondValue("file io wait time")
//						+ "\n"
//						+ "Executes: " + mon.getPerSecondValue("execute count")
//						+ " User calls: " + mon.getPerSecondValue("user calls")
//						+ " Commits: " + mon.getPerSecondValue("user commits")
//						+ " Rollbacks: " + mon.getPerSecondValue("user rollbacks")
//						+ " Parse tot: " + mon.getPerSecondValue("parse count (total)")
//						+ " Parse hard: " + mon.getPerSecondValue("parse count (hard)")
						+ "\nTime: " + time + "ms"
						);
				
			}
			System.out.println("---------------------------------------------------------------------------------------------------------------");
			Thread.sleep(15000);
		}
		
		// Close all mon objects
		for(OraMon mon : oraList) {
			mon.close();
		}
	}

}