Merge pull request #2153 from fr4nc0is/2150-now-plugin

added now plugin
pull/2160/head
Nicolas Hennion 2022-10-16 12:17:10 +02:00 committed by GitHub
commit 4cdd2d9f80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 972 additions and 619 deletions

View File

@ -20,12 +20,11 @@ body {
text-align: right;
}
.top-plugin {
margin-bottom: 20px;
}
.plugin {
margin-bottom: 20px;
.table:last-child {
margin-bottom: 0;
}
}
.plugin.table-row-group .table-row:last-child .table-cell {
padding-bottom: 20px;
@ -116,7 +115,7 @@ body {
white-space: nowrap;
}
#quicklook-plugin {
#quicklook {
.progress {
margin-bottom: 0px;
min-width: 100px;

View File

@ -4,8 +4,8 @@
<div class="loader">Loading...</div>
</div>
<glances-help v-else-if="args.help_tag"></glances-help>
<div v-else class="container-fluid">
<div class="top-plugin">
<main v-else>
<div class="container-fluid">
<div class="row">
<div class="col-sm-24">
<div class="pull-left">
@ -19,6 +19,8 @@
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-sm-24">
<div class="pull-left">
@ -26,115 +28,124 @@
</div>
</div>
</div>
</div>
<div class="row">
<div class="hidden-xs hidden-sm hidden-md col-lg-6" v-if="!args.disable_quicklook">
<glances-plugin-quicklook :data="data"></glances-plugin-quicklook>
</div>
<div class="col-sm-6 col-md-8 col-lg-6" v-if="!args.disable_cpu && !args.percpu">
<glances-plugin-cpu :data="data"></glances-plugin-cpu>
</div>
<div class="col-sm-12 col-md-8 col-lg-6" v-if="!args.disable_cpu && args.percpu">
<glances-plugin-percpu :data="data"></glances-plugin-percpu>
</div>
<div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_gpu && hasGpu">
<glances-plugin-gpu :data="data"></glances-plugin-gpu>
</div>
<div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_mem">
<glances-plugin-mem :data="data"></glances-plugin-mem>
</div>
<!-- NOTE: display if MEM enabled and GPU disabled -->
<div
v-if="!args.disable_mem && !(!args.disable_gpu && hasGpu)"
class="hidden-xs hidden-sm col-md-4 col-lg-3"
>
<glances-plugin-mem-more :data="data"></glances-plugin-mem-more>
</div>
<div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_memswap">
<glances-plugin-memswap :data="data"></glances-plugin-memswap>
</div>
<div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_load">
<glances-plugin-load :data="data"></glances-plugin-load>
</div>
</div>
<div class="row">
<div class="col-sm-6 sidebar" v-if="!args.disable_left_sidebar">
<div class="table">
<glances-plugin-network
id="plugin-network"
class="plugin table-row-group"
v-if="!args.disable_network"
:data="data"
></glances-plugin-network>
<glances-plugin-connections
id="plugin-connections"
class="plugin table-row-group"
v-if="isLinux && !args.disable_connections"
:data="data"
></glances-plugin-connections>
<glances-plugin-wifi
id="plugin-wifi"
class="plugin table-row-group"
v-if="!args.disable_wifi"
:data="data"
></glances-plugin-wifi>
<glances-plugin-ports
id="plugin-ports"
class="plugin table-row-group"
v-if="!args.disable_ports"
:data="data"
></glances-plugin-ports>
<glances-plugin-diskio
id="plugin-diskio"
class="plugin table-row-group"
v-if="!args.disable_diskio"
:data="data"
></glances-plugin-diskio>
<glances-plugin-fs
id="plugin-fs"
class="plugin table-row-group"
v-if="!args.disable_fs"
:data="data"
></glances-plugin-fs>
<glances-plugin-irq
id="plugin-irq"
class="plugin table-row-group"
v-if="args.enable_irq"
:data="data"
></glances-plugin-irq>
<glances-plugin-folders
id="plugin-folders"
class="plugin table-row-group"
v-if="!args.disable_folders"
:data="data"
></glances-plugin-folders>
<glances-plugin-raid
id="plugin-raid"
class="plugin table-row-group"
v-if="!args.raid"
:data="data"
></glances-plugin-raid>
<glances-plugin-sensors
id="plugin-sensors"
class="plugin table-row-group"
v-if="!args.disable_sensors"
:data="data"
></glances-plugin-sensors>
<div class="row">
<div class="hidden-xs hidden-sm hidden-md col-lg-6" v-if="!args.disable_quicklook">
<glances-plugin-quicklook :data="data"></glances-plugin-quicklook>
</div>
<div class="col-sm-6 col-md-8 col-lg-6" v-if="!args.disable_cpu && !args.percpu">
<glances-plugin-cpu :data="data"></glances-plugin-cpu>
</div>
<div class="col-sm-12 col-md-8 col-lg-6" v-if="!args.disable_cpu && args.percpu">
<glances-plugin-percpu :data="data"></glances-plugin-percpu>
</div>
<div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_gpu && hasGpu">
<glances-plugin-gpu :data="data"></glances-plugin-gpu>
</div>
<div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_mem">
<glances-plugin-mem :data="data"></glances-plugin-mem>
</div>
<!-- NOTE: display if MEM enabled and GPU disabled -->
<div
v-if="!args.disable_mem && !(!args.disable_gpu && hasGpu)"
class="hidden-xs hidden-sm col-md-4 col-lg-3"
>
<glances-plugin-mem-more :data="data"></glances-plugin-mem-more>
</div>
<div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_memswap">
<glances-plugin-memswap :data="data"></glances-plugin-memswap>
</div>
<div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_load">
<glances-plugin-load :data="data"></glances-plugin-load>
</div>
</div>
<div class="col-sm-18">
<glances-plugin-docker
v-if="!args.disable_docker"
:data="data"
></glances-plugin-docker>
<glances-plugin-alert
v-if="!args.disable_alert"
:data="data"
></glances-plugin-alert>
<glances-plugin-process :data="data"></glances-plugin-process>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-sm-6 sidebar" v-if="!args.disable_left_sidebar">
<div class="table">
<glances-plugin-network
id="plugin-network"
class="plugin table-row-group"
v-if="!args.disable_network"
:data="data"
></glances-plugin-network>
<glances-plugin-connections
id="plugin-connections"
class="plugin table-row-group"
v-if="isLinux && !args.disable_connections"
:data="data"
></glances-plugin-connections>
<glances-plugin-wifi
id="plugin-wifi"
class="plugin table-row-group"
v-if="!args.disable_wifi"
:data="data"
></glances-plugin-wifi>
<glances-plugin-ports
id="plugin-ports"
class="plugin table-row-group"
v-if="!args.disable_ports"
:data="data"
></glances-plugin-ports>
<glances-plugin-diskio
id="plugin-diskio"
class="plugin table-row-group"
v-if="!args.disable_diskio"
:data="data"
></glances-plugin-diskio>
<glances-plugin-fs
id="plugin-fs"
class="plugin table-row-group"
v-if="!args.disable_fs"
:data="data"
></glances-plugin-fs>
<glances-plugin-irq
id="plugin-irq"
class="plugin table-row-group"
v-if="args.enable_irq"
:data="data"
></glances-plugin-irq>
<glances-plugin-folders
id="plugin-folders"
class="plugin table-row-group"
v-if="!args.disable_folders"
:data="data"
></glances-plugin-folders>
<glances-plugin-raid
id="plugin-raid"
class="plugin table-row-group"
v-if="!args.raid"
:data="data"
></glances-plugin-raid>
<glances-plugin-sensors
id="plugin-sensors"
class="plugin table-row-group"
v-if="!args.disable_sensors"
:data="data"
></glances-plugin-sensors>
</div>
</div>
<div class="col-sm-18">
<glances-plugin-docker
v-if="!args.disable_docker"
:data="data"
></glances-plugin-docker>
<glances-plugin-process :data="data"></glances-plugin-process>
<glances-plugin-alert
v-if="!args.disable_alert"
:data="data"
></glances-plugin-alert>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-sm-24">
<glances-plugin-now :data="data"></glances-plugin-now>
</div>
</div>
</div>
</main>
</template>
<script>
@ -159,6 +170,7 @@ import GlancesPluginMem from './components/plugin-mem.vue';
import GlancesPluginMemMore from './components/plugin-mem-more.vue';
import GlancesPluginMemswap from './components/plugin-memswap.vue';
import GlancesPluginNetwork from './components/plugin-network.vue';
import GlancesPluginNow from './components/plugin-now.vue';
import GlancesPluginPercpu from './components/plugin-percpu.vue';
import GlancesPluginPorts from './components/plugin-ports.vue';
import GlancesPluginProcess from './components/plugin-process.vue';
@ -188,6 +200,7 @@ export default {
GlancesPluginMemMore,
GlancesPluginMemswap,
GlancesPluginNetwork,
GlancesPluginNow,
GlancesPluginPercpu,
GlancesPluginPorts,
GlancesPluginProcess,
@ -268,7 +281,7 @@ export default {
hotkeys('t', () => {
this.store.args.sort_processes_key = 'timemillis';
});
// A => Enable/disable AMPs
hotkeys('shift+A', () => {
this.store.args.disable_amps = !this.store.args.disable_amps;

View File

@ -1,12 +1,12 @@
<template>
<div>
<div class="plugin">
<section id="alerts">
<span class="title" v-if="hasAlerts">
Warning or critical alerts (last {{ countAlerts }} entries)
</span>
<span class="title" v-else>No warning or critical alert detected</span>
</section>
<section id="alert" class="plugin">
<section id="alert">
<div class="table">
<div class="table-row" v-for="(alert, alertId) in alerts" :key="alertId">
<div class="table-cell text-left">

View File

@ -1,5 +1,5 @@
<template>
<section id="cloud">
<section id="cloud" class="plugin" v-if="instance || provider">
<span class="title">{{ provider }}</span> {{ instance }}
</section>
</template>

View File

@ -1,5 +1,5 @@
<template>
<section>
<section class="plugin" id="connections">
<div class="table-row">
<div class="table-cell text-left title">TCP CONNECTIONS</div>
<div class="table-cell"></div>

View File

@ -1,5 +1,5 @@
<template>
<section>
<section class="plugin" id="diskio">
<div class="table-row" v-if="disks.length > 0">
<div class="table-cell text-left title">DISK I/O</div>
<div class="table-cell" v-show="!args.diskio_iops">R/s</div>

View File

@ -1,5 +1,5 @@
<template>
<section>
<section class="plugin" id="folders">
<div class="table-row" v-if="folders.length > 0">
<div class="table-cell text-left title">FOLDERS</div>
<div class="table-cell"></div>

View File

@ -1,5 +1,5 @@
<template>
<section>
<section class="plugin" id="fs">
<div class="table-row">
<div class="table-cell text-left title">FILE SYS</div>
<div class="table-cell">

View File

@ -1,5 +1,5 @@
<template>
<section id="ip" v-if="address != undefined">
<section class="plugin" id="ip" v-if="address != undefined">
<span v-if="address != undefined" class="title">IP</span>
<span v-if="address != undefined">{{ address }}/{{ maskCdir }}</span>
<span v-if="publicAddress != undefined" class="title">Pub</span>

View File

@ -1,5 +1,5 @@
<template>
<section>
<section class="plugin" id="irq">
<div class="table-row" v-if="irqs.length > 0">
<div class="table-cell text-left title">IRQ</div>
<div class="table-cell"></div>

View File

@ -1,5 +1,5 @@
<template>
<section>
<section class="plugin" id="network">
<div class="table-row">
<div class="table-cell text-left title">NETWORK</div>
<div class="table-cell" v-show="!args.network_cumul && !args.network_sum">Rx/s</div>

View File

@ -0,0 +1,20 @@
<template>
<section id="now" class="plugin">
<span>{{ value }}</span>
</section>
</template>
<script>
export default {
props: {
data: {
type: Object
}
},
computed: {
value() {
return this.data.stats['now'];
}
}
};
</script>

View File

@ -1,5 +1,5 @@
<template>
<section>
<section class="plugin" id="ports">
<div class="table-row" v-for="(port, portId) in ports" :key="portId">
<div class="table-cell text-left">
<!-- prettier-ignore -->

View File

@ -1,5 +1,5 @@
<template>
<section id="quicklook-plugin" class="plugin">
<section id="quicklook" class="plugin">
<div class="cpu-name">
{{ cpu_name }}
</div>

View File

@ -1,5 +1,5 @@
<template>
<section>
<section class="plugin" id="raid">
<div class="table-row" v-if="hasDisks">
<div class="table-cell text-left title">RAID disks</div>
<div class="table-cell">Used</div>

View File

@ -1,5 +1,5 @@
<template>
<section>
<section class="plugin" id="sensors">
<div class="table-row" v-if="sensors.length > 0">
<div class="table-cell text-left title">SENSORS</div>
</div>

View File

@ -1,5 +1,5 @@
<template>
<section id="system">
<section class="plugin" id="system">
<span v-if="isDisconnected" class="critical">Disconnected from</span>
<span class="title">{{ hostname }}</span>
<span v-if="isLinux" class="hidden-xs hidden-sm">

View File

@ -1,5 +1,5 @@
<template>
<section id="uptime">
<section class="plugin" id="uptime">
<span>Uptime: {{ value }}</span>
</section>
</template>

View File

@ -1,5 +1,5 @@
<template>
<section>
<section class="plugin" id="wifi">
<div class="table-row" v-if="hotspots.length > 0">
<div class="table-cell text-left title">WIFI</div>
<div class="table-cell"></div>

File diff suppressed because it is too large Load Diff

View File

@ -3,28 +3,28 @@
"dependencies": {
"bootstrap": "^3.4.1",
"favico.js": "^0.3.10",
"hotkeys-js": "^3.9.5",
"hotkeys-js": "^3.10.0",
"lodash": "^4.17.21",
"sanitize-html": "^2.7.1",
"vue": "^3.2.38"
"sanitize-html": "^2.7.2",
"vue": "^3.2.41"
},
"devDependencies": {
"copy-webpack-plugin": "^9.0.1",
"css-loader": "^6.5.1",
"del": "^6.0.0",
"eslint": "^8.23.0",
"eslint-plugin-vue": "^9.4.0",
"copy-webpack-plugin": "^11.0.0",
"css-loader": "^6.7.1",
"del": "^7.0.0",
"eslint": "^8.25.0",
"eslint-plugin-vue": "^9.6.0",
"html-webpack-plugin": "^5.5.0",
"less": "^4.0.0",
"less-loader": "^10.2.0",
"sass": "^1.54.5",
"sass-loader": "^12.6.0",
"less": "^4.1.3",
"less-loader": "^11.1.0",
"sass": "^1.55.0",
"sass-loader": "^13.1.0",
"style-loader": "^3.3.1",
"url-loader": "^4.1.1",
"vue-loader": "^17.0.0",
"webpack": "^5.63.0",
"webpack-cli": "^4.9.1",
"webpack-dev-server": "^4.10.0"
"webpack": "^5.74.0",
"webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.11.1"
},
"scripts": {
"build": "webpack --progress --mode=production",

File diff suppressed because one or more lines are too long