ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/client/monitors/CPU__Monitor.java
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/client/monitors/CPU__Monitor.java (file contents):
Revision 1.1 by tdb, Tue Feb 27 01:03:28 2001 UTC vs.
Revision 1.2 by ajm, Fri Mar 2 00:16:20 2001 UTC

# Line 28 | Line 28 | public class CPU__Monitor implements Monitor {
28  
29   //---CONSTRUCTORS---
30  
31 +    public CPU__Monitor() {
32 +        _alerterQueue = ClientMain._alerterQueue;
33 +        // get the configuration for this plug-in
34 +        Configuration config = _refman.getCM().getConfiguration(_name);
35 +        _levels = new double[(Alert.alerts).length];
36 +        for (int x = 0; x < Alert.alerts.length; x++) {
37 +            try {
38 +                _levels[x] = Double.parseDouble(config.getProperty("Monitor.CPU.level." + x));
39 +            } catch (NumberFormatException e) {
40 +                _levels[x] = -1;
41 +            }
42 +        }
43 +    }
44   //---PUBLIC METHODS---
45  
46      public void analysePacket(XMLPacket packet) {
47 <        // yeah, now what ?
47 >        for(int x=0; x < _levels.length; x++) {
48 >            if (_levels[x] != -1) {
49 >                double idle = Double.parseDouble(packet.getParam("packet.cpu.idle"));
50 >                if (_levels[x] < idle) fireAlert(x, idle, "idle");
51 >                double user = Double.parseDouble(packet.getParam("packet.cpu.user"));
52 >                if (_levels[x] < user) fireAlert(x, user, "user");
53 >                double kernel = Double.parseDouble(packet.getParam("packet.cpu.kernel"));
54 >                if (_levels[x] < kernel) fireAlert(x, kernel, "kernel");
55 >                double iowait = Double.parseDouble(packet.getParam("packet.cpu.iowait"));
56 >                if (_levels[x] < iowait) fireAlert(x, iowait, "iowait");
57 >                double swap = Double.parseDouble(packet.getParam("packet.cpu.swap"));
58 >                if (_levels[x] < swap) fireAlert(x, swap, "swap");
59 >            }
60 >        }
61      }
62  
63      /**
# Line 59 | Line 85 | public class CPU__Monitor implements Monitor {
85  
86   //---PRIVATE METHODS---
87  
88 +    private void fireAlert(int alertLevel, double currentValue, String type) {
89 +        String value = Double.toString(currentValue);
90 +        String thresholdValue = Double.toString(_levels[alertLevel]);
91 +        String attributeName = "CPU " + type;
92 +        Alert alert = new Alert(alertLevel, thresholdValue, value, attributeName);
93 +        _alerterQueue.add(alert);
94 +    }
95 +
96   //---ACCESSOR/MUTATOR METHODS---
97  
98   //---ATTRIBUTES---
# Line 79 | Line 113 | public class CPU__Monitor implements Monitor {
113       * system logger that is being used.
114       */
115      private Logger _logger = ReferenceManager.getInstance().getLogger();
116 +    
117 +    private double[] _levels;
118 +
119 +    private Queue _alerterQueue;
120 +    
121 +    /**
122 +     * A reference to the reference manager in use
123 +     */
124 +    private ReferenceManager _refman = ReferenceManager.getInstance();
125  
126   //---STATIC ATTRIBUTES---
127  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines