adding few test plugins and plugin system

This commit is contained in:
Reaby committed 2020-01-22 02:12:27 +02:00
1 parent 72fc49f5b5
commit a9402da665
22 files changed
+476 -163

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
{
"host": "localhost"
}
+8
View File
@@ -0,0 +1,8 @@
{
"name": "ping-plugin",
"version": "1.0.0",
"private": true,
"dependencies": {
}
}
+41
View File
@@ -0,0 +1,41 @@
let plugin = require("../../modules/plugin.js").default;
let config = require(__dirname + "/config.json");
var sys = require('util');
var exec = require('child_process').exec;
class myTestPlugin extends plugin {
onInit() {
}
onAdminRouter(router) {
/* let self = this;
router.get("/test", function (req, res, next) {
res.send(self.renderPluginView("test", { test: "hello!" }));
}); */
}
onPluginRouter(router) {
router.get("/ajax/ping", function (req, res) {
let cmd = "ping -c 1 ";
let regex = /=([0-9.]+?) ms/;
if (/^win/.test(process.platform)) {
cmd = "ping -n 1 ";
regex = /[><=]([0-9.]+?)ms/;
}
exec(cmd + config.host, function (err, stdout, stdErr) {
var ms = stdout.match(regex);
ms = (ms && ms[1]) ? Number(ms[1]) : ms;
res.json({ ping: ms });
});
})
}
setDisplayViewAdditions() {
return this.renderPluginView("pingWidget");
}
}
exports.default = myTestPlugin;
+1
View File
@@ -0,0 +1 @@
testing.123
+31
View File
@@ -0,0 +1,31 @@
<style>
#bandwidth {
position: absolute;
z-index: 10;
right: 0;
width: 15vw;
height: 100px;
background: whitesmoke;
border: 2px black solid;
padding: 0.5rem 1rem;
text-align: center;
}
</style>
<div id="bandwidth" class="gpu">
<h1 style="margin: 0;padding: 0;">Ping Status</h1>
<h2 id="testStatus" style="margin: 0;padding: 0;"></h2>
</div>
<script>
ping();
setInterval(() => {
ping()
}, 5000);
function ping() {
$.getJSON("/ajax/ping", function (data) {
$('#testStatus').html(data.ping + "ms");
});
}
</script>
+30
View File
@@ -0,0 +1,30 @@
let plugin = require("../../modules/plugin.js").default;
let cli = require('../../modules/cli.js');
let chalk = require('chalk');
let prevValue = 0;
let startValue = (process.memoryUsage().rss / 1048576).toFixed(1);
function tickHeapDump() {
setImmediate(function () {
var memMB = (process.memoryUsage().rss / 1048576).toFixed(1);
if (prevValue != memMB) {
let prefix = chalk.bold.red("▲");
if (memMB < prevValue) {
prefix = chalk.bold.green("▼");
}
cli.info("Memory: " + prefix + " " + (memMB - prevValue).toFixed(1) + 'Mb' + " start: " + startValue + "Mb now: " + memMB + "Mb (" + (memMB - startValue).toFixed(1) + "Mb)");
prevValue = memMB;
}
});
}
class profilerPlugin extends plugin {
onInit() {
tickHeapDump();
setInterval(() => {
tickHeapDump();
}, 5000);
}
}
exports.default = profilerPlugin;