Skip to content

Commit 1b74502

Browse files
feat: use the same thresholds for all progress bars (#1820)
1 parent f51a3ec commit 1b74502

File tree

17 files changed

+41
-100
lines changed

17 files changed

+41
-100
lines changed

src/components/MemoryViewer/MemoryViewer.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,18 @@ export interface MemoryProgressViewerProps {
4040
stats: TMemoryStats;
4141
className?: string;
4242
warningThreshold?: number;
43+
dangerThreshold?: number;
4344
formatValues: FormatProgressViewerValues;
4445
percents?: boolean;
45-
dangerThreshold?: number;
4646
}
4747

4848
export function MemoryViewer({
4949
stats,
5050
percents,
5151
formatValues,
5252
className,
53-
warningThreshold = 60,
54-
dangerThreshold = 80,
53+
warningThreshold,
54+
dangerThreshold,
5555
}: MemoryProgressViewerProps) {
5656
const memoryUsage = stats.AnonRss ?? calculateAllocatedMemory(stats);
5757

src/components/ProgressViewer/ProgressViewer.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ export function ProgressViewer({
6060
size = 'xs',
6161
colorizeProgress,
6262
inverseColorize,
63-
warningThreshold = 60,
64-
dangerThreshold = 80,
63+
warningThreshold,
64+
dangerThreshold,
6565
hideCapacity,
6666
}: ProgressViewerProps) {
6767
const theme = useTheme();

src/components/nodesColumns/columns.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import DataTable from '@gravity-ui/react-data-table';
22
import {DefinitionList} from '@gravity-ui/uikit';
33

4-
import {getLoadSeverityForNode} from '../../store/reducers/nodes/utils';
54
import type {TMemoryStats, TPoolStats} from '../../types/api/nodes';
65
import type {TTabletStateInfo} from '../../types/api/tablet';
76
import {valueIsDefined} from '../../utils';
@@ -12,7 +11,7 @@ import {
1211
formatStorageValues,
1312
formatStorageValuesToGb,
1413
} from '../../utils/dataFormatters/dataFormatters';
15-
import {getSpaceUsageSeverity} from '../../utils/storage';
14+
import {getUsageSeverity} from '../../utils/generateEvaluator';
1615
import type {Column} from '../../utils/tableUtils/types';
1716
import {bytesToSpeed, isNumeric} from '../../utils/utils';
1817
import {CellWithPopover} from '../CellWithPopover/CellWithPopover';
@@ -299,7 +298,7 @@ export function getLoadColumn<T extends {LoadAveragePercents?: number[]}>(): Col
299298
row.LoadAveragePercents && row.LoadAveragePercents.length > 0 ? (
300299
<UsageLabel
301300
value={row.LoadAveragePercents[0].toFixed()}
302-
theme={getLoadSeverityForNode(row.LoadAveragePercents[0])}
301+
theme={getUsageSeverity(row.LoadAveragePercents[0])}
303302
/>
304303
) : (
305304
EMPTY_DATA_PLACEHOLDER
@@ -317,7 +316,7 @@ export function getDiskSpaceUsageColumn<T extends {DiskSpaceUsage?: number}>():
317316
return valueIsDefined(row.DiskSpaceUsage) ? (
318317
<UsageLabel
319318
value={Math.floor(row.DiskSpaceUsage)}
320-
theme={getSpaceUsageSeverity(row.DiskSpaceUsage)}
319+
theme={getUsageSeverity(row.DiskSpaceUsage)}
321320
/>
322321
) : (
323322
EMPTY_DATA_PLACEHOLDER

src/containers/Cluster/ClusterDashboard/utils.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ export function useDiagramValues({
1313
value,
1414
capacity,
1515
colorizeProgress = true,
16-
warningThreshold = 60,
17-
dangerThreshold = 80,
16+
warningThreshold,
17+
dangerThreshold,
1818
inverseColorize = false,
1919
legendFormatter,
2020
}: ClusterMetricsCommonProps & {

src/containers/Storage/StorageGroups/columns/columns.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {valueIsDefined} from '../../../../utils';
1414
import {cn} from '../../../../utils/cn';
1515
import {EMPTY_DATA_PLACEHOLDER} from '../../../../utils/constants';
1616
import {formatNumber} from '../../../../utils/dataFormatters/dataFormatters';
17-
import {getSpaceUsageSeverity} from '../../../../utils/storage';
17+
import {getUsageSeverity} from '../../../../utils/generateEvaluator';
1818
import {formatToMs} from '../../../../utils/timeParsers';
1919
import {bytesToGB, bytesToSpeed} from '../../../../utils/utils';
2020
import {Disks} from '../../Disks/Disks';
@@ -110,7 +110,7 @@ const usageColumn: StorageGroupsColumn = {
110110
resizeMinWidth: 75,
111111
render: ({row}) => {
112112
return valueIsDefined(row.Usage) ? (
113-
<UsageLabel value={Math.floor(row.Usage)} theme={getSpaceUsageSeverity(row.Usage)} />
113+
<UsageLabel value={Math.floor(row.Usage)} theme={getUsageSeverity(row.Usage)} />
114114
) : (
115115
EMPTY_DATA_PLACEHOLDER
116116
);
@@ -126,7 +126,7 @@ const diskSpaceUsageColumn: StorageGroupsColumn = {
126126
return valueIsDefined(row.DiskSpaceUsage) ? (
127127
<UsageLabel
128128
value={Math.floor(row.DiskSpaceUsage)}
129-
theme={getSpaceUsageSeverity(row.DiskSpaceUsage)}
129+
theme={getUsageSeverity(row.DiskSpaceUsage)}
130130
/>
131131
) : (
132132
EMPTY_DATA_PLACEHOLDER

src/containers/Storage/utils/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import type {PreparedVDisk} from '../../../utils/disks/types';
44
import {generateEvaluator} from '../../../utils/generateEvaluator';
55
import type {StorageViewContext} from '../types';
66

7-
const defaultDegradationEvaluator = generateEvaluator(1, 2, ['success', 'warning', 'danger']);
7+
const defaultDegradationEvaluator = generateEvaluator(['success', 'warning', 'danger'], 1, 2);
88

99
const degradationEvaluators = {
10-
'block-4-2': generateEvaluator(1, 2, ['success', 'warning', 'danger']),
11-
'mirror-3-dc': generateEvaluator(1, 3, ['success', 'warning', 'danger']),
10+
'block-4-2': generateEvaluator(['success', 'warning', 'danger'], 1, 2),
11+
'mirror-3-dc': generateEvaluator(['success', 'warning', 'danger'], 1, 3),
1212
};
1313

1414
const canEvaluateErasureSpecies = (value?: string): value is keyof typeof degradationEvaluators =>

src/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.tsx

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,7 @@ import type {
1313
TenantPoolsStats,
1414
TenantStorageStats,
1515
} from '../../../../../store/reducers/tenants/utils';
16-
import {
17-
TENANT_CPU_DANGER_TRESHOLD,
18-
TENANT_CPU_WARNING_TRESHOLD,
19-
TENANT_MEMORY_DANGER_TRESHOLD,
20-
TENANT_MEMORY_WARNING_TRESHOLD,
21-
TENANT_STORAGE_DANGER_TRESHOLD,
22-
TENANT_STORAGE_WARNING_TRESHOLD,
23-
cpuUsageToStatus,
24-
memoryUsageToStatus,
25-
storageUsageToStatus,
26-
} from '../../../../../store/reducers/tenants/utils';
16+
import {getMetricStatusFromUsage} from '../../../../../store/reducers/tenants/utils';
2717
import {cn} from '../../../../../utils/cn';
2818
import {formatStorageValues} from '../../../../../utils/dataFormatters/dataFormatters';
2919
import {useTypedSelector} from '../../../../../utils/hooks';
@@ -141,7 +131,7 @@ function CPUCard({poolsCpuStats = [], active}: CPUCardProps) {
141131
.map((pool) => {
142132
const {name, usage, limit, used} = pool;
143133

144-
const poolStatus = cpuUsageToStatus(usage);
134+
const poolStatus = getMetricStatusFromUsage(usage);
145135
if (MetricStatusToSeverity[poolStatus] > MetricStatusToSeverity[status]) {
146136
status = poolStatus;
147137
}
@@ -150,8 +140,6 @@ function CPUCard({poolsCpuStats = [], active}: CPUCardProps) {
150140
title: name,
151141
value: used,
152142
capacity: limit,
153-
warningThreshold: TENANT_CPU_WARNING_TRESHOLD,
154-
dangerThreshold: TENANT_CPU_DANGER_TRESHOLD,
155143
};
156144
});
157145

@@ -180,7 +168,7 @@ function StorageCard({blobStorageStats = [], tabletStorageStats, active}: Storag
180168
const metrics: DiagnosticsCardMetric[] = storageStats.map((metric) => {
181169
const {name, used, limit, usage} = metric;
182170

183-
const metircStatus = storageUsageToStatus(usage);
171+
const metircStatus = getMetricStatusFromUsage(usage);
184172
if (MetricStatusToSeverity[metircStatus] > MetricStatusToSeverity[status]) {
185173
status = metircStatus;
186174
}
@@ -189,8 +177,6 @@ function StorageCard({blobStorageStats = [], tabletStorageStats, active}: Storag
189177
title: name,
190178
value: used,
191179
capacity: limit,
192-
warningThreshold: TENANT_STORAGE_WARNING_TRESHOLD,
193-
dangerThreshold: TENANT_STORAGE_DANGER_TRESHOLD,
194180
formatValues: formatStorageValues,
195181
};
196182
});
@@ -215,7 +201,7 @@ function MemoryCard({active, memoryStats = []}: MemoryCardProps) {
215201
const metrics: DiagnosticsCardMetric[] = memoryStats.map((metric) => {
216202
const {name, used, limit, usage} = metric;
217203

218-
const metircStatus = memoryUsageToStatus(usage);
204+
const metircStatus = getMetricStatusFromUsage(usage);
219205
if (MetricStatusToSeverity[metircStatus] > MetricStatusToSeverity[status]) {
220206
status = metircStatus;
221207
}
@@ -224,8 +210,6 @@ function MemoryCard({active, memoryStats = []}: MemoryCardProps) {
224210
title: name,
225211
value: used,
226212
capacity: limit,
227-
warningThreshold: TENANT_MEMORY_WARNING_TRESHOLD,
228-
dangerThreshold: TENANT_MEMORY_DANGER_TRESHOLD,
229213
formatValues: formatStorageValues,
230214
};
231215
});

src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@ export function TenantStorage({tenantName, metrics}: TenantStorageProps) {
4343
capacity={tabletStorageLimit}
4444
formatValues={formatStorageValues}
4545
colorizeProgress={true}
46-
warningThreshold={75}
47-
dangerThreshold={85}
4846
/>
4947
),
5048
},
@@ -61,8 +59,6 @@ export function TenantStorage({tenantName, metrics}: TenantStorageProps) {
6159
capacity={blobStorageLimit}
6260
formatValues={formatStorageValues}
6361
colorizeProgress={true}
64-
warningThreshold={75}
65-
dangerThreshold={85}
6662
/>
6763
),
6864
},

src/containers/Tenant/Diagnostics/TopShards/columns/columns.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import {InternalLink} from '../../../../../components/InternalLink';
66
import {LinkToSchemaObject} from '../../../../../components/LinkToSchemaObject/LinkToSchemaObject';
77
import {TabletNameWrapper} from '../../../../../components/TabletNameWrapper/TabletNameWrapper';
88
import {UsageLabel} from '../../../../../components/UsageLabel/UsageLabel';
9-
import {getLoadSeverityForShard} from '../../../../../store/reducers/tenantOverview/topShards/utils';
109
import type {KeyValueRow} from '../../../../../types/api/query';
1110
import {formatNumber, roundToPrecision} from '../../../../../utils/dataFormatters/dataFormatters';
11+
import {getUsageSeverity} from '../../../../../utils/generateEvaluator';
1212
import {getDefaultNodePath} from '../../../../Node/NodePages';
1313

1414
import {TOP_SHARDS_COLUMNS_IDS, TOP_SHARDS_COLUMNS_TITLES} from './constants';
@@ -82,7 +82,7 @@ const topShardsCpuCoresColumn: Column<KeyValueRow> = {
8282
return (
8383
<UsageLabel
8484
value={roundToPrecision(Number(row.CPUCores) * 100, 2)}
85-
theme={getLoadSeverityForShard(Number(row.CPUCores) * 100)}
85+
theme={getUsageSeverity(Number(row.CPUCores) * 100)}
8686
/>
8787
);
8888
},

src/store/reducers/nodes/utils.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import type {TNodesInfo} from '../../../types/api/nodes';
2-
import {generateEvaluator} from '../../../utils/generateEvaluator';
32
import {prepareNodeSystemState} from '../../../utils/nodes';
43

54
import type {NodesGroup, NodesHandledResponse} from './types';
@@ -33,5 +32,3 @@ export const prepareNodesData = (data: TNodesInfo): NodesHandledResponse => {
3332
FoundNodes: Number(data.FoundNodes),
3433
};
3534
};
36-
37-
export const getLoadSeverityForNode = generateEvaluator(60, 80, ['success', 'warning', 'danger']);

0 commit comments

Comments
 (0)