summaryrefslogtreecommitdiffstats
path: root/modules-available/statistics
diff options
context:
space:
mode:
authorSimon Rettberg2023-05-11 10:03:10 +0200
committerSimon Rettberg2023-05-11 10:03:10 +0200
commit2b86d1dde730cdc19bf05adaa012ba6b9d767b85 (patch)
tree9b352d925d898c96bd11b0400931574bae6ff741 /modules-available/statistics
parent[statistics] Fix system model filter (diff)
downloadslx-admin-2b86d1dde730cdc19bf05adaa012ba6b9d767b85.tar.gz
slx-admin-2b86d1dde730cdc19bf05adaa012ba6b9d767b85.tar.xz
slx-admin-2b86d1dde730cdc19bf05adaa012ba6b9d767b85.zip
[statistics] Add filter for HDD rpm
Diffstat (limited to 'modules-available/statistics')
-rw-r--r--modules-available/statistics/inc/hardwareparser.inc.php2
-rw-r--r--modules-available/statistics/inc/statisticsfilter.inc.php21
-rw-r--r--modules-available/statistics/lang/de/filters.json2
-rw-r--r--modules-available/statistics/lang/en/filters.json2
4 files changed, 24 insertions, 3 deletions
diff --git a/modules-available/statistics/inc/hardwareparser.inc.php b/modules-available/statistics/inc/hardwareparser.inc.php
index f7a6545b..83a0d752 100644
--- a/modules-available/statistics/inc/hardwareparser.inc.php
+++ b/modules-available/statistics/inc/hardwareparser.inc.php
@@ -109,7 +109,7 @@ class HardwareParser
}
// Count, size (unitless)
if (is_numeric($val) && preg_match('/^-?[0-9]+$/', $val)
- && preg_match('/used|occupied|count|number|speed|width|size|capacity|temperature|_start|_value|_thresh|_worst|_time/', $key)) {
+ && preg_match('/used|occupied|count|number|speed|width|size|capacity|temperature|_start|_value|_thresh|_worst|_time|_rate/', $key)) {
return (int)$val;
}
// Date
diff --git a/modules-available/statistics/inc/statisticsfilter.inc.php b/modules-available/statistics/inc/statisticsfilter.inc.php
index 55e88880..7b00fb12 100644
--- a/modules-available/statistics/inc/statisticsfilter.inc.php
+++ b/modules-available/statistics/inc/statisticsfilter.inc.php
@@ -278,6 +278,7 @@ abstract class StatisticsFilter
'standbycrash' => new StandbyCrashStatisticsFilter(),
'pcidev' => new PciDeviceStatisticsFilter(),
'nicspeed' => new NicSpeedStatisticsFilter(),
+ 'hddrpm' => new HddRpmStatisticsFilter(),
//'anydev' => new AnyHardwarePropStatisticsFilter(),
];
if (Module::isAvailable('locations')) {
@@ -731,6 +732,26 @@ class NicSpeedStatisticsFilter extends StatisticsFilter
}
+class HddRpmStatisticsFilter extends StatisticsFilter
+{
+
+ public function __construct()
+ {
+ parent::__construct(null, StatisticsFilter::OP_ORDINAL, '7200');
+ }
+
+ public function whereClause(string $operator, $argument, array &$args, array &$joins): string
+ {
+ $shw = StatisticsFilter::addHardwareJoin($args, $joins, HardwareInfo::HDD);
+ $_ = [];
+ $c = new HardwareQueryColumn(true, 'rotation_rate');
+ $c->addCondition($operator, $argument);
+ $c->generate($joins, $_, $args, [], $shw);
+ return '1';
+ }
+
+}
+
class SystemModelStatisticsFilter extends StatisticsFilter
{
diff --git a/modules-available/statistics/lang/de/filters.json b/modules-available/statistics/lang/de/filters.json
index b5c9a4cf..ef423daa 100644
--- a/modules-available/statistics/lang/de/filters.json
+++ b/modules-available/statistics/lang/de/filters.json
@@ -6,6 +6,7 @@
"firstseen": "Erster Boot",
"gbram": "RAM (GB)",
"hddgb": "ID44 (GB)",
+ "hddrpm": "HDD U\/min",
"hostname": "Hostname",
"kvmstate": "Virtualisierung",
"lastboot": "Letzter Boot",
@@ -15,7 +16,6 @@
"live_swapfree": "swap frei (MB)",
"live_tmpfree": "ID44 frei (MB)",
"location": "Raum\/Ort",
- "logintime": "Letzter Login",
"macaddr": "MAC-Adresse",
"machineuuid": "System-UUID",
"nicspeed": "NIC-Geschwindigkeit",
diff --git a/modules-available/statistics/lang/en/filters.json b/modules-available/statistics/lang/en/filters.json
index 713fdcfa..79372115 100644
--- a/modules-available/statistics/lang/en/filters.json
+++ b/modules-available/statistics/lang/en/filters.json
@@ -6,6 +6,7 @@
"firstseen": "First boot",
"gbram": "RAM (GB)",
"hddgb": "ID44 (GB)",
+ "hddrpm": "HDD rpm",
"hostname": "Host name",
"kvmstate": "Virtualization",
"lastboot": "Last boot",
@@ -15,7 +16,6 @@
"live_swapfree": "swap free (MB)",
"live_tmpfree": "ID44 free (MB)",
"location": "Room\/Location",
- "logintime": "Last login",
"macaddr": "MAC address",
"machineuuid": "System UUID",
"nicspeed": "NIC speed",