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.1 by ab11, Mon Nov 27 19:44:32 2000 UTC vs.
Revision 1.8 by tdb, Fri Jan 19 00:13:49 2001 UTC

# Line 1 | Line 1
1 + //---PACKAGE DECLARATION---
2 +
3 + //---IMPORTS---
4 +
5 + import java.io.*;
6 + import java.net.*;
7 + import java.util.*;
8 +
9 + /**
10 + * Gathers system information then outputs it as XML
11 + * Collects data based on properties gained from the configurator
12 + * then packages these up using XMLFormatter and outputs them if
13 + * the timeout has passed.
14 + *
15 + * @author  $Author$
16 + * @version $Id$
17 + */
18   class SystemMonitor {
19  
20 <        public SystemMonitor( Config config ){
4 <                // create a new instace, get the info we need out of config
5 <                // like things to monitor
6 <                
7 <                lastCheck = System.currentTimeMillis();
8 <                sequence = 0;
20 > //---FINAL ATTRIBUTES---
21  
22 + //---STATIC METHODS---
23  
24 <                // why oh why wont ultra edit let me put Long in the next line? oh its trying to
12 <                // correct keywords =|
13 <                checkInterval = Long.parseLong(config.getProperty("UDPINTEVAL"));
14 <                
15 <        }
24 > //---CONSTRUCTORS---
25  
26 <        public String getInfo(){
27 <                // called to retrieve the stored averages and output them as a XML string
28 <                XMLFormatter xml = new XMLFormatter("packet");
29 <                
30 <                // just send some dummy info for now.
31 <                xml.addNest("packet_info");
32 <                    String currentTime = Long.toString(System.currentTimeMillis());
33 <                    xml.addElement("date_time", currentTime );
34 <                    xml.addElement("sequence", Integer.toString(sequence));
35 <                xml.closeNest();
36 <                xml.addNest("core");
28 <                    xml.addElement("cpu","100");
29 <                    xml.addElement("memory","200");
30 <                xml.closeNest();
31 <                xml.addNest("additional");
32 <                    xml.addElement("users","20");
33 <                xml.closeNest();
34 <                
35 <                // MUST FIX THIS..!!!!
36 <                while ( System.currentTimeMillis() < ( lastCheck + checkInterval ) ){
37 <                  // errm do nothing.. block or something.          
38 <                }
39 <                
40 <                // increment sequence.
41 <                sequence++;
42 <                                
43 <                // finally return a string
44 <                return xml.returnXML();
45 <        } // getinfo()
26 > /**
27 > * Public constructor for the class. Takes in a Config object to gain its
28 > * properties from.
29 > *
30 > */  
31 > public SystemMonitor( Config config ){
32 >        // create a new instace, get the info we need out of config
33 >        // like things to monitor
34 >        
35 >        lastCheck = System.currentTimeMillis();
36 >        sequence = 1;
37  
38 <    // last time the system data was returned.
38 >
39 >        // why oh why wont ultra edit let me put Long in the next line? oh its trying to
40 >        // correct keywords =|
41 >        /*
42 >        
43 >        try {
44 >                udpcheckInterval = Long.parseLong(config.getProperty("UDPUpdateTime")) * 1000;
45 >        }
46 >        catch ( NumberFormatException e ){
47 >                System.out.println("The value for UDPUpdateTime is invalid, using a default");
48 >                // 5 mins
49 >                udpcheckInterval = 5000 * 60;
50 >        }
51 >        */
52 >        
53 >        // make the check interval into seconds
54 >        
55 >    }
56 >
57 > //---PUBLIC METHODS---
58 >
59 >   /**
60 >    * Gathers system information and will black until the timeout has passed.
61 >    *
62 >    * @return the system information in an XML packet
63 >    */
64 >    public String getInfo(){
65 >        // called to retrieve the stored averages and output them as a XML string
66 >        String host = new String();
67 >        String ip = new String();
68 >        try {
69 >            host = InetAddress.getLocalHost().getHostName();
70 >                    ip = InetAddress.getLocalHost().getHostAddress();
71 >        } catch(UnknownHostException e) {
72 >            System.out.println(e);
73 >        }
74 >                String date = Long.toString(System.currentTimeMillis());
75 >        XMLFormatter xml = new XMLFormatter("packet", "machine_name=\""+host+"\" ip=\""+ip+"\" date=\""+date+"\" seq_no=\""+sequence+"\" type=\"data\"");
76 >
77 >            // get and decode the data
78 >            DecodeCPU_TXT details = new DecodeCPU_TXT();
79 >
80 >        // add the decoded info
81 >        xml.addString(details.getItems());
82 >        
83 >        
84 >        /*
85 >        // MUST FIX THIS..!!!!
86 >        try {
87 >                long updateIn = ( lastCheck + udpcheckInterval )-System.currentTimeMillis();
88 >                if ( updateIn > 0 ){
89 >                        Thread.sleep(updateIn);
90 >                }
91 >                else
92 >                {
93 >                        Thread.sleep(defaultUpdateTime);
94 >                }
95 >        }
96 >        catch( InterruptedException e ){
97 >                System.out.println("Sleep interrupted");
98 >        }
99 >        */
100 >        
101 >        // increment sequence.
102 >        sequence++;
103 >        // lastCheck = System.currentTimeMillis();
104 >                
105 >        // finally return a string
106 >        return xml.returnXML();
107 >    } // getinfo()
108 >    
109 > //---PRIVATE METHODS---
110 >
111 > //---ACCESSOR/MUTATOR METHODS---
112 >
113 > //---ATTRIBUTES---
114 >
115      private long lastCheck;
116      private int sequence;
117 <    private long checkInterval;
117 >
118 > //---STATIC ATTRIBUTES---
119  
120   } // class

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines