mirror of
https://github.com/UiO-Gaming/infoscreen3.git
synced 2026-11-05 13:56:52 +01:00
adding few test plugins and plugin system
This commit is contained in:
1 parent
72fc49f5b5
commit
a9402da665
22 files changed
+476
-163
No files matched your search
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"host": "localhost"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "ping-plugin",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
@@ -0,0 +1 @@
|
||||
testing.123
|
||||
@@ -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>
|
||||
@@ -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;
|
||||
Reference in new issue
Block a user