From de769a9c2d8589336c7e0e16682450c2b787ca96 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 12 Sep 2022 14:32:41 +0200 Subject: [statistics] Add NIC speed filter/display --- .../statistics/inc/statisticsfilter.inc.php | 21 +++++++++++++++++++++ modules-available/statistics/lang/de/filters.json | 1 + .../statistics/lang/de/template-tags.json | 1 + modules-available/statistics/lang/en/filters.json | 1 + .../statistics/lang/en/template-tags.json | 1 + modules-available/statistics/pages/machine.inc.php | 2 ++ .../statistics/templates/machine-main.html | 6 ++++++ 7 files changed, 33 insertions(+) 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 @@ {{lang_ip}} {{clientip}} + {{#nic-speed}} + + {{lang_nicSpeed}} + {{nic-speed}} MBit/s, {{lang_duplex}}: {{nic-duplex}} + + {{/nic-speed}} {{#hostname}} {{lang_hostname}} -- cgit v1.2.3-55-g7522