Mercurial > hg > blitz_condensed
annotate src/org/dancres/blitz/tools/CondensedStats.java @ 34:6f68e94c1fb8 default tip
Add CondensedStats monitoring utility, equivalent to vmstat
author | Dominic Cleal <dominic-cleal@cdo2.com> |
---|---|
date | Thu, 05 Aug 2010 11:07:25 +0100 |
parents | |
children |
rev | line source |
---|---|
34
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
1 package org.dancres.blitz.tools; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
2 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
3 import java.io.PrintStream; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
4 import java.rmi.RemoteException; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
5 import java.util.ArrayList; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
6 import java.util.Collection; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
7 import java.util.Formatter; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
8 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
9 import org.dancres.blitz.remote.StatsAdmin; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
10 import org.dancres.blitz.stats.BlockingOpsStat; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
11 import org.dancres.blitz.stats.EventQueueStat; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
12 import org.dancres.blitz.stats.IOStat; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
13 import org.dancres.blitz.stats.InstanceCount; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
14 import org.dancres.blitz.stats.MemoryStat; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
15 import org.dancres.blitz.stats.MissedOpsStat; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
16 import org.dancres.blitz.stats.OpStat; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
17 import org.dancres.blitz.stats.Stat; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
18 import org.dancres.blitz.stats.TaskQueueStat; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
19 import org.dancres.blitz.stats.ThreadStat; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
20 import org.dancres.blitz.stats.TxnStat; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
21 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
22 /** |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
23 <p>CondensedStats accepts a spacename as an argument and a loop time. It |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
24 then regularly prints a condensed view of some important space stats every |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
25 loop time seconds. Specifying a loop time of 0 will cause MonitorStats to |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
26 dump stats once and exit.</p> |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
27 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
28 <p>Typical usage: |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
29 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
30 <pre> |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
31 java -Xmx256m -Djava.security.policy=config/policy.all |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
32 -classpath /home/dan/jini/jini2_0/lib/jsk-platform.jar:/home/dan/src/jini/space/build:/home/dan/jini/jini2_0/lib/jini-ext.jar:/home/dan/jini/jini2_0/lib/sun-util.jar |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
33 org.dancres.blitz.tools.CondensedStats dancres 20 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
34 </pre> |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
35 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
36 @see org.dancres.blitz.remote.BlitzAdmin |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
37 */ |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
38 public class CondensedStats extends MonitorStats { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
39 public static void main(String args[]) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
40 new CondensedStats().startup(args); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
41 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
42 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
43 @Override |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
44 Runnable getWatcher(StatsAdmin anAdmin, long aTimeout) |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
45 { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
46 return new CondensedWatcher(anAdmin, aTimeout); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
47 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
48 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
49 /** |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
50 * Provides a vmstat-style one line repeating summary of Blitz statistics. |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
51 * Includes operation counts, active txns/ops, listeners and queue stats, |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
52 * writer I/O and VM stats. |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
53 */ |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
54 static class CondensedWatcher implements Runnable { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
55 private StatsAdmin theAdmin; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
56 private long theTimeout; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
57 private Stat[] theLastStats; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
58 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
59 CondensedWatcher(StatsAdmin anAdmin, long aTimeout) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
60 theAdmin = anAdmin; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
61 theTimeout = aTimeout; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
62 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
63 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
64 public void run() { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
65 boolean run = true; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
66 while (run) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
67 try { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
68 // if timeout is 0, run once over a 1 second period |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
69 if (theTimeout == 0) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
70 run = false; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
71 theTimeout = 1000; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
72 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
73 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
74 printHeader(System.out); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
75 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
76 theLastStats = theAdmin.getStats(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
77 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
78 for (int i = 0;; i++) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
79 Thread.sleep(theTimeout); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
80 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
81 print(System.out, (int)theTimeout / 1000); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
82 if ((i + 1) % 48 == 0) |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
83 printHeader(System.out); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
84 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
85 } catch (Exception anE) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
86 System.err.println(anE); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
87 anE.printStackTrace(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
88 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
89 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
90 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
91 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
92 public void printHeader(PrintStream out) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
93 out.println("-----ops---- " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
94 " missed " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
95 "obj " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
96 "---active-- " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
97 "listeners " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
98 "---queues-- " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
99 "------io----- " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
100 "-----vm-----"); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
101 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
102 out.println(" r t w " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
103 " r t " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
104 "+/- " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
105 "txn r t " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
106 " tr pt " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
107 "evt rem oth " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
108 " i/o qsz thr " + |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
109 "thrd mem max"); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
110 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
111 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
112 public void print(PrintStream out, int interval) throws RemoteException { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
113 Stat[] last = theLastStats; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
114 Stat[] stats = theAdmin.getStats(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
115 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
116 // Operation count since last iteration |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
117 long opReads = getOpCount(stats, OpStat.READS) - |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
118 getOpCount(last, OpStat.READS); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
119 long opTakes = getOpCount(stats, OpStat.TAKES) - |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
120 getOpCount(last, OpStat.TAKES); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
121 long opWrites = (getOpCount(stats, OpStat.WRITES) - |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
122 getOpCount(last, OpStat.WRITES)) / interval; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
123 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
124 // Missed operations, not available until first operation |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
125 long missReads = 0, missTakes = 0; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
126 MissedOpsStat missedStat = getStatistic(stats, MissedOpsStat.class); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
127 MissedOpsStat missedLast = getStatistic(stats, MissedOpsStat.class); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
128 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
129 if (missedStat != null && missedLast != null) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
130 missReads = (missedStat.getMissedReads() - missedLast.getMissedReads()) |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
131 / interval; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
132 missTakes = (missedStat.getMissedTakes() - missedLast.getMissedTakes()) |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
133 / interval; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
134 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
135 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
136 // Change op counts to include misses |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
137 opReads = (opReads + missReads) / interval; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
138 opTakes = (opTakes + missTakes) / interval; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
139 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
140 // Overall instance count |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
141 long instances = (getInstanceCount(stats) - getInstanceCount(last)) |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
142 / interval; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
143 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
144 // Active operations/txns |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
145 int activeTxn = getStatistic(stats, TxnStat.class).getActiveTxnCount(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
146 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
147 // Not available until after first space operation |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
148 int activeRead = 0, activeTake = 0; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
149 BlockingOpsStat blockedOps = getStatistic(stats, BlockingOpsStat.class); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
150 if (blockedOps != null) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
151 activeRead = blockedOps.getReaders(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
152 activeTake = blockedOps.getTakers(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
153 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
154 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
155 // Notify listeners |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
156 int listenTrans = getStatistic(stats, EventQueueStat.class).getTransientCount(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
157 int listenPers = getStatistic(stats, EventQueueStat.class).getPersistentCount(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
158 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
159 // Queues, internal notify queue, remote notify queue and other tasks |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
160 int queueEvents = getTaskQueue(stats, "Events"); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
161 int queueRemote = getTaskQueue(stats, "RemoteEvent"); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
162 int queueOther = getTaskQueue(stats, "DefaultTask"); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
163 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
164 // Writer I/O if persistent storage model in use |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
165 double ioRatio = 0; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
166 int ioQueueSize = 0, ioThrottle = 0; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
167 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
168 IOStat myIoStat = getStatistic(stats, IOStat.class); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
169 if (myIoStat != null) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
170 ioRatio = myIoStat.getInOutRatio(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
171 ioQueueSize = getStatistic(stats, IOStat.class).getQueueSize(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
172 ioThrottle = (getStatistic(stats, IOStat.class).getThrottleCount() - |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
173 getStatistic(last, IOStat.class).getThrottleCount()) |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
174 / interval; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
175 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
176 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
177 // Virtual machine |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
178 int vmThreads = getStatistic(stats, ThreadStat.class).getThreadCount(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
179 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
180 double vmMemory = getStatistic(stats, MemoryStat.class).getCurrentMemory(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
181 vmMemory = vmMemory / 1024 / 1024 / 1024; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
182 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
183 double vmMaxMem = getStatistic(stats, MemoryStat.class).getMaxMemory(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
184 vmMaxMem = vmMaxMem / 1024 / 1024 / 1024; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
185 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
186 // r t w$ r w$ +/-$txn r t$ tr pt |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
187 String formatString = "%4d %3d %3d %4d %3d %5d %4d %3d %3d %5d %4d "; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
188 // evt rem oth$i/o qsz thr$thrd mem max |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
189 formatString += "%4d %3d %3d %5.1f %4d %3d %5d %3.1f %3.1f"; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
190 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
191 String line = new Formatter().format(formatString, |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
192 opReads, opTakes, opWrites, |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
193 missReads, missTakes, instances, |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
194 activeTxn, activeRead, activeTake, |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
195 listenTrans, listenPers, |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
196 queueEvents, queueRemote, queueOther, |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
197 ioRatio, ioQueueSize, ioThrottle, |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
198 vmThreads, vmMemory, vmMaxMem).toString(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
199 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
200 out.println(line); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
201 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
202 theLastStats = stats; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
203 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
204 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
205 private <T extends Stat> Collection<T> getStatistics(Stat[] allStats, |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
206 Class<T> statClazz) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
207 Collection<T> ret = new ArrayList<T>(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
208 for (Stat stat : allStats) |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
209 if (statClazz.isInstance(stat)) |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
210 ret.add(statClazz.cast(stat)); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
211 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
212 return ret; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
213 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
214 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
215 private <T extends Stat> T getStatistic(Stat[] allStats, |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
216 Class<T> statClazz) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
217 Collection<T> subset = getStatistics(allStats, statClazz); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
218 return (subset.isEmpty()) ? null : subset.iterator().next(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
219 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
220 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
221 /** Adds up operations across all entry types. |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
222 * @param opType OpStat.TAKES/READS/WRITES |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
223 */ |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
224 private long getOpCount(Stat[] stats, int opType) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
225 long count = 0; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
226 for (OpStat ops : getStatistics(stats, OpStat.class)) |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
227 if (ops.getOp() == opType) |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
228 count += ops.getCount(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
229 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
230 return count; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
231 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
232 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
233 /** Adds up instance counts across all entry types. */ |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
234 private long getInstanceCount(Stat[] stats) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
235 long count = 0; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
236 for (InstanceCount ops : getStatistics(stats, InstanceCount.class)) |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
237 count += ops.getCount(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
238 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
239 return count; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
240 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
241 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
242 /** Gets size of a task queue with a particular task name */ |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
243 private int getTaskQueue(Stat[] stats, String taskName) { |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
244 for (TaskQueueStat ops : getStatistics(stats, TaskQueueStat.class)) |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
245 if (taskName.equals(ops.getQueueName())) |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
246 return ops.getQueueSize(); |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
247 |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
248 return 0; |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
249 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
250 } |
6f68e94c1fb8
Add CondensedStats monitoring utility, equivalent to vmstat
Dominic Cleal <dominic-cleal@cdo2.com>
parents:
diff
changeset
|
251 } |