From c7762bc6e87419ba8c71d7b431607393d2370e5c Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 27 Apr 2020 12:59:12 +0200 Subject: [statistics] Track CPU temperature as well --- modules-available/statistics/api.inc.php | 6 +++--- modules-available/statistics/install.inc.php | 4 +++- modules-available/statistics/pages/machine.inc.php | 7 +++++-- modules-available/statistics/templates/machine-main.html | 9 ++++++++- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/modules-available/statistics/api.inc.php b/modules-available/statistics/api.inc.php index b58a18f6..70811b2b 100644 --- a/modules-available/statistics/api.inc.php +++ b/modules-available/statistics/api.inc.php @@ -112,7 +112,7 @@ if ($type{0} === '~') { . ' cpumodel = :cpumodel,' . ' systemmodel = :systemmodel,' . ' id44mb = :id44mb,' - . ' live_tmpsize = 0, live_swapsize = 0, live_memsize = 0, cpuload = 255,' + . ' live_tmpsize = 0, live_swapsize = 0, live_memsize = 0, live_cpuload = 255, live_cputemp = 0,' . ' badsectors = :badsectors,' . ' data = :data,' . ' state = :state ' @@ -215,11 +215,11 @@ if ($type{0} === '~') { } } } - foreach (['memsize', 'tmpsize', 'swapsize', 'memfree', 'tmpfree', 'swapfree', 'cpuload'] as $item) { + foreach (['memsize', 'tmpsize', 'swapsize', 'memfree', 'tmpfree', 'swapfree', 'cpuload', 'cputemp'] as $item) { $liveVal = Request::post($item, false, 'int'); if ($liveVal !== false) { $strUpdateBoottime .= ' live_' . $item . ' = :_' . $item . ', '; - if ($item === 'cpuload') { + if ($item === 'cpuload' || $item === 'cputemp') { $liveVal = round($liveVal); } else { $liveVal = ceil($liveVal / 1024); diff --git a/modules-available/statistics/install.inc.php b/modules-available/statistics/install.inc.php index 1fb70aef..fed9b318 100644 --- a/modules-available/statistics/install.inc.php +++ b/modules-available/statistics/install.inc.php @@ -277,8 +277,10 @@ $res[] = tableAddConstraint('setting_machine', 'machineuuid', 'machine', 'machin if (!tableHasColumn('machine', 'live_cpuload')) { $ret = Database::exec("ALTER TABLE `machine` ADD COLUMN `live_cpuload` tinyint(3) UNSIGNED NOT NULL DEFAULT '255' AFTER `live_memfree`, + ADD COLUMN `live_cputemp` tinyint(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `live_cpuload`, ADD COLUMN `standbysem` tinyint(3) UNSIGNED NOT NULL DEFAULT '0', - ADD INDEX `live_cpuload` (`live_cpuload`)"); + ADD INDEX `live_cpuload` (`live_cpuload`), + ADD INDEX `live_cputemp` (`live_cputemp`)"); if ($ret === false) { finalResponse(UPDATE_FAILED, 'Adding live_cpuload column to machine table failed: ' . Database::lastError()); } diff --git a/modules-available/statistics/pages/machine.inc.php b/modules-available/statistics/pages/machine.inc.php index 79166cd5..d7ab788d 100644 --- a/modules-available/statistics/pages/machine.inc.php +++ b/modules-available/statistics/pages/machine.inc.php @@ -52,8 +52,9 @@ class SubPage private static function showMachine($uuid) { $client = Database::queryFirst('SELECT machineuuid, locationid, macaddr, clientip, firstseen, lastseen, logintime, lastboot, state, - mbram, live_tmpsize, live_tmpfree, live_swapsize, live_swapfree, live_memsize, live_memfree, live_cpuload, Length(position) AS hasroomplan, - kvmstate, cpumodel, id44mb, data, hostname, currentuser, currentsession, notes FROM machine WHERE machineuuid = :uuid', + mbram, live_tmpsize, live_tmpfree, live_swapsize, live_swapfree, live_memsize, live_memfree, live_cpuload, live_cputemp, + Length(position) AS hasroomplan, kvmstate, cpumodel, id44mb, data, hostname, currentuser, currentsession, notes + FROM machine WHERE machineuuid = :uuid', array('uuid' => $uuid)); if ($client === false) { Message::addError('unknown-machine', $uuid); @@ -127,7 +128,9 @@ class SubPage } if ($client['live_cpuload'] <= 100) { $client['live_cpuload_s'] = $client['live_cpuload'] . "\xe2\x80\x89%"; + $client['live_cpuidle'] = 100 - $client['live_cpuload']; } + $client['live_cputemppercent'] = max(0, min(100, 110 - $client['live_cputemp'])); $client['ramclass'] = StatisticsStyling::ramColorClass($client['mbram']); $client['kvmclass'] = StatisticsStyling::kvmColorClass($client['kvmstate']); $client['hddclass'] = StatisticsStyling::hddColorClass($client['gbtmp']); diff --git a/modules-available/statistics/templates/machine-main.html b/modules-available/statistics/templates/machine-main.html index 83c3a292..3eabf65c 100644 --- a/modules-available/statistics/templates/machine-main.html +++ b/modules-available/statistics/templates/machine-main.html @@ -229,9 +229,16 @@
{{lang_cpuload}}
{{live_cpuload_s}}
-
+
{{/live_cpuload_s}} + {{#live_cputemp}} +
+
{{lang_cputemp}}
+
{{live_cputemp}} °C
+
+
+ {{/live_cputemp}} -- cgit v1.2.3-55-g7522