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 @@ <mk-server-home-widget-cpu if={ !initializing } show={ view == 1 } connection={ connection } meta={ meta }/> <mk-server-home-widget-memory if={ !initializing } show={ view == 2 } connection={ connection }/> <mk-server-home-widget-disk if={ !initializing } show={ view == 3 } connection={ connection }/> - <mk-server-home-widget-info if={ !initializing } show={ view == 4 } connection={ connection } meta={ meta }/> + <mk-server-home-widget-uptimes if={ !initializing } show={ view == 4 } connection={ connection }/> + <mk-server-home-widget-info if={ !initializing } show={ view == 5 } connection={ connection } meta={ meta }/> <style> :scope display block @@ -76,7 +77,7 @@ this.toggle = () => { this.view++; - if (this.view == 5) this.view = 0; + if (this.view == 6) this.view = 0; }; </script> </mk-server-home-widget> @@ -213,6 +214,7 @@ <div> <p><i class="fa fa-microchip"></i>CPU</p> <p>{ cores } Cores</p> + <p>{ model }</p> </div> <style> :scope @@ -247,6 +249,7 @@ </style> <script> this.cores = this.opts.meta.cpu.cores; + this.model = this.opts.meta.cpu.model; this.connection = this.opts.connection; this.on('mount', () => { @@ -396,10 +399,48 @@ </script> </mk-server-home-widget-disk> +<mk-server-home-widget-uptimes> + <p>Uptimes</p> + <p>Process: { process.toFixed(0) }s</p> + <p>OS: { os.toFixed(0) }s</p> + <style> + :scope + display block + padding 10px 14px + + > p + margin 0 + font-size 12px + color #505050 + + &:first-child + font-weight bold + + </style> + <script> + this.connection = this.opts.connection; + + this.on('mount', () => { + this.connection.on('stats', this.onStats); + }); + + this.on('unmount', () => { + this.connection.off('stats', this.onStats); + }); + + this.onStats = stats => { + this.update({ + process: stats.process_uptime, + os: stats.os_uptime + }); + }; + </script> +</mk-server-home-widget-uptimes> + <mk-server-home-widget-info> <p>Maintainer: <b>{ meta.maintainer }</b></p> <p>Machine: { meta.machine }</p> - <p>Node: { meta.node.version }</p> + <p>Node: { meta.node }</p> <style> :scope display block