ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/host/java/SystemMonitor.java
(Generate patch)

Comparing projects/cms/source/host/java/SystemMonitor.java (file contents):
Revision 1.2 by ab11, Mon Nov 27 20:36:30 2000 UTC vs.
Revision 1.4 by ab11, Thu Nov 30 17:33:36 2000 UTC

# Line 2 | Line 2
2  
3   //---IMPORTS---
4  
5 + import java.util.Random;
6 +
7   /**
8   * Gathers system information then outputs it as XML
9   * Collects data based on properties gained from the configurator
# Line 34 | Line 36 | class SystemMonitor {
36  
37          // why oh why wont ultra edit let me put Long in the next line? oh its trying to
38          // correct keywords =|
39 <        checkInterval = Long.parseLong(config.getProperty("UDPINTEVAL"));
39 >        try {
40 >                udpcheckInterval = Long.parseLong(config.getProperty("UDPUpdateTime")) * 1000;
41 >        }
42 >        catch ( NumberFormatException e ){
43 >                System.out.println("The value for UDPUpdateTime is invalid, using a default");
44 >                // 5 mins
45 >                udpcheckInterval = 5000 * 60;
46 >        }
47 >        // make the check interval into seconds
48          
49      }
50  
# Line 49 | Line 59 | class SystemMonitor {
59          // called to retrieve the stored averages and output them as a XML string
60          XMLFormatter xml = new XMLFormatter("packet");
61          
62 +        Random rand = new Random();
63 +        
64          // just send some dummy info for now.
65          xml.addNest("packet_info");
66              String currentTime = Long.toString(System.currentTimeMillis());
# Line 56 | Line 68 | class SystemMonitor {
68              xml.addElement("sequence", Integer.toString(sequence));
69          xml.closeNest();
70          xml.addNest("core");
71 <            xml.addElement("cpu","100");
72 <            xml.addElement("memory","200");
71 >            xml.addElement("cpu",""+rand.nextInt(100));
72 >            xml.addElement("memory",""+rand.nextInt(100));
73          xml.closeNest();
74 <        xml.addNest("additional");
75 <            xml.addElement("users","20");
76 <        xml.closeNest();
77 <        
74 >        if ( rand.nextBoolean() ){
75 >                xml.addNest("additional");
76 >                    xml.addElement("users",""+rand.nextInt(30));
77 >                xml.closeNest();
78 >        }
79          // MUST FIX THIS..!!!!
80 <        while ( System.currentTimeMillis() < ( lastCheck + checkInterval ) ){
81 <          // errm do nothing.. block or something.      
80 >        try {
81 >                long updateIn = ( lastCheck + udpcheckInterval )-System.currentTimeMillis();
82 >                if ( updateIn > 0 ){
83 >                        Thread.sleep(updateIn);
84 >                }
85 >                else
86 >                {
87 >                        Thread.sleep(defaultUpdateTime);
88 >                }
89          }
90 +        catch( InterruptedException e ){
91 +                System.out.println("Sleep interrupted");
92 +        }
93          
94          // increment sequence.
95          sequence++;
96 +        lastCheck = System.currentTimeMillis();
97                  
98          // finally return a string
99          return xml.returnXML();
# Line 83 | Line 107 | class SystemMonitor {
107  
108      private long lastCheck;
109      private int sequence;
110 <    private long checkInterval;
110 >    private long udpcheckInterval;
111 >    private final long defaultUpdateTime = 60000;
112  
113   //---STATIC ATTRIBUTES---
114  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines