summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2022-09-12 14:32:41 +0200
committerSimon Rettberg2022-09-12 14:32:41 +0200
commitde769a9c2d8589336c7e0e16682450c2b787ca96 (patch)
tree80018dded7244d30872be2eaeac54e415fe1ba60
parent[inc/Property] Fix warning about type conversion (diff)
downloadslx-admin-de769a9c2d8589336c7e0e16682450c2b787ca96.tar.gz
slx-admin-de769a9c2d8589336c7e0e16682450c2b787ca96.tar.xz
slx-admin-de769a9c2d8589336c7e0e16682450c2b787ca96.zip
[statistics] Add NIC speed filter/display
-rw-r--r--modules-available/statistics/inc/statisticsfilter.inc.php21
-rw-r--r--modules-available/statistics/lang/de/filters.json1
-rw-r--r--modules-available/statistics/lang/de/template-tags.json1
-rw-r--r--modules-available/statistics/lang/en/filters.json1
-rw-r--r--modules-available/statistics/lang/en/template-tags.json1
-rw-r--r--modules-available/statistics/pages/machine.inc.php2
-rw-r--r--modules-available/statistics/templates/machine-main.html6
7 files changed, 33 insertions, 0 deletions
diff --git a/modules-available/statistics/inc/statisticsfilter.inc.php b/modules-available/statistics/inc/statisticsfilter.inc.php
index c83d9542..c54c56d1 100644
--- a/modules-available/statistics/inc/statisticsfilter.inc.php
+++ b/modules-available/statistics/inc/statisticsfilter.inc.php
@@ -276,6 +276,7 @@ abstract class StatisticsFilter
'live_id45free' => new SimpleNotZeroStatisticsFilter('live_id45free', self::OP_ORDINAL, 'MiB'),
'standbycrash' => new StandbyCrashStatisticsFilter(),
'pcidev' => new PciDeviceStatisticsFilter(),
+ 'nicpseed' => new NicSpeedStatisticsFilter(),
'anydev' => new AnyHardwarePropStatisticsFilter(),
];
if (Module::isAvailable('locations')) {
@@ -709,6 +710,26 @@ class PciDeviceStatisticsFilter extends StatisticsFilter
}
+class NicSpeedStatisticsFilter extends StatisticsFilter
+{
+
+ public function __construct()
+ {
+ parent::__construct(null, StatisticsFilter::OP_ORDINAL);
+ }
+
+ public function whereClause(string $operator, $argument, array &$args, array &$joins): string
+ {
+ $shw = StatisticsFilter::addHardwareJoin($args, $joins, HardwareInfo::MAINBOARD);
+ $_ = [];
+ $c = new HardwareQueryColumn(false, 'nic-speed');
+ $c->addCondition($operator, $argument);
+ $c->generate($joins, $_, $args, [], $shw);
+ return '1';
+ }
+
+}
+
class AnyHardwarePropStatisticsFilter extends StatisticsFilter
{
diff --git a/modules-available/statistics/lang/de/filters.json b/modules-available/statistics/lang/de/filters.json
index 6a799c75..1dae0b93 100644
--- a/modules-available/statistics/lang/de/filters.json
+++ b/modules-available/statistics/lang/de/filters.json
@@ -18,6 +18,7 @@
"logintime": "Letzter Login",
"macaddr": "MAC-Adresse",
"machineuuid": "System-UUID",
+ "nicpseed": "NIC-Geschwindigkeit",
"pcidev": "PCI-Ger\u00e4t",
"realcores": "CPU-Kerne (real)",
"runtime": "Laufzeit (Stunden)",
diff --git a/modules-available/statistics/lang/de/template-tags.json b/modules-available/statistics/lang/de/template-tags.json
index a67710d3..1f0bcdc8 100644
--- a/modules-available/statistics/lang/de/template-tags.json
+++ b/modules-available/statistics/lang/de/template-tags.json
@@ -22,6 +22,7 @@
"lang_cputemp": "CPU-Temperatur",
"lang_details": "Details",
"lang_devices": "Ger\u00e4te",
+ "lang_duplex": "Duplex",
"lang_duration": "Dauer",
"lang_event": "Ereignis",
"lang_eventType": "Typ",
diff --git a/modules-available/statistics/lang/en/filters.json b/modules-available/statistics/lang/en/filters.json
index bd7a9ce5..1abcd2f9 100644
--- a/modules-available/statistics/lang/en/filters.json
+++ b/modules-available/statistics/lang/en/filters.json
@@ -18,6 +18,7 @@
"logintime": "Last login",
"macaddr": "MAC address",
"machineuuid": "System UUID",
+ "nicpseed": "NIC speed",
"pcidev": "PCI device",
"realcores": "CPU cores (real)",
"runtime": "Uptime (hours)",
diff --git a/modules-available/statistics/lang/en/template-tags.json b/modules-available/statistics/lang/en/template-tags.json
index 6d296d13..58b85a40 100644
--- a/modules-available/statistics/lang/en/template-tags.json
+++ b/modules-available/statistics/lang/en/template-tags.json
@@ -22,6 +22,7 @@
"lang_cputemp": "CPU temperature",
"lang_details": "Details",
"lang_devices": "Devices",
+ "lang_duplex": "Duplex",
"lang_duration": "Duration",
"lang_event": "Event",
"lang_eventType": "Type",
diff --git a/modules-available/statistics/pages/machine.inc.php b/modules-available/statistics/pages/machine.inc.php
index df6a561e..9b91e8a4 100644
--- a/modules-available/statistics/pages/machine.inc.php
+++ b/modules-available/statistics/pages/machine.inc.php
@@ -494,6 +494,8 @@ class SubPage
$q->addLocalColumn('cpu-sockets');
$q->addLocalColumn('cpu-cores');
$q->addLocalColumn('cpu-threads');
+ $q->addLocalColumn('nic-speed');
+ $q->addLocalColumn('nic-duplex');
$res = $q->query()->fetch();
if (is_array($res)) {
$return += $res;
diff --git a/modules-available/statistics/templates/machine-main.html b/modules-available/statistics/templates/machine-main.html
index bcae2177..cba9c62a 100644
--- a/modules-available/statistics/templates/machine-main.html
+++ b/modules-available/statistics/templates/machine-main.html
@@ -29,6 +29,12 @@
<td class="text-nowrap">{{lang_ip}}</td>
<td>{{clientip}}</td>
</tr>
+ {{#nic-speed}}
+ <tr>
+ <td class="text-nowrap">{{lang_nicSpeed}}</td>
+ <td>{{nic-speed}}&thinsp;MBit/s, {{lang_duplex}}: {{nic-duplex}}</td>
+ </tr>
+ {{/nic-speed}}
{{#hostname}}
<tr>
<td class="text-nowrap">{{lang_hostname}}</td>