[WIFI-12335] Display gateway tx/rx values

Signed-off-by: Charles <charles.bourque96@gmail.com>
This commit is contained in:
Charles
2023-02-25 10:10:10 +01:00
parent 9583b2bae0
commit 64f3ee797e
11 changed files with 29 additions and 9 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "ucentral-client", "name": "ucentral-client",
"version": "2.9.0(12)", "version": "2.9.0(13)",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ucentral-client", "name": "ucentral-client",
"version": "2.9.0(12)", "version": "2.9.0(13)",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@chakra-ui/icons": "^2.0.11", "@chakra-ui/icons": "^2.0.11",

View File

@@ -1,6 +1,6 @@
{ {
"name": "ucentral-client", "name": "ucentral-client",
"version": "2.9.0(12)", "version": "2.9.0(13)",
"description": "", "description": "",
"private": true, "private": true,
"main": "index.tsx", "main": "index.tsx",

View File

@@ -1132,7 +1132,7 @@
"title": "Veranstaltungsorte", "title": "Veranstaltungsorte",
"update_all_devices": "Alle Gerätekonfigurationen aktualisieren", "update_all_devices": "Alle Gerätekonfigurationen aktualisieren",
"update_success": "Veranstaltungsort aktualisiert!", "update_success": "Veranstaltungsort aktualisiert!",
"upgrade_all_devices": "Aktualisieren Sie alle Geräte auf die neueste Firmware", "upgrade_all_devices": "Aktualisieren Sie die Firmware aller Geräte",
"upgrade_all_devices_error": "Fehler beim Aktualisieren von Geräten: {{e}}", "upgrade_all_devices_error": "Fehler beim Aktualisieren von Geräten: {{e}}",
"upgrade_all_devices_success": "Upgrade von Geräten erfolgreich gestartet!", "upgrade_all_devices_success": "Upgrade von Geräten erfolgreich gestartet!",
"upgrade_options_available": "Hier sind alle verfügbaren Revisionen, bitte wählen Sie diejenige aus, auf die ALLE Geräte dieses Veranstaltungsortes aktualisiert werden sollen", "upgrade_options_available": "Hier sind alle verfügbaren Revisionen, bitte wählen Sie diejenige aus, auf die ALLE Geräte dieses Veranstaltungsortes aktualisiert werden sollen",

View File

@@ -1132,7 +1132,7 @@
"title": "Venues", "title": "Venues",
"update_all_devices": "Update All Device Configurations", "update_all_devices": "Update All Device Configurations",
"update_success": "Venue updated!", "update_success": "Venue updated!",
"upgrade_all_devices": "Upgrade All Devices to Latest Firmware", "upgrade_all_devices": "Upgrade All Devices Firmware",
"upgrade_all_devices_error": "Error upgrading devices: {{e}}", "upgrade_all_devices_error": "Error upgrading devices: {{e}}",
"upgrade_all_devices_success": "Successfully started upgrading devices!", "upgrade_all_devices_success": "Successfully started upgrading devices!",
"upgrade_options_available": "Here are all available revisions, please select the one you want ALL of this venue's devices to be upgrade to", "upgrade_options_available": "Here are all available revisions, please select the one you want ALL of this venue's devices to be upgrade to",

View File

@@ -1132,7 +1132,7 @@
"title": "Sedes", "title": "Sedes",
"update_all_devices": "Actualizar todas las configuraciones de dispositivos", "update_all_devices": "Actualizar todas las configuraciones de dispositivos",
"update_success": "Lugar actualizado!", "update_success": "Lugar actualizado!",
"upgrade_all_devices": "Actualice todos los dispositivos al firmware más reciente", "upgrade_all_devices": "Actualizar el firmware de todos los dispositivos",
"upgrade_all_devices_error": "Error al actualizar dispositivos: {{e}}", "upgrade_all_devices_error": "Error al actualizar dispositivos: {{e}}",
"upgrade_all_devices_success": "¡Comenzó con éxito la actualización de dispositivos!", "upgrade_all_devices_success": "¡Comenzó con éxito la actualización de dispositivos!",
"upgrade_options_available": "Aquí están todas las revisiones disponibles, seleccione la que desea que TODOS los dispositivos de este lugar se actualicen", "upgrade_options_available": "Aquí están todas las revisiones disponibles, seleccione la que desea que TODOS los dispositivos de este lugar se actualicen",

View File

@@ -1132,7 +1132,7 @@
"title": "Les lieux", "title": "Les lieux",
"update_all_devices": "Mettre à jour toutes les configurations de périphérique", "update_all_devices": "Mettre à jour toutes les configurations de périphérique",
"update_success": "Lieu mis à jour !", "update_success": "Lieu mis à jour !",
"upgrade_all_devices": "Mettre à niveau tous les appareils vers le dernier micrologiciel", "upgrade_all_devices": "Mettre à niveau le micrologiciel de tous les appareils",
"upgrade_all_devices_error": "Erreur lors de la mise à jour des appareils : {{e}}", "upgrade_all_devices_error": "Erreur lors de la mise à jour des appareils : {{e}}",
"upgrade_all_devices_success": "La mise à niveau des appareils a démarré avec succès !", "upgrade_all_devices_success": "La mise à niveau des appareils a démarré avec succès !",
"upgrade_options_available": "Voici toutes les révisions disponibles, veuillez sélectionner celle vers laquelle vous souhaitez que TOUS les appareils de ce lieu soient mis à niveau", "upgrade_options_available": "Voici toutes les révisions disponibles, veuillez sélectionner celle vers laquelle vous souhaitez que TOUS les appareils de ce lieu soient mis à niveau",

View File

@@ -1132,7 +1132,7 @@
"title": "Locais", "title": "Locais",
"update_all_devices": "Atualizar todas as configurações do dispositivo", "update_all_devices": "Atualizar todas as configurações do dispositivo",
"update_success": "Local atualizado!", "update_success": "Local atualizado!",
"upgrade_all_devices": "Atualize todos os dispositivos para o firmware mais recente", "upgrade_all_devices": "Atualize o firmware de todos os dispositivos",
"upgrade_all_devices_error": "Erro ao atualizar dispositivos: {{e}}", "upgrade_all_devices_error": "Erro ao atualizar dispositivos: {{e}}",
"upgrade_all_devices_success": "Atualização de dispositivos iniciada com sucesso!", "upgrade_all_devices_success": "Atualização de dispositivos iniciada com sucesso!",
"upgrade_options_available": "Aqui estão todas as revisões disponíveis, selecione aquela para a qual você deseja que TODOS os dispositivos deste local sejam atualizados", "upgrade_options_available": "Aqui estão todas as revisões disponíveis, selecione aquela para a qual você deseja que TODOS os dispositivos deste local sejam atualizados",

View File

@@ -149,6 +149,8 @@ export const useControllerStore = create<ControllerStoreState>((set, get) => ({
connectedDevices: msg.statistics.numberOfDevices, connectedDevices: msg.statistics.numberOfDevices,
connectingDevices: msg.statistics.numberOfConnectingDevices, connectingDevices: msg.statistics.numberOfConnectingDevices,
averageConnectionTime: msg.statistics.averageConnectedTime, averageConnectionTime: msg.statistics.averageConnectedTime,
tx: msg.statistics.tx,
rx: msg.statistics.rx,
}, },
queryClient, queryClient,
); );

View File

@@ -52,6 +52,8 @@ type ConnectionStatisticsMessage = {
numberOfDevices: number; numberOfDevices: number;
numberOfConnectingDevices: number; numberOfConnectingDevices: number;
averageConnectedTime: number; averageConnectedTime: number;
tx: number;
rx: number;
}; };
}; };
serialNumbers?: undefined; serialNumbers?: undefined;
@@ -85,6 +87,8 @@ export type SocketWebSocketNotificationData =
numberOfDevices: number; numberOfDevices: number;
numberOfConnectingDevices: number; numberOfConnectingDevices: number;
averageConnectedTime: number; averageConnectedTime: number;
rx: number;
tx: number;
}; };
serialNumber?: undefined; serialNumber?: undefined;
log?: undefined; log?: undefined;

View File

@@ -165,7 +165,10 @@ export type DevicesStats = {
averageConnectionTime: number; averageConnectionTime: number;
connectedDevices: number; connectedDevices: number;
connectingDevices: number; connectingDevices: number;
tx: number;
rx: number;
}; };
const getInitialStats = async () => const getInitialStats = async () =>
axiosGw.get(`devices?connectionStatistics=true`).then(({ data }: { data: DevicesStats }) => data); axiosGw.get(`devices?connectionStatistics=true`).then(({ data }: { data: DevicesStats }) => data);
export const useGetDevicesStats = ({ onError }: { onError?: (e: AxiosError) => void }) => { export const useGetDevicesStats = ({ onError }: { onError?: (e: AxiosError) => void }) => {

View File

@@ -2,6 +2,7 @@ import * as React from 'react';
import { Flex, Heading, Tooltip, VStack } from '@chakra-ui/react'; import { Flex, Heading, Tooltip, VStack } from '@chakra-ui/react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { compactSecondsToDetailed, minimalSecondsToDetailed } from 'helpers/dateFormatting'; import { compactSecondsToDetailed, minimalSecondsToDetailed } from 'helpers/dateFormatting';
import { bytesString } from 'helpers/stringHelper';
import { useGetDevicesStats } from 'hooks/Network/Devices'; import { useGetDevicesStats } from 'hooks/Network/Devices';
const SidebarDevices = () => { const SidebarDevices = () => {
@@ -48,7 +49,7 @@ const SidebarDevices = () => {
if (!getStats.data) return null; if (!getStats.data) return null;
return ( return (
<VStack spacing={4}> <VStack mb={-1}>
<Flex flexDir="column" textAlign="center"> <Flex flexDir="column" textAlign="center">
<Heading size="md">{getStats.data.connectedDevices}</Heading> <Heading size="md">{getStats.data.connectedDevices}</Heading>
<Heading size="xs"> <Heading size="xs">
@@ -57,6 +58,16 @@ const SidebarDevices = () => {
<Heading size="xs" mt={1} fontStyle="italic" fontWeight="normal" color="gray.400"> <Heading size="xs" mt={1} fontStyle="italic" fontWeight="normal" color="gray.400">
({getStats.data.connectingDevices} {t('controller.devices.connecting')}) ({getStats.data.connectingDevices} {t('controller.devices.connecting')})
</Heading> </Heading>
<Heading
size="xs"
mt={1}
fontStyle="italic"
fontWeight="normal"
color="gray.400"
hidden={getStats.data.rx === undefined || getStats.data.tx === undefined}
>
Rx: {bytesString(getStats.data.rx)}, Tx: {bytesString(getStats.data.tx)}
</Heading>
<Tooltip hasArrow label={compactSecondsToDetailed(getStats.data.averageConnectionTime, t)}> <Tooltip hasArrow label={compactSecondsToDetailed(getStats.data.averageConnectionTime, t)}>
<Heading size="md" textAlign="center" mt={2}> <Heading size="md" textAlign="center" mt={2}>
{minimalSecondsToDetailed(getStats.data.averageConnectionTime, t)} {minimalSecondsToDetailed(getStats.data.averageConnectionTime, t)}