Skip to content

Commit

Permalink
fix: try to make the network overview stable (#3036)
Browse files Browse the repository at this point in the history
## About the changes
Use `useMemo` as in NetworkTraffic:
https://github.com/Unleash/unleash/blob/6ad27c2e9c1c57cdbc376fedaca957b906dc67e4/frontend/src/component/admin/network/NetworkTraffic/NetworkTraffic.tsx#L173-L176

Hopefully this should help getting rid of the flakiness of the UI
  • Loading branch information
Gastón Fournier committed Feb 2, 2023
1 parent ab97128 commit a0e4f54
Showing 1 changed file with 27 additions and 28 deletions.
Expand Up @@ -4,6 +4,8 @@ import { useInstanceMetrics } from 'hooks/api/getters/useInstanceMetrics/useInst
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { Alert, styled } from '@mui/material';
import { unknownify } from 'utils/unknownify';
import { useMemo } from 'react';
import { RequestsPerSecondSchema } from 'openapi';
import logoIcon from 'assets/icons/logoBg.svg';
import { formatAssetPath } from 'utils/formatPath';

Expand All @@ -27,37 +29,34 @@ interface INetworkApp {
type: string;
}

const toGraphData = (metrics?: RequestsPerSecondSchema) => {
const results = metrics?.data?.result;
return (
results
?.map(result => {
const values = (result.values || []) as ResultValue[];
const data = values.filter(value => isRecent(value)) || [];
let reqs = 0;
if (data.length) {
reqs = parseFloat(data[data.length - 1][1]);
}
return {
label: unknownify(result.metric?.appName),
reqs: reqs.toFixed(2),
type: unknownify(result.metric?.endpoint?.split('/')[2]),
};
})
.filter(app => app.label !== 'unknown')
.filter(app => app.reqs !== '0.00') ?? []
);
};

export const NetworkOverview = () => {
usePageTitle('Network - Overview');
const { metrics } = useInstanceMetrics();
const results = metrics?.data?.result;

const apps: INetworkApp[] = [];

if (results) {
apps.push(
...(
results
?.map(result => {
const values = (result.values || []) as ResultValue[];
const data =
values.filter(value => isRecent(value)) || [];
let reqs = 0;
if (data.length) {
reqs = parseFloat(data[data.length - 1][1]);
}
return {
label: unknownify(result.metric?.appName),
reqs: reqs.toFixed(2),
type: unknownify(
result.metric?.endpoint?.split('/')[2]
),
};
})
.filter(app => app.label !== 'unknown') || []
).filter(app => app.reqs !== '0.00')
);
}
const apps: INetworkApp[] = useMemo(() => {
return toGraphData(metrics);
}, [metrics]);

const graph = `
graph TD
Expand Down

0 comments on commit a0e4f54

Please sign in to comment.