From 4e5545af384f610a56b3d19ea73c3b801b0be6c6 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 9 Jun 2017 01:03:54 +0900 Subject: nanka iroiro --- src/api/stream/server.ts | 20 ++++++++++++++++++++ src/api/streaming.ts | 6 ++++++ 2 files changed, 26 insertions(+) create mode 100644 src/api/stream/server.ts (limited to 'src/api') diff --git a/src/api/stream/server.ts b/src/api/stream/server.ts new file mode 100644 index 0000000000..6de5337499 --- /dev/null +++ b/src/api/stream/server.ts @@ -0,0 +1,20 @@ +import * as websocket from 'websocket'; +import Xev from 'xev'; + +const ev = new Xev(); + +export default function homeStream(request: websocket.request, connection: websocket.connection): void { + const onStats = stats => { + connection.send(JSON.stringify({ + type: 'stats', + body: stats + })); + }; + + ev.addListener('stats', onStats); + + connection.on('close', () => { + console.log('yooo'); + ev.removeListener('stats', onStats); + }); +} diff --git a/src/api/streaming.ts b/src/api/streaming.ts index e1d79481d3..c71132100c 100644 --- a/src/api/streaming.ts +++ b/src/api/streaming.ts @@ -8,6 +8,7 @@ import isNativeToken from './common/is-native-token'; import homeStream from './stream/home'; import messagingStream from './stream/messaging'; +import serverStream from './stream/server'; module.exports = (server: http.Server) => { /** @@ -20,6 +21,11 @@ module.exports = (server: http.Server) => { ws.on('request', async (request) => { const connection = request.accept(); + if (request.resourceURL.pathname === '/server') { + serverStream(request, connection); + return; + } + const user = await authenticate(connection, request.resourceURL.query.i); if (user == null) { -- cgit v1.2.3-freya From 455a46f2cb7809fc3efb4cc9ec0b8f9e80bc2be1 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 10 Jun 2017 03:19:44 +0900 Subject: [API] Improve /meta --- src/api/endpoints/meta.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/api') diff --git a/src/api/endpoints/meta.ts b/src/api/endpoints/meta.ts index 98f812abd5..be0daba75f 100644 --- a/src/api/endpoints/meta.ts +++ b/src/api/endpoints/meta.ts @@ -1,6 +1,7 @@ /** * Module dependencies */ +import * as os from 'os'; import version from '../../version'; import config from '../../conf'; @@ -41,6 +42,9 @@ module.exports = (params) => new Promise(async (res, rej) => { res({ maintainer: config.maintainer, version: version, - secure: config.https.enable + secure: config.https.enable, + cpu: { + cores: os.cpus().length + } }); }); -- cgit v1.2.3-freya From 5b1d2ec442a825ce555be22b1a8abff27cef9f32 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 10 Jun 2017 05:25:57 +0900 Subject: [API] Improve /meta --- src/api/endpoints/meta.ts | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/api') diff --git a/src/api/endpoints/meta.ts b/src/api/endpoints/meta.ts index be0daba75f..7ab72ae8f8 100644 --- a/src/api/endpoints/meta.ts +++ b/src/api/endpoints/meta.ts @@ -43,6 +43,12 @@ module.exports = (params) => new Promise(async (res, rej) => { maintainer: config.maintainer, version: version, secure: config.https.enable, + machine: os.hostname(), + node: { + release: (process as any).release.name, + lts: (process as any).release.lts, + version: process.version + }, cpu: { cores: os.cpus().length } -- cgit v1.2.3-freya From d9c9a7f236fcfe8595181dce4ca4814138b78201 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 12 Jun 2017 02:05:23 +0900 Subject: :v: --- src/api/endpoints/meta.ts | 8 ++-- src/utils/stats.ts | 4 +- src/web/app/desktop/tags/home-widgets/server.tag | 47 ++++++++++++++++++++++-- 3 files changed, 50 insertions(+), 9 deletions(-) (limited to 'src/api') diff --git a/src/api/endpoints/meta.ts b/src/api/endpoints/meta.ts index 7ab72ae8f8..a3f1d50329 100644 --- a/src/api/endpoints/meta.ts +++ b/src/api/endpoints/meta.ts @@ -44,12 +44,10 @@ module.exports = (params) => new Promise(async (res, rej) => { version: version, secure: config.https.enable, machine: os.hostname(), - node: { - release: (process as any).release.name, - lts: (process as any).release.lts, - version: process.version - }, + os: os.platform(), + node: process.version, cpu: { + model: os.cpus()[0].model, cores: os.cpus().length } }); diff --git a/src/utils/stats.ts b/src/utils/stats.ts index 1615268310..cfb710f5e1 100644 --- a/src/utils/stats.ts +++ b/src/utils/stats.ts @@ -18,7 +18,9 @@ export default function() { total: os.totalmem(), free: os.freemem() }, - disk + disk, + os_uptime: os.uptime(), + process_uptime: process.uptime() }); }); }, 1000); diff --git a/src/web/app/desktop/tags/home-widgets/server.tag b/src/web/app/desktop/tags/home-widgets/server.tag index 87525c3952..040ca12321 100644 --- a/src/web/app/desktop/tags/home-widgets/server.tag +++ b/src/web/app/desktop/tags/home-widgets/server.tag @@ -6,7 +6,8 @@ - + + + +

Uptimes

+

Process: { process.toFixed(0) }s

+

OS: { os.toFixed(0) }s

+ + +
+

Maintainer: { meta.maintainer }

Machine: { meta.machine }

-

Node: { meta.node.version }

+

Node: { meta.node }