TestRunner.java
3.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
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:@//host:port/service","user","pass"); // 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();
}
}
}