From 86c15d525344acf118c3b8e96004914a1b8100d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nuno=20G=C3=B3is?= Date: Fri, 21 Feb 2025 10:00:23 +0000 Subject: [PATCH] chore: improve UX in the Edge observability latency table (#9343) https://linear.app/unleash/issue/2-3298/make-latency-table-clearer Improves UX of the Edge observability latency table. ![image](https://github.com/user-attachments/assets/c8b36bdf-7bb5-4646-8176-41b8de70fa30) --- .../NetworkConnectedEdgeInstance.tsx | 28 ++++----- .../NetworkConnectedEdgeInstanceLatency.tsx | 61 +++++++++++++------ 2 files changed, 56 insertions(+), 33 deletions(-) diff --git a/frontend/src/component/admin/network/NetworkConnectedEdges/NetworkConnectedEdgeInstance.tsx b/frontend/src/component/admin/network/NetworkConnectedEdges/NetworkConnectedEdgeInstance.tsx index 3452d72d07..8f8feb8a2b 100644 --- a/frontend/src/component/admin/network/NetworkConnectedEdges/NetworkConnectedEdgeInstance.tsx +++ b/frontend/src/component/admin/network/NetworkConnectedEdges/NetworkConnectedEdgeInstance.tsx @@ -146,7 +146,7 @@ export const NetworkConnectedEdgeInstance = ({ const memory = getMemory(instance); const archWarning = cpuPercentage === 'No usage' && memory === 'No usage' && ( -

Resource metrics are only available when running on Linux

+

Resource metrics are only available when running on Linux.

); return ( @@ -170,9 +170,17 @@ export const NetworkConnectedEdgeInstance = ({ {instance.instanceId} - Upstream + Upstream server {instance.connectedVia || 'Unleash'} + + Region + {instance.region || 'Unknown'} + + + Version + {instance.edgeVersion} + Status Last report {lastReport} - - App name - {instance.appName} - - - Region - {instance.region || 'Unknown'} - - - Version - {instance.edgeVersion} - CPU @@ -216,7 +212,7 @@ export const NetworkConnectedEdgeInstance = ({ <>

CPU average usage since instance - started + started.

{archWarning} @@ -232,7 +228,7 @@ export const NetworkConnectedEdgeInstance = ({ -

Current memory usage

+

Current memory usage.

{archWarning} } diff --git a/frontend/src/component/admin/network/NetworkConnectedEdges/NetworkConnectedEdgeInstanceLatency.tsx b/frontend/src/component/admin/network/NetworkConnectedEdges/NetworkConnectedEdgeInstanceLatency.tsx index 45a6ee213d..169703eeaa 100644 --- a/frontend/src/component/admin/network/NetworkConnectedEdges/NetworkConnectedEdgeInstanceLatency.tsx +++ b/frontend/src/component/admin/network/NetworkConnectedEdges/NetworkConnectedEdgeInstanceLatency.tsx @@ -1,4 +1,5 @@ import { styled } from '@mui/material'; +import { HelpIcon } from 'component/common/HelpIcon/HelpIcon'; import type { ConnectedEdge } from 'interfaces/connectedEdge'; const StyledTable = styled('table')(({ theme }) => ({ @@ -10,17 +11,20 @@ const StyledTable = styled('table')(({ theme }) => ({ }, '& tr': { textAlign: 'right', - '& > th:first-of-type,td:first-of-type': { + '& > th:first-of-type, td:first-of-type': { textAlign: 'left', }, }, })); -const StyledUpstreamSection = styled('tr')(({ theme }) => ({ +const StyledSectionHeader = styled('tr')(({ theme }) => ({ fontWeight: theme.fontWeight.bold, - borderBottom: `1px solid ${theme.palette.text.primary}`, - '& > td:first-of-type': { + '&&& > td': { paddingTop: theme.spacing(1), + '& > div': { + display: 'flex', + alignItems: 'center', + }, }, })); @@ -41,19 +45,19 @@ export const NetworkConnectedEdgeInstanceLatency = ({ - - Client Features - {instance.clientFeaturesAverageLatencyMs} - {instance.clientFeaturesP99LatencyMs} - - - Frontend - {instance.frontendApiAverageLatencyMs} - {instance.frontendApiP99LatencyMs} - - - Upstream - + + +
+ Upstream{' '} + +
+ +
Client Features {instance.upstreamFeaturesAverageLatencyMs} @@ -69,6 +73,29 @@ export const NetworkConnectedEdgeInstanceLatency = ({ {instance.upstreamEdgeAverageLatencyMs} {instance.upstreamEdgeP99LatencyMs} + + +
+ Downstream{' '} + +
+ +
+ + Client Features + {instance.clientFeaturesAverageLatencyMs} + {instance.clientFeaturesP99LatencyMs} + + + Frontend + {instance.frontendApiAverageLatencyMs} + {instance.frontendApiP99LatencyMs} + );