CPU Usage
This commit is contained in:
parent
97900e0fac
commit
ed0c76f73c
7 changed files with 59 additions and 2 deletions
1
data/raw/test/cpuusage.raw
Normal file
1
data/raw/test/cpuusage.raw
Normal file
|
@ -0,0 +1 @@
|
||||||
|
1.2%
|
7
index.js
7
index.js
|
@ -36,3 +36,10 @@ app.route(apiPrefix + '/diskspace').get((req, res) => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
app.route(apiPrefix + '/cpuusage').get((req, res) => {
|
||||||
|
fs.readFile(path.join(__dirname, 'data/json', 'cpuusage.json'), 'utf8', (err, json) => {
|
||||||
|
if (err) { throw new Error(err); }
|
||||||
|
res.json(JSON.parse(json));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
let dataFromDate = require('./mkDataFromDate.js');
|
let dataFromDate = require('./mkDataFromDate.js');
|
||||||
let dataFromDiskspace = require('./mkDataFromDiskspace.js');
|
let dataFromDiskspace = require('./mkDataFromDiskspace.js');
|
||||||
|
let dataFromCPUUsage = require('./mkDataFromCPUUsage.js');
|
||||||
|
|
||||||
let isTestMode = process.argv[2] === '--test';
|
let isTestMode = process.argv[2] === '--test';
|
||||||
|
|
||||||
dataFromDate(isTestMode);
|
dataFromDate(isTestMode);
|
||||||
dataFromDiskspace(isTestMode);
|
dataFromDiskspace(isTestMode);
|
||||||
|
dataFromCPUUsage(isTestMode);
|
||||||
|
|
20
mkDataFromCPUUsage.js
Normal file
20
mkDataFromCPUUsage.js
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports = async function(useTestData = false) {
|
||||||
|
fs.readFile(path.join(__dirname, 'data/raw', useTestData ? 'test' : 'real', 'cpuusage.raw'), 'utf8', (err, usage) => {
|
||||||
|
if (err) {
|
||||||
|
console.error(err);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
let jsonString = JSON.stringify({
|
||||||
|
str: usage,
|
||||||
|
num: parseFloat(usage.slice(0, usage.length -1)),
|
||||||
|
});
|
||||||
|
|
||||||
|
fs.writeFile(path.join(__dirname, 'data/json', 'cpuusage.json'), jsonString, err => {
|
||||||
|
if (err) throw err;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
4
mkRaw.sh
4
mkRaw.sh
|
@ -8,3 +8,7 @@ echo "date.raw updated"
|
||||||
touch data/raw/real/diskspace.raw
|
touch data/raw/real/diskspace.raw
|
||||||
df | grep /dev/md0 > data/raw/real/diskspace.raw
|
df | grep /dev/md0 > data/raw/real/diskspace.raw
|
||||||
echo "diskspace.raw updated"
|
echo "diskspace.raw updated"
|
||||||
|
|
||||||
|
touch data/raw/real/usage.raw
|
||||||
|
top -b -n2 -p 1 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' -v prefix="$prefix" '{ split($1, vs, ","); v=vs[length(vs)]; sub("%", "", v); printf "%s%.1f%%\n", prefix, 100 - v }' > data/raw/real/cpuusage.raw
|
||||||
|
echo "usage.raw updated"
|
||||||
|
|
|
@ -4,14 +4,19 @@ new Vue({
|
||||||
fetchingLastBuildDate: true,
|
fetchingLastBuildDate: true,
|
||||||
lastBuildDate: '',
|
lastBuildDate: '',
|
||||||
|
|
||||||
fetchingDiskSpace: '',
|
fetchingDiskSpace: true,
|
||||||
diskSize: '',
|
diskSize: '',
|
||||||
diskUsed: '',
|
diskUsed: '',
|
||||||
diskCapacity: '',
|
diskCapacity: '',
|
||||||
|
|
||||||
|
fetchingCPUUsage: true,
|
||||||
|
cpuUsageNum: 0,
|
||||||
|
cpuUsageStr: '',
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.fetchLastBuildDate();
|
this.fetchLastBuildDate();
|
||||||
this.fetchDiskSpace();
|
this.fetchDiskSpace();
|
||||||
|
this.fetchCPUUsage();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async fetchLastBuildDate() {
|
async fetchLastBuildDate() {
|
||||||
|
@ -32,5 +37,14 @@ new Vue({
|
||||||
this.fetchingDiskSpace = false;
|
this.fetchingDiskSpace = false;
|
||||||
} catch (err) { throw new Error(err); }
|
} catch (err) { throw new Error(err); }
|
||||||
},
|
},
|
||||||
|
async fetchCPUUsage() {
|
||||||
|
this.fetchingCPUUsage = true;
|
||||||
|
try {
|
||||||
|
let { data } = await axios.get('/api/cpuusage');
|
||||||
|
this.cpuUsageNum = data.num;
|
||||||
|
this.cpuUsageStr = data.str;
|
||||||
|
this.fetchingCPUUsage = false;
|
||||||
|
} catch (err) { throw new Error(err); }
|
||||||
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -19,12 +19,21 @@
|
||||||
<div class="autogrid">
|
<div class="autogrid">
|
||||||
<div class="col-1-3">
|
<div class="col-1-3">
|
||||||
<div class="load" v-if="fetchingDiskSpace"></div>
|
<div class="load" v-if="fetchingDiskSpace"></div>
|
||||||
<h4 v-else>Used: {{diskCapacity}}</h4>
|
<h4 v-else>Disk Used: {{diskCapacity}}</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2-3">
|
<div class="col-2-3">
|
||||||
<meter min="0" v-bind:max="diskSize" v-bind:value="diskUsed"></meter>
|
<meter min="0" v-bind:max="diskSize" v-bind:value="diskUsed"></meter>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="autogrid">
|
||||||
|
<div class="col-1-3">
|
||||||
|
<div class="load" v-if="fetchingCPUUsage"></div>
|
||||||
|
<h4 v-else>CPU Used: {{cpuUsageStr}}</h4>
|
||||||
|
</div>
|
||||||
|
<div class="col-2-3">
|
||||||
|
<meter min="0" max="100" v-bind:value="cpuUsageNum"></meter>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue