ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/host/java/DecodeCPU_TXT.java
Revision: 1.14
Committed: Mon Jun 10 14:10:46 2002 UTC (22 years, 5 months ago) by tdb
Branch: MAIN
CVS Tags: HEAD
Changes since 1.13: +0 -0 lines
State: FILE REMOVED
Log Message:
Tidy up of files. These are all old things that are not only no longer used
but are also probably useless to anyone other than us. This saves checking
them out all the time, and makes the "cms/source" tree contain only current
stuff. They'll still exist in the attic's though :)

File Contents

# User Rev Content
1 tdb 1.12 /*
2     * i-scream central monitoring system
3 tdb 1.13 * http://www.i-scream.org.uk
4 tdb 1.12 * Copyright (C) 2000-2002 i-scream
5     *
6     * This program is free software; you can redistribute it and/or
7     * modify it under the terms of the GNU General Public License
8     * as published by the Free Software Foundation; either version 2
9     * of the License, or (at your option) any later version.
10     *
11     * This program is distributed in the hope that it will be useful,
12     * but WITHOUT ANY WARRANTY; without even the implied warranty of
13     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14     * GNU General Public License for more details.
15     *
16     * You should have received a copy of the GNU General Public License
17     * along with this program; if not, write to the Free Software
18     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19     */
20    
21 ab11 1.1 import java.io.*;
22     import java.util.*;
23    
24     class DecodeCPU_TXT {
25    
26 tdb 1.10 XMLFormatter packet;
27 ab11 1.1
28 tdb 1.10 public DecodeCPU_TXT(){
29     HashMap data;
30 tdb 1.8 try {
31     String[] cmd = {"statgrab.pl"};
32     Process proc = Runtime.getRuntime().exec(cmd);
33     BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
34    
35     data = new HashMap();
36    
37     // Messy, but it'll keep going until no more data :/
38     try {
39     String line = new String();
40     while(true) {
41     line = in.readLine();
42     int split = line.indexOf(' ');
43     data.put(line.substring(0, split), line.substring(split+1));
44     }
45     }
46     catch (Exception e) {}
47    
48     String load1 = (String) data.get("packet.load.load1");
49 tdb 1.10 String load5 = (String) data.get("packet.load.load5");
50     String load15 = (String) data.get("packet.load.load15");
51    
52     String totalProcesses = (String) data.get("packet.processes.total");
53     String sleeping = (String) data.get("packet.processes.sleeping");
54     String zombie = (String) data.get("packet.processes.zombie");
55     String stopped = (String) data.get("packet.processes.stopped");
56     String onCPU = (String) data.get("packet.processes.cpu");
57    
58     String idle = (String) data.get("packet.cpu.idle");
59     String user = (String) data.get("packet.cpu.user");
60     String kernel = (String) data.get("packet.cpu.kernel");
61     String iowait = (String) data.get("packet.cpu.iowait");
62     String swap = (String) data.get("packet.cpu.swap");
63    
64     String real = (String) data.get("packet.memory.real");
65     String free = (String) data.get("packet.memory.free");
66     String swapTotal = (String) data.get("packet.memory.swap_total");
67     String swapFree = (String) data.get("packet.memory.swap_free");
68 tdb 1.8
69     String osname = (String) data.get("packet.os.name");
70     String osrelease = (String) data.get("packet.os.release");
71     String osplatform = (String) data.get("packet.os.platform");
72     String ossysname = (String) data.get("packet.os.sysname");
73     String osversion = (String) data.get("packet.os.version");
74    
75     String usercount = (String) data.get("packet.users.count");
76     String userlist = (String) data.get("packet.users.list");
77    
78     packet = new XMLFormatter();
79     packet.addNest("os");
80     packet.addElement("name",osname);
81     packet.addElement("release",osrelease);
82     packet.addElement("platform",osplatform);
83     packet.addElement("sysname",ossysname);
84     packet.addElement("version",osversion);
85 tdb 1.10 packet.closeNest();
86     packet.addNest("load");
87     packet.addElement("load1",load1);
88     packet.addElement("load5",load5);
89     packet.addElement("load15",load15);
90     packet.closeNest();
91     packet.addNest("processes");
92     packet.addElement("total",totalProcesses);
93     packet.addElement("sleeping",sleeping);
94     packet.addElement("zombie",zombie);
95     packet.addElement("stopped",stopped);
96 tdb 1.11 packet.addElement("cpu",onCPU);
97 tdb 1.10 packet.closeNest();
98     packet.addNest("cpu");
99     packet.addElement("idle",idle);
100     packet.addElement("user",user);
101     packet.addElement("kernel",kernel);
102     packet.addElement("iowait",iowait);
103     packet.addElement("swap",swap);
104     packet.closeNest();
105     packet.addNest("memory");
106     packet.addElement("total",real);
107     packet.addElement("free",free);
108     packet.closeNest();
109     packet.addNest("swap");
110     packet.addElement("total",swapTotal);
111     packet.addElement("free",swapFree);
112     packet.closeNest();
113 tdb 1.8 packet.addNest("users");
114     packet.addElement("count",usercount);
115 tdb 1.10 packet.addElement("list",userlist);
116     packet.closeNest();
117     packet.addNest("disk");
118     int i=0;
119     while(true) {
120     String check = (String) data.get("packet.disk.p"+i+".attributes.name");
121     if(check == null) {
122     break;
123     }
124     packet.addNest("p"+i);
125     packet.addElement("name",check);
126     packet.addElement("kbytes",(String) data.get("packet.disk.p"+i+".attributes.kbytes"));
127     packet.addElement("used",(String) data.get("packet.disk.p"+i+".attributes.used"));
128     packet.addElement("avail",(String) data.get("packet.disk.p"+i+".attributes.avail"));
129     packet.addElement("mount",(String) data.get("packet.disk.p"+i+".attributes.mount"));
130     packet.closeNest();
131     i++;
132     }
133     packet.closeNest();
134     in.close();
135 tdb 1.8
136     }
137     catch(Exception e) {
138     System.out.println("ERROR IN DECODE: "+e);
139     e.printStackTrace();
140     }
141    
142 tdb 1.10 }
143 ab11 1.1
144 tdb 1.10 public String getItems(){
145     // return the xml
146     return packet.returnXML();
147     }
148    
149 ab11 1.1
150 tdb 1.5 } // class