ydb-embedded-ui 15.1.0 → 15.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  2. package/dist/containers/Tenant/Diagnostics/StorageUsage/storageUsageFormatters.d.ts +3 -3
  3. package/dist/containers/Tenant/Diagnostics/StorageUsage/storageUsageFormatters.js +4 -42
  4. package/dist/containers/Tenant/Diagnostics/StorageUsage/storageUsageFormatters.js.map +1 -1
  5. package/dist/containers/VDiskPage/VDiskPage.js +21 -12
  6. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  7. package/dist/containers/VDiskPage/VDiskPage.scss +4 -0
  8. package/dist/containers/VDiskPage/VDiskStorageDetails.d.ts +8 -0
  9. package/dist/containers/VDiskPage/VDiskStorageDetails.js +40 -0
  10. package/dist/containers/VDiskPage/VDiskStorageDetails.js.map +1 -0
  11. package/dist/containers/VDiskPage/VDiskStorageDetails.scss +129 -0
  12. package/dist/containers/VDiskPage/i18n/en.json +10 -0
  13. package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
  14. package/dist/routes.d.ts +1 -1
  15. package/dist/routes.js +2 -2
  16. package/dist/routes.js.map +1 -1
  17. package/dist/routes.test.d.ts +1 -0
  18. package/dist/routes.test.js +25 -0
  19. package/dist/routes.test.js.map +1 -0
  20. package/dist/store/reducers/vdisk/types.d.ts +1 -0
  21. package/dist/store/reducers/vdisk/utils.js +2 -0
  22. package/dist/store/reducers/vdisk/utils.js.map +1 -1
  23. package/dist/utils/__test__/storageMetrics.test.d.ts +1 -0
  24. package/dist/utils/__test__/storageMetrics.test.js +20 -0
  25. package/dist/utils/__test__/storageMetrics.test.js.map +1 -0
  26. package/dist/utils/disks/__test__/prepareDisks.test.js +46 -0
  27. package/dist/utils/disks/__test__/prepareDisks.test.js.map +1 -1
  28. package/dist/utils/disks/prepareDisks.d.ts +1 -0
  29. package/dist/utils/disks/prepareDisks.js +32 -2
  30. package/dist/utils/disks/prepareDisks.js.map +1 -1
  31. package/dist/utils/disks/types.d.ts +1 -0
  32. package/dist/utils/storageMetrics.d.ts +4 -0
  33. package/dist/utils/storageMetrics.js +51 -0
  34. package/dist/utils/storageMetrics.js.map +1 -0
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- export declare const storageGroupInfoKeyset: (key: "state" | "yes" | "no" | "usage" | "read-throughput" | "write-throughput" | "encryption" | "missing-disks" | "latency" | "allocation-units" | "overall" | "disk-space" | "media-type" | "erasure-species" | "used-space" | "group-generation" | "available" | "latency-put-tablet-log" | "latency-put-user-data" | "latency-get-fast", params?: import("@gravity-ui/i18n").Params) => string;
1
+ export declare const storageGroupInfoKeyset: (key: "state" | "available" | "yes" | "no" | "usage" | "read-throughput" | "write-throughput" | "encryption" | "missing-disks" | "latency" | "allocation-units" | "overall" | "disk-space" | "media-type" | "erasure-species" | "used-space" | "group-generation" | "latency-put-tablet-log" | "latency-put-user-data" | "latency-get-fast", params?: import("@gravity-ui/i18n").Params) => string;
@@ -1,7 +1,7 @@
1
- import type { BytesSizes } from '../../../../utils/bytesParsers';
1
+ import { formatMetricBytes as formatMetricBytesShared, getConsistentMetricBytesSize as getConsistentMetricBytesSizeShared } from '../../../../utils/storageMetrics';
2
2
  export declare const STORAGE_USAGE_INITIAL_ROWS_COUNT = 3;
3
- export declare function getConsistentMetricBytesSize(values: Array<string | number | undefined>): "b" | "kb" | "mb" | "gb" | "tb" | "pb";
4
- export declare function formatMetricBytes(value?: string | number, size?: BytesSizes): string;
3
+ export declare const getConsistentMetricBytesSize: typeof getConsistentMetricBytesSizeShared;
4
+ export declare const formatMetricBytes: typeof formatMetricBytesShared;
5
5
  export declare function formatOverhead(diskUsage: number | undefined, dataSize: string | number | undefined): string;
6
6
  export declare function getSharePercent(share: number): number;
7
7
  export declare function formatShare(share: number): string;
@@ -1,51 +1,13 @@
1
- import { getBytesSizeUnit, sizes } from '../../../../utils/bytesParsers';
2
- import { EMPTY_DATA_PLACEHOLDER, UNBREAKABLE_GAP } from '../../../../utils/constants';
1
+ import { EMPTY_DATA_PLACEHOLDER } from '../../../../utils/constants';
3
2
  import { formatNumber, formatPercent } from '../../../../utils/dataFormatters/dataFormatters';
3
+ import { formatMetricBytes as formatMetricBytesShared, getConsistentMetricBytesSize as getConsistentMetricBytesSizeShared, } from '../../../../utils/storageMetrics';
4
4
  export const STORAGE_USAGE_INITIAL_ROWS_COUNT = 3;
5
5
  const OVERHEAD_PRECISION = 1;
6
6
  const MIN_SHARE_PERCENT_WITH_FRACTION = 1;
7
7
  const PERCENT_MULTIPLIER = 100;
8
8
  const MAX_PROGRESS_PERCENT = 100;
9
- function getMetricBytesDecimalPlaces(size, convertedValue) {
10
- if (size === 'b' || size === 'kb' || size === 'mb') {
11
- return convertedValue % 1 === 0 ? 0 : 1;
12
- }
13
- if (size === 'gb') {
14
- if (convertedValue < 1) {
15
- return 2;
16
- }
17
- return convertedValue % 1 === 0 ? 0 : 1;
18
- }
19
- // TB and PB: <10 → 2 decimal places, 10+ → 1 decimal place
20
- if (convertedValue < 10) {
21
- return 2;
22
- }
23
- return 1;
24
- }
25
- export function getConsistentMetricBytesSize(values) {
26
- const maxValue = values.reduce((currentMaxValue, value) => {
27
- const numericValue = Number(value);
28
- if (!Number.isFinite(numericValue) || numericValue < 0) {
29
- return currentMaxValue;
30
- }
31
- return Math.max(currentMaxValue, numericValue);
32
- }, 0);
33
- return getBytesSizeUnit(maxValue);
34
- }
35
- export function formatMetricBytes(value, size) {
36
- const numericValue = Number(value);
37
- if (!Number.isFinite(numericValue)) {
38
- return EMPTY_DATA_PLACEHOLDER;
39
- }
40
- const resolvedSize = size !== null && size !== void 0 ? size : getBytesSizeUnit(numericValue);
41
- const convertedValue = numericValue / sizes[resolvedSize].value;
42
- const decimalPlaces = getMetricBytesDecimalPlaces(resolvedSize, convertedValue);
43
- const rounded = Number(convertedValue.toFixed(decimalPlaces));
44
- const formatted = formatNumber(rounded);
45
- return formatted
46
- ? `${formatted}${UNBREAKABLE_GAP}${sizes[resolvedSize].label}`
47
- : EMPTY_DATA_PLACEHOLDER;
48
- }
9
+ export const getConsistentMetricBytesSize = getConsistentMetricBytesSizeShared;
10
+ export const formatMetricBytes = formatMetricBytesShared;
49
11
  export function formatOverhead(diskUsage, dataSize) {
50
12
  const parsedDataSize = Number(dataSize);
51
13
  if (!diskUsage || !Number.isFinite(parsedDataSize) || parsedDataSize <= 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"storageUsageFormatters.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/StorageUsage/storageUsageFormatters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storageUsageFormatters.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/StorageUsage/storageUsageFormatters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EACH,iBAAiB,IAAI,uBAAuB,EAC5C,4BAA4B,IAAI,kCAAkC,GACrE,MAAM,kCAAkC,CAAC;AAE1C,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAElD,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAC1C,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,MAAM,CAAC,MAAM,4BAA4B,GAAG,kCAAkC,CAAC;AAC/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAEzD,MAAM,UAAU,cAAc,CAC1B,SAA6B,EAC7B,QAAqC;IAErC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QACxE,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAElF,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IACzC,MAAM,UAAU,GAAG,KAAK,GAAG,kBAAkB,CAAC;IAE9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACrC,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,SAAS,GACX,YAAY,GAAG,+BAA+B,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,eAAe,GAAG,YAAY,GAAG,kBAAkB,CAAC;IAE1D,OAAO,aAAa,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC"}
@@ -15,6 +15,7 @@ import { PageMetaWithAutorefresh } from '../../components/PageMeta/PageMeta';
15
15
  import { VDiskInfo } from '../../components/VDiskInfo/VDiskInfo';
16
16
  import { useVDiskPagePath } from '../../routes';
17
17
  import { api } from '../../store/reducers/api';
18
+ import { useNewStorageViewEnabled } from '../../store/reducers/capabilities/hooks';
18
19
  import { setHeaderBreadcrumbs } from '../../store/reducers/header/header';
19
20
  import { vDiskApi } from '../../store/reducers/vdisk/vdisk';
20
21
  import { cn } from '../../utils/cn';
@@ -23,6 +24,7 @@ import { getSeverityColor } from '../../utils/disks/helpers';
23
24
  import { useAutoRefreshInterval, useTypedDispatch } from '../../utils/hooks';
24
25
  import { useAppTitle } from '../App/AppTitleContext';
25
26
  import { PaginatedStorage } from '../Storage/PaginatedStorage';
27
+ import { VDiskStorageDetails } from './VDiskStorageDetails';
26
28
  import { VDiskTablets } from './VDiskTablets';
27
29
  import { vDiskPageKeyset } from './i18n';
28
30
  import './VDiskPage.scss';
@@ -59,6 +61,7 @@ export function VDiskPage() {
59
61
  });
60
62
  const database = databaseParam !== null && databaseParam !== void 0 ? databaseParam : undefined;
61
63
  const vDiskTab = vDiskTabSchema.parse(activeTab);
64
+ const newStorageViewEnabled = useNewStorageViewEnabled();
62
65
  const [autoRefreshInterval] = useAutoRefreshInterval();
63
66
  const params = React.useMemo(() => {
64
67
  if (!isNil(vDiskIdParam)) {
@@ -128,6 +131,12 @@ export function VDiskPage() {
128
131
  const renderInfo = () => {
129
132
  return _jsx(VDiskInfo, { data: vDiskData, className: vDiskPageCn('info'), wrap: true });
130
133
  };
134
+ const renderStorageDetails = () => {
135
+ if (!newStorageViewEnabled) {
136
+ return null;
137
+ }
138
+ return _jsx(VDiskStorageDetails, { data: vDiskData, className: vDiskPageCn('storage-details') });
139
+ };
131
140
  const renderTabs = () => {
132
141
  return (_jsx("div", { className: vDiskPageCn('tabs'), children: _jsx(TabProvider, { value: vDiskTab, children: _jsx(TabList, { size: "l", children: VDISK_PAGE_TABS.map(({ id, title }) => {
133
142
  const path = getVDiskPagePath({
@@ -137,6 +146,17 @@ export function VDiskPage() {
137
146
  return (_jsx(Tab, { value: id, disabled: !path, children: _jsx(InternalLink, { as: "tab", to: path, children: title }) }, id));
138
147
  }) }) }) }));
139
148
  };
149
+ const renderStorageInfo = () => {
150
+ if (!isNil(GroupID)) {
151
+ return (_jsx(PaginatedStorage, { database: database, groupId: GroupID, nodeId: nodeId !== null && nodeId !== void 0 ? nodeId : undefined, pDiskId: PDiskId, scrollContainerRef: containerRef, viewContext: {
152
+ groupId: GroupID === null || GroupID === void 0 ? void 0 : GroupID.toString(),
153
+ nodeId: nodeId === null || nodeId === void 0 ? void 0 : nodeId.toString(),
154
+ pDiskId: PDiskId === null || PDiskId === void 0 ? void 0 : PDiskId.toString(),
155
+ vDiskSlotId: vDiskSlotId === null || vDiskSlotId === void 0 ? void 0 : vDiskSlotId.toString(),
156
+ } }));
157
+ }
158
+ return null;
159
+ };
140
160
  const renderTabsContent = () => {
141
161
  switch (vDiskTab) {
142
162
  case 'storage': {
@@ -149,22 +169,11 @@ export function VDiskPage() {
149
169
  return null;
150
170
  }
151
171
  };
152
- const renderStorageInfo = () => {
153
- if (!isNil(GroupID)) {
154
- return (_jsx(PaginatedStorage, { database: database, groupId: GroupID, nodeId: nodeId !== null && nodeId !== void 0 ? nodeId : undefined, pDiskId: PDiskId, scrollContainerRef: containerRef, viewContext: {
155
- groupId: GroupID === null || GroupID === void 0 ? void 0 : GroupID.toString(),
156
- nodeId: nodeId === null || nodeId === void 0 ? void 0 : nodeId.toString(),
157
- pDiskId: PDiskId === null || PDiskId === void 0 ? void 0 : PDiskId.toString(),
158
- vDiskSlotId: vDiskSlotId === null || vDiskSlotId === void 0 ? void 0 : vDiskSlotId.toString(),
159
- } }));
160
- }
161
- return null;
162
- };
163
172
  const renderContent = () => {
164
173
  if (loading) {
165
174
  return _jsx(InfoViewerSkeleton, { rows: 9 });
166
175
  }
167
- return (_jsxs(React.Fragment, { children: [error ? _jsx(ResponseError, { error: error }) : null, renderInfo(), renderTabs(), renderTabsContent()] }));
176
+ return (_jsxs(React.Fragment, { children: [error ? _jsx(ResponseError, { error: error }) : null, renderInfo(), renderStorageDetails(), renderTabs(), renderTabsContent()] }));
168
177
  };
169
178
  return (_jsxs("div", { className: vDiskPageCn(null), ref: containerRef, children: [renderHelmet(), renderPageMeta(), renderPageTitle(), renderControls(), renderContent()] }));
170
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VDiskPage.js","sourceRoot":"","sources":["../../../src/containers/VDiskPage/VDiskPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VDiskPage.js","sourceRoot":"","sources":["../../../src/containers/VDiskPage/VDiskPage.tsx"],"names":[],"mappings":"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"}
@@ -34,6 +34,10 @@
34
34
  gap: var(--g-spacing-2);
35
35
  }
36
36
 
37
+ &__storage-details {
38
+ margin-bottom: var(--g-spacing-5);
39
+ }
40
+
37
41
  &__tablets-content {
38
42
  margin-top: var(--g-spacing-4);
39
43
  }
@@ -0,0 +1,8 @@
1
+ import type { VDiskData } from '../../store/reducers/vdisk/types';
2
+ import './VDiskStorageDetails.scss';
3
+ interface VDiskStorageDetailsProps {
4
+ className?: string;
5
+ data?: VDiskData;
6
+ }
7
+ export declare function VDiskStorageDetails({ className, data }: VDiskStorageDetailsProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button, Divider, Flex, Text } from '@gravity-ui/uikit';
3
+ import { CellWithPopover } from '../../components/CellWithPopover/CellWithPopover';
4
+ import { ClipboardButton } from '../../components/ClipboardButton/ClipboardButton';
5
+ import { getPDiskPagePath } from '../../routes';
6
+ import { cn } from '../../utils/cn';
7
+ import { EMPTY_DATA_PLACEHOLDER } from '../../utils/constants';
8
+ import { formatMetricBytes, formatMetricPercent, getConsistentMetricBytesSize, } from '../../utils/storageMetrics';
9
+ import { vDiskPageKeyset } from './i18n';
10
+ import './VDiskStorageDetails.scss';
11
+ const b = cn('ydb-vdisk-storage-details');
12
+ function MetricItem({ title, value }) {
13
+ return (_jsxs("div", { className: b('metric'), children: [_jsx(Text, { variant: "subheader-2", className: b('value'), children: value }), _jsx(Text, { color: "secondary", className: b('label'), children: title })] }));
14
+ }
15
+ function DetailItem({ title, value }) {
16
+ return (_jsxs("div", { className: b('detail'), children: [_jsx(TruncatedDetailValue, { value: value }), _jsx(Text, { color: "secondary", className: b('label'), children: title })] }));
17
+ }
18
+ function TruncatedDetailValue({ value }) {
19
+ const normalizedValue = value === undefined || value === null || value === '' ? undefined : String(value);
20
+ const displayValue = normalizedValue !== null && normalizedValue !== void 0 ? normalizedValue : EMPTY_DATA_PLACEHOLDER;
21
+ return (_jsx(CellWithPopover, { content: normalizedValue, disabled: !normalizedValue, placement: ['top', 'bottom'], fullWidth: true, wrapperClassName: b('value-popover'), className: b('value-popover-content'), children: _jsx(Text, { variant: "subheader-2", className: b('value'), children: displayValue }) }));
22
+ }
23
+ function CopyableDetailItem({ title, value }) {
24
+ const normalizedValue = value === undefined || value === null || value === '' ? undefined : String(value);
25
+ const displayValue = normalizedValue !== null && normalizedValue !== void 0 ? normalizedValue : EMPTY_DATA_PLACEHOLDER;
26
+ return (_jsxs("div", { className: b('detail'), children: [_jsxs(Flex, { alignItems: "center", gap: "1", className: b('value-row', { copyable: true }), children: [_jsx(CellWithPopover, { content: normalizedValue, disabled: !normalizedValue, placement: ['top', 'bottom'], fullWidth: true, wrapperClassName: b('value-popover', { copyable: true }), className: b('value-popover-content', { copyable: true }), children: _jsx(Text, { variant: "subheader-2", className: b('value'), children: displayValue }) }), _jsx(ClipboardButton, { copyText: normalizedValue, withLabel: false, view: "flat-secondary", size: "s" })] }), _jsx(Text, { color: "secondary", className: b('label'), children: title })] }));
27
+ }
28
+ export function VDiskStorageDetails({ className, data }) {
29
+ const used = Number(data === null || data === void 0 ? void 0 : data.AllocatedSize);
30
+ const total = Number(data === null || data === void 0 ? void 0 : data.SizeLimit);
31
+ const usage = Number(data === null || data === void 0 ? void 0 : data.AllocatedPercent);
32
+ const free = Number(data === null || data === void 0 ? void 0 : data.FreeSize);
33
+ const metricsSize = getConsistentMetricBytesSize([used, total, free]);
34
+ const { NodeDC, NodeRack, NodeHost, NodeId, PDiskId } = data || {};
35
+ const pDiskPath = NodeId !== undefined && PDiskId !== undefined
36
+ ? getPDiskPagePath(PDiskId, NodeId, undefined, { withBasename: true })
37
+ : undefined;
38
+ return (_jsxs("div", { className: b(null, className), children: [_jsx(Flex, { alignItems: "center", gap: "1", className: b('title'), children: _jsx(Text, { variant: "subheader-2", children: vDiskPageKeyset('title_storage-details') }) }), _jsxs("div", { className: b('cards'), children: [_jsxs("div", { className: b('card', { metrics: true }), children: [_jsx(MetricItem, { title: vDiskPageKeyset('field_storage-details-used'), value: formatMetricBytes(used, metricsSize) }), _jsx(MetricItem, { title: vDiskPageKeyset('field_storage-details-total'), value: formatMetricBytes(total, metricsSize) }), _jsx(MetricItem, { title: vDiskPageKeyset('field_storage-details-free'), value: formatMetricBytes(free, metricsSize) }), _jsx(Divider, { orientation: "vertical" }), _jsx(MetricItem, { title: vDiskPageKeyset('field_storage-details-usage'), value: formatMetricPercent(usage) })] }), _jsxs("div", { className: b('card', { details: true }), children: [_jsxs("div", { className: b('details'), children: [_jsx(DetailItem, { title: vDiskPageKeyset('field_datacenter'), value: NodeDC }), _jsx(CopyableDetailItem, { title: vDiskPageKeyset('field_rack'), value: NodeRack }), _jsx(CopyableDetailItem, { title: vDiskPageKeyset('field_node'), value: NodeHost }), _jsx(CopyableDetailItem, { title: vDiskPageKeyset('field_pdisk-id'), value: PDiskId })] }), pDiskPath ? (_jsx(Button, { href: pDiskPath, view: "action", size: "m", children: vDiskPageKeyset('action_go-to-pdisk') })) : null] })] })] }));
39
+ }
40
+ //# sourceMappingURL=VDiskStorageDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VDiskStorageDetails.js","sourceRoot":"","sources":["../../../src/containers/VDiskPage/VDiskStorageDetails.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ .ydb-vdisk-storage-details {
2
+ &__title {
3
+ margin-bottom: var(--g-spacing-4);
4
+ }
5
+
6
+ &__cards {
7
+ display: flex;
8
+ flex-wrap: wrap;
9
+ align-items: flex-start;
10
+ gap: var(--g-spacing-1);
11
+
12
+ width: fit-content;
13
+ max-width: 100%;
14
+ }
15
+
16
+ &__card {
17
+ min-width: 0;
18
+ padding: var(--g-spacing-4) var(--g-spacing-5);
19
+
20
+ border-radius: var(--g-border-radius-m) var(--g-border-radius-xs) var(--g-border-radius-xs)
21
+ var(--g-border-radius-m);
22
+ background-color: var(--g-color-base-generic);
23
+
24
+ &_metrics {
25
+ display: flex;
26
+ flex: 0 0 auto;
27
+ align-items: stretch;
28
+ gap: var(--g-spacing-5);
29
+
30
+ width: max-content;
31
+ max-width: 100%;
32
+ min-height: 74px;
33
+ }
34
+
35
+ &_details {
36
+ display: flex;
37
+ flex: 0 1 auto;
38
+ flex-wrap: wrap;
39
+ justify-content: flex-start;
40
+ align-items: center;
41
+ gap: var(--g-spacing-4);
42
+
43
+ width: fit-content;
44
+ max-width: 100%;
45
+ min-height: 74px;
46
+
47
+ border-radius: var(--g-border-radius-xs) var(--g-border-radius-m)
48
+ var(--g-border-radius-m) var(--g-border-radius-xs);
49
+ }
50
+ }
51
+
52
+ &__details {
53
+ display: flex;
54
+ flex: 0 1 auto;
55
+ flex-wrap: wrap;
56
+ align-items: stretch;
57
+ gap: var(--g-spacing-4);
58
+
59
+ min-width: 0;
60
+ max-width: 100%;
61
+ }
62
+
63
+ &__metric,
64
+ &__detail {
65
+ display: flex;
66
+ flex-direction: column;
67
+ justify-content: center;
68
+ align-items: flex-start;
69
+ gap: var(--g-spacing-1);
70
+
71
+ min-width: 0;
72
+ padding-right: var(--g-spacing-4);
73
+ }
74
+
75
+ &__detail {
76
+ flex: 0 1 auto;
77
+
78
+ min-width: 100px;
79
+ max-width: 200px;
80
+ }
81
+
82
+ &__value,
83
+ &__label {
84
+ display: block;
85
+
86
+ white-space: nowrap;
87
+ }
88
+
89
+ &__value-row &__value {
90
+ overflow: hidden;
91
+
92
+ text-overflow: ellipsis;
93
+ }
94
+
95
+ &__value-row {
96
+ flex-wrap: nowrap;
97
+
98
+ width: 100%;
99
+ min-width: 0;
100
+ height: 20px;
101
+
102
+ &_copyable {
103
+ width: auto;
104
+ max-width: 100%;
105
+ }
106
+ }
107
+
108
+ &__value-popover {
109
+ flex: 1 1 auto;
110
+
111
+ min-width: 0;
112
+
113
+ &_copyable {
114
+ flex: 0 1 auto;
115
+
116
+ max-width: 100%;
117
+ }
118
+ }
119
+
120
+ &__value-popover-content {
121
+ width: 100%;
122
+ min-width: 0;
123
+
124
+ &_copyable {
125
+ width: auto;
126
+ max-width: 100%;
127
+ }
128
+ }
129
+ }
@@ -5,6 +5,16 @@
5
5
  "vdisk": "VDisk",
6
6
  "storage": "Storage",
7
7
  "tablets": "Tablets",
8
+ "title_storage-details": "Storage details",
9
+ "field_storage-details-used": "Used",
10
+ "field_storage-details-total": "Total",
11
+ "field_storage-details-free": "Free",
12
+ "field_storage-details-usage": "Usage",
13
+ "field_datacenter": "Datacenter",
14
+ "field_rack": "Rack",
15
+ "field_node": "Node",
16
+ "field_pdisk-id": "PDisk ID",
17
+ "action_go-to-pdisk": "Go to PDisk",
8
18
  "tablet-id": "Tablet ID",
9
19
  "channel-id": "Channel ID",
10
20
  "count": "Count",
@@ -1 +1 @@
1
- export declare const vDiskPageKeyset: (key: "storage" | "size" | "tablets" | "node" | "fqdn" | "count" | "tablet-id" | "label_donor" | "pdisk" | "vdisk" | "channel-id", params?: import("@gravity-ui/i18n").Params) => string;
1
+ export declare const vDiskPageKeyset: (key: "storage" | "size" | "tablets" | "node" | "fqdn" | "count" | "tablet-id" | "field_rack" | "label_donor" | "pdisk" | "vdisk" | "field_node" | "title_storage-details" | "field_storage-details-used" | "field_storage-details-total" | "field_storage-details-free" | "field_storage-details-usage" | "field_datacenter" | "field_pdisk-id" | "action_go-to-pdisk" | "channel-id", params?: import("@gravity-ui/i18n").Params) => string;
package/dist/routes.d.ts CHANGED
@@ -43,7 +43,7 @@ export type BaseQueryParams = {
43
43
  export type QueryParamsTypeFromQueryObject<T extends Record<string, QueryParamConfig<any, any>>> = {
44
44
  [QueryParamName in keyof T]?: Parameters<T[QueryParamName]['encode']>[0];
45
45
  };
46
- export declare function getPDiskPagePath(pDiskId: string | number, nodeId: string | number, query?: Query): string;
46
+ export declare function getPDiskPagePath(pDiskId: string | number, nodeId: string | number, query?: Query, options?: CreateHrefOptions): string;
47
47
  export declare function getStorageGroupPath(groupId: string | number, query?: Query): string;
48
48
  export declare function getDefaultNodePath(params: {
49
49
  id: string | number;
package/dist/routes.js CHANGED
@@ -91,8 +91,8 @@ export function getLocationObjectFromHref(href) {
91
91
  const { pathname, search, hash } = new URL(href, 'http://localhost');
92
92
  return { pathname, search, hash };
93
93
  }
94
- export function getPDiskPagePath(pDiskId, nodeId, query = {}) {
95
- return createHref(routes.pDisk, undefined, { ...query, nodeId, pDiskId });
94
+ export function getPDiskPagePath(pDiskId, nodeId, query = {}, options) {
95
+ return createHref(routes.pDisk, undefined, { ...query, nodeId, pDiskId }, options);
96
96
  }
97
97
  export function getStorageGroupPath(groupId, query = {}) {
98
98
  return createHref(routes.storageGroup, undefined, { ...query, groupId });
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ jest.mock('./store', () => ({
2
+ backend: undefined,
3
+ basename: '/monitoring',
4
+ clusterName: undefined,
5
+ environment: undefined,
6
+ webVersion: false,
7
+ }));
8
+ jest.mock('./uiFactory/uiFactory', () => ({
9
+ uiFactory: { clustersDomain: undefined },
10
+ }));
11
+ jest.mock('./utils/hooks/useDatabaseFromQuery', () => ({
12
+ useDatabaseFromQuery: jest.fn(),
13
+ }));
14
+ import { getPDiskPagePath } from './routes';
15
+ describe('routes', () => {
16
+ describe('getPDiskPagePath', () => {
17
+ test('should create pDisk path without basename by default', () => {
18
+ expect(getPDiskPagePath(1001, 4)).toBe('/pDisk?nodeId=4&pDiskId=1001');
19
+ });
20
+ test('should prepend basename when requested for href-based links', () => {
21
+ expect(getPDiskPagePath(1001, 4, undefined, { withBasename: true })).toBe('/monitoring/pDisk?nodeId=4&pDiskId=1001');
22
+ });
23
+ });
24
+ });
25
+ //# sourceMappingURL=routes.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.test.js","sourceRoot":"","sources":["../src/routes.test.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,SAAS;IACtB,UAAU,EAAE,KAAK;CACpB,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,SAAS,EAAE,EAAC,cAAc,EAAE,SAAS,EAAC;CACzC,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE;CAClC,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAE1C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACpB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,EAAC,YAAY,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CACnE,yCAAyC,CAC5C,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -4,6 +4,7 @@ export interface VDiskData extends PreparedVDisk {
4
4
  NodeHost?: string;
5
5
  NodeType?: string;
6
6
  NodeDC?: string;
7
+ NodeRack?: string;
7
8
  PDiskId?: number;
8
9
  PDiskType?: string;
9
10
  }
@@ -23,6 +23,7 @@ export function prepareVDiskDataResponse([storageGroupResponse, nodeResponse], v
23
23
  const NodeHost = preparedNode.Host;
24
24
  const NodeType = (_g = preparedNode.Roles) === null || _g === void 0 ? void 0 : _g[0];
25
25
  const NodeDC = preparedNode.DC;
26
+ const NodeRack = preparedNode.Rack;
26
27
  const PDiskId = (_h = currentVDisk.PDiskId) !== null && _h !== void 0 ? _h : preparedPDisk === null || preparedPDisk === void 0 ? void 0 : preparedPDisk.PDiskId;
27
28
  const PDiskType = preparedPDisk === null || preparedPDisk === void 0 ? void 0 : preparedPDisk.Type;
28
29
  return {
@@ -31,6 +32,7 @@ export function prepareVDiskDataResponse([storageGroupResponse, nodeResponse], v
31
32
  NodeHost,
32
33
  NodeType,
33
34
  NodeDC,
35
+ NodeRack,
34
36
  PDiskId,
35
37
  PDiskType,
36
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/store/reducers/vdisk/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AAIjE,MAAM,UAAU,wBAAwB,CACpC,CAAC,oBAAoB,EAAE,YAAY,CAGlC,EACD,OAAe;;IAEf,MAAM,QAAQ,GAAG,MAAA,MAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,aAAa,0CAAG,CAAC,EAAE,MAAM,0CAAE,IAAI,CAClE,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,EAAE,EAAE,CAClB,OAAO,KAAK,OAAO,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA,CACvF,CAAC;IAEF,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAEnD,IAAI,YAAY,GAAkB,EAAE,CAAC;IAErC,IAAI,aAAa,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;QAC1C,YAAY,GAAG,aAAa,CAAC;IACjC,CAAC;SAAM,CAAC;QACJ,KAAK,MAAM,KAAK,IAAI,MAAA,aAAa,CAAC,MAAM,mCAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;gBAClC,YAAY,GAAG,KAAK,CAAC;gBACrB,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC;IAEzC,MAAM,OAAO,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,eAAe,0CAAG,CAAC,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,MAAA,MAAA,YAAY,CAAC,MAAM,mCAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,mCAAI,YAAY,CAAC,MAAM,CAAC;IACnF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAA,YAAY,CAAC,KAAK,0CAAG,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC;IAE/B,MAAM,OAAO,GAAG,MAAA,YAAY,CAAC,OAAO,mCAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAC;IAC/D,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAC;IAEtC,OAAO;QACH,GAAG,YAAY;QAEf,MAAM;QACN,QAAQ;QACR,QAAQ;QACR,MAAM;QAEN,OAAO;QACP,SAAS;KACZ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/store/reducers/vdisk/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AAIjE,MAAM,UAAU,wBAAwB,CACpC,CAAC,oBAAoB,EAAE,YAAY,CAGlC,EACD,OAAe;;IAEf,MAAM,QAAQ,GAAG,MAAA,MAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,aAAa,0CAAG,CAAC,EAAE,MAAM,0CAAE,IAAI,CAClE,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,EAAE,EAAE,CAClB,OAAO,KAAK,OAAO,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA,CACvF,CAAC;IAEF,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAEnD,IAAI,YAAY,GAAkB,EAAE,CAAC;IAErC,IAAI,aAAa,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;QAC1C,YAAY,GAAG,aAAa,CAAC;IACjC,CAAC;SAAM,CAAC;QACJ,KAAK,MAAM,KAAK,IAAI,MAAA,aAAa,CAAC,MAAM,mCAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;gBAClC,YAAY,GAAG,KAAK,CAAC;gBACrB,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC;IAEzC,MAAM,OAAO,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,eAAe,0CAAG,CAAC,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,MAAA,MAAA,YAAY,CAAC,MAAM,mCAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,mCAAI,YAAY,CAAC,MAAM,CAAC;IACnF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAA,YAAY,CAAC,KAAK,0CAAG,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;IAEnC,MAAM,OAAO,GAAG,MAAA,YAAY,CAAC,OAAO,mCAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAC;IAC/D,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAC;IAEtC,OAAO;QACH,GAAG,YAAY;QAEf,MAAM;QACN,QAAQ;QACR,QAAQ;QACR,MAAM;QACN,QAAQ;QAER,OAAO;QACP,SAAS;KACZ,CAAC;AACN,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ import { EMPTY_DATA_PLACEHOLDER, UNBREAKABLE_GAP } from '../constants';
2
+ import { formatMetricBytes, formatMetricPercent, getConsistentMetricBytesSize, } from '../storageMetrics';
3
+ describe('storageMetrics', () => {
4
+ test('getConsistentMetricBytesSize chooses a shared unit from the largest metric', () => {
5
+ expect(getConsistentMetricBytesSize([521000000, 1230000000, 410000000])).toBe('gb');
6
+ });
7
+ test('formatMetricBytes keeps related values in the provided shared unit', () => {
8
+ expect(formatMetricBytes(521000000, 'gb')).toBe(`0.52${UNBREAKABLE_GAP}GB`);
9
+ });
10
+ test('formatMetricPercent keeps integer usage values without decimals', () => {
11
+ expect(formatMetricPercent(50)).toBe('50%');
12
+ });
13
+ test('formatMetricPercent keeps one decimal for non-integer values', () => {
14
+ expect(formatMetricPercent(64.2)).toBe('64.2%');
15
+ });
16
+ test('formatMetricPercent returns placeholder for invalid values', () => {
17
+ expect(formatMetricPercent(undefined)).toBe(EMPTY_DATA_PLACEHOLDER);
18
+ });
19
+ });
20
+ //# sourceMappingURL=storageMetrics.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageMetrics.test.js","sourceRoot":"","sources":["../../../src/utils/__test__/storageMetrics.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAE,eAAe,EAAC,MAAM,cAAc,CAAC;AACrE,OAAO,EACH,iBAAiB,EACjB,mBAAmB,EACnB,4BAA4B,GAC/B,MAAM,mBAAmB,CAAC;AAE3B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,IAAI,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,CAAC,4BAA4B,CAAC,CAAC,SAAW,EAAE,UAAa,EAAE,SAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,iBAAiB,CAAC,SAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,eAAe,IAAI,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -77,6 +77,7 @@ describe('prepareWhiteboardVDiskData', () => {
77
77
  AvailableSize: 188523479040,
78
78
  AllocatedSize: 8996782080,
79
79
  SizeLimit: 197520261120,
80
+ FreeSize: 188523479040,
80
81
  AllocatedPercent: 4,
81
82
  };
82
83
  const preparedData = prepareWhiteboardVDiskData(data);
@@ -159,6 +160,7 @@ describe('prepareVDiskSizeFields', () => {
159
160
  AvailableSize: 400,
160
161
  AllocatedSize: 100,
161
162
  SizeLimit: 500, // allocated (100) + available (400) = 500
163
+ FreeSize: 400,
162
164
  AllocatedPercent: 20, // 100 / 500 * 100 = 20%
163
165
  });
164
166
  });
@@ -171,6 +173,7 @@ describe('prepareVDiskSizeFields', () => {
171
173
  AvailableSize: 0,
172
174
  AllocatedSize: 500,
173
175
  SizeLimit: 500, // SlotSize is used when available is 0
176
+ FreeSize: 0,
174
177
  AllocatedPercent: 100, // 500 / 500 * 100 = 100%
175
178
  });
176
179
  });
@@ -183,9 +186,49 @@ describe('prepareVDiskSizeFields', () => {
183
186
  AvailableSize: 0,
184
187
  AllocatedSize: 300,
185
188
  SizeLimit: 500, // SlotSize is used when available is undefined
189
+ FreeSize: 200,
186
190
  AllocatedPercent: 60, // 300 / 500 * 100 = 60%
187
191
  });
188
192
  });
193
+ test('Should derive free size from slot size fallback when AvailableSize is 0', () => {
194
+ expect(prepareVDiskSizeFields({
195
+ AvailableSize: '0',
196
+ AllocatedSize: '300',
197
+ SlotSize: '500',
198
+ })).toEqual({
199
+ AvailableSize: 0,
200
+ AllocatedSize: 300,
201
+ SizeLimit: 500,
202
+ FreeSize: 200,
203
+ AllocatedPercent: 60,
204
+ });
205
+ });
206
+ test('Should return unknown free size when SlotSize fallback is used with invalid AllocatedSize', () => {
207
+ expect(prepareVDiskSizeFields({
208
+ AvailableSize: '0',
209
+ AllocatedSize: undefined,
210
+ SlotSize: '500',
211
+ })).toEqual({
212
+ AvailableSize: 0,
213
+ AllocatedSize: NaN,
214
+ SizeLimit: 500,
215
+ FreeSize: NaN,
216
+ AllocatedPercent: NaN,
217
+ });
218
+ });
219
+ test('Should preserve known free size when AllocatedSize is invalid outside SlotSize fallback', () => {
220
+ expect(prepareVDiskSizeFields({
221
+ AvailableSize: '400',
222
+ AllocatedSize: undefined,
223
+ SlotSize: '500',
224
+ })).toEqual({
225
+ AvailableSize: 400,
226
+ AllocatedSize: NaN,
227
+ SizeLimit: NaN,
228
+ FreeSize: 400,
229
+ AllocatedPercent: NaN,
230
+ });
231
+ });
189
232
  test('Should use allocated when SlotSize is undefined and available is 0', () => {
190
233
  expect(prepareVDiskSizeFields({
191
234
  AvailableSize: '0',
@@ -195,6 +238,7 @@ describe('prepareVDiskSizeFields', () => {
195
238
  AvailableSize: 0,
196
239
  AllocatedSize: 500,
197
240
  SizeLimit: 500, // allocated (500)
241
+ FreeSize: 0,
198
242
  AllocatedPercent: 100, // 500 / 500 * 100 = 100%
199
243
  });
200
244
  });
@@ -207,6 +251,7 @@ describe('prepareVDiskSizeFields', () => {
207
251
  AvailableSize: 0,
208
252
  AllocatedSize: 800,
209
253
  SizeLimit: 500, // SlotSize is used as limit
254
+ FreeSize: 0,
210
255
  AllocatedPercent: 160, // 800 / 500 * 100 = 160%
211
256
  });
212
257
  });
@@ -219,6 +264,7 @@ describe('prepareVDiskSizeFields', () => {
219
264
  AvailableSize: 0,
220
265
  AllocatedSize: NaN,
221
266
  SizeLimit: NaN,
267
+ FreeSize: NaN,
222
268
  AllocatedPercent: NaN,
223
269
  });
224
270
  });
@@ -1 +1 @@
1
- {"version":3,"file":"prepareDisks.test.js","sourceRoot":"","sources":["../../../../src/utils/disks/__test__/prepareDisks.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepareDisks.test.js","sourceRoot":"","sources":["../../../../src/utils/disks/__test__/prepareDisks.test.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare function prepareVDiskSizeFields({ AvailableSize, AllocatedSize, S
11
11
  AvailableSize: number;
12
12
  AllocatedSize: number;
13
13
  SizeLimit: number;
14
+ FreeSize: number;
14
15
  AllocatedPercent: number;
15
16
  };
16
17
  export declare function preparePDiskSizeFields({ AvailableSize, TotalSize, }: {
@@ -1,5 +1,6 @@
1
1
  import { isNil } from 'lodash';
2
2
  import { stringifyVdiskId } from '../dataFormatters/dataFormatters';
3
+ import { isNumeric } from '../utils';
3
4
  import { calculatePDiskSeverity } from './calculatePDiskSeverity';
4
5
  import { calculateVDiskSeverity } from './calculateVDiskSeverity';
5
6
  import { getPDiskType } from './getPDiskType';
@@ -96,23 +97,52 @@ export function prepareWhiteboardPDiskData(pdiskState = {}) {
96
97
  };
97
98
  }
98
99
  export function prepareVDiskSizeFields({ AvailableSize, AllocatedSize, SlotSize, }) {
99
- const available = Number(AvailableSize !== null && AvailableSize !== void 0 ? AvailableSize : 0);
100
+ const parsedAvailable = Number(AvailableSize);
101
+ const hasKnownAvailableSize = isNumeric(AvailableSize) && parsedAvailable >= 0;
102
+ const available = hasKnownAvailableSize ? parsedAvailable : 0;
100
103
  // Unlike available, allocated is displayed in UI, it is incorrect to fallback it to 0
101
104
  const allocated = Number(AllocatedSize);
102
105
  const slotSize = Number(SlotSize);
106
+ const hasSizeLimitFallback = !available && Boolean(slotSize);
103
107
  let sizeLimit = allocated + available;
104
108
  // If no available size or available size is 0, slot size should be used as limit
105
- if (!available && slotSize) {
109
+ if (hasSizeLimitFallback) {
106
110
  sizeLimit = slotSize;
107
111
  }
112
+ const freeSize = getVDiskFreeSize({
113
+ available,
114
+ allocated,
115
+ sizeLimit,
116
+ hasKnownAvailableSize,
117
+ hasSizeLimitFallback,
118
+ });
108
119
  const allocatedPercent = sizeLimit > 0 ? Math.floor((allocated * 100) / sizeLimit) : NaN;
109
120
  return {
110
121
  AvailableSize: available,
111
122
  AllocatedSize: allocated,
112
123
  SizeLimit: sizeLimit,
124
+ FreeSize: freeSize,
113
125
  AllocatedPercent: allocatedPercent,
114
126
  };
115
127
  }
128
+ function getVDiskFreeSize({ available, allocated, sizeLimit, hasKnownAvailableSize, hasSizeLimitFallback, }) {
129
+ if (!hasSizeLimitFallback && hasKnownAvailableSize) {
130
+ return available;
131
+ }
132
+ if (!Number.isFinite(sizeLimit) || sizeLimit < 0) {
133
+ return NaN;
134
+ }
135
+ if (!Number.isFinite(allocated) || allocated < 0) {
136
+ return hasSizeLimitFallback ? NaN : sizeLimit;
137
+ }
138
+ if (hasSizeLimitFallback) {
139
+ return Math.max(sizeLimit - allocated, 0);
140
+ }
141
+ if (Number.isFinite(available) && available >= 0) {
142
+ return available;
143
+ }
144
+ return Math.max(sizeLimit - allocated, 0);
145
+ }
116
146
  export function preparePDiskSizeFields({ AvailableSize, TotalSize, }) {
117
147
  const available = Number(AvailableSize);
118
148
  const total = Number(TotalSize);
@@ -1 +1 @@
1
- {"version":3,"file":"prepareDisks.js","sourceRoot":"","sources":["../../../src/utils/disks/prepareDisks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepareDisks.js","sourceRoot":"","sources":["../../../src/utils/disks/prepareDisks.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export interface PreparedVDisk extends Omit<TVDiskStateInfo, 'PDisk' | 'Availabl
24
24
  AllocatedSize?: number;
25
25
  AllocatedPercent?: number;
26
26
  SizeLimit?: number;
27
+ FreeSize?: number;
27
28
  Donors?: PreparedVDisk[];
28
29
  Recipient?: VDiskRecipientRef;
29
30
  }
@@ -0,0 +1,4 @@
1
+ import type { BytesSizes } from './bytesParsers';
2
+ export declare function getConsistentMetricBytesSize(values: Array<string | number | undefined>): "b" | "kb" | "mb" | "gb" | "tb" | "pb";
3
+ export declare function formatMetricBytes(value?: string | number, size?: BytesSizes): string;
4
+ export declare function formatMetricPercent(value?: number): string;
@@ -0,0 +1,51 @@
1
+ import { getBytesSizeUnit, sizes } from './bytesParsers';
2
+ import { EMPTY_DATA_PLACEHOLDER, UNBREAKABLE_GAP } from './constants';
3
+ import { formatNumber, formatPercent } from './dataFormatters/dataFormatters';
4
+ function getMetricBytesDecimalPlaces(size, convertedValue) {
5
+ if (size === 'b' || size === 'kb' || size === 'mb') {
6
+ return convertedValue % 1 === 0 ? 0 : 1;
7
+ }
8
+ if (size === 'gb') {
9
+ if (convertedValue < 1) {
10
+ return 2;
11
+ }
12
+ return convertedValue % 1 === 0 ? 0 : 1;
13
+ }
14
+ if (convertedValue < 10) {
15
+ return 2;
16
+ }
17
+ return 1;
18
+ }
19
+ export function getConsistentMetricBytesSize(values) {
20
+ const maxValue = values.reduce((currentMaxValue, value) => {
21
+ const numericValue = Number(value);
22
+ if (!Number.isFinite(numericValue) || numericValue < 0) {
23
+ return currentMaxValue;
24
+ }
25
+ return Math.max(currentMaxValue, numericValue);
26
+ }, 0);
27
+ return getBytesSizeUnit(maxValue);
28
+ }
29
+ export function formatMetricBytes(value, size) {
30
+ const numericValue = Number(value);
31
+ if (!Number.isFinite(numericValue)) {
32
+ return EMPTY_DATA_PLACEHOLDER;
33
+ }
34
+ const resolvedSize = size !== null && size !== void 0 ? size : getBytesSizeUnit(numericValue);
35
+ const convertedValue = numericValue / sizes[resolvedSize].value;
36
+ const decimalPlaces = getMetricBytesDecimalPlaces(resolvedSize, convertedValue);
37
+ const rounded = Number(convertedValue.toFixed(decimalPlaces));
38
+ const formatted = formatNumber(rounded);
39
+ return formatted
40
+ ? `${formatted}${UNBREAKABLE_GAP}${sizes[resolvedSize].label}`
41
+ : EMPTY_DATA_PLACEHOLDER;
42
+ }
43
+ export function formatMetricPercent(value) {
44
+ const numericValue = Number(value);
45
+ if (!Number.isFinite(numericValue) || numericValue < 0) {
46
+ return EMPTY_DATA_PLACEHOLDER;
47
+ }
48
+ const precision = Number.isInteger(numericValue) ? 0 : 1;
49
+ return formatPercent(numericValue / 100, precision);
50
+ }
51
+ //# sourceMappingURL=storageMetrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageMetrics.js","sourceRoot":"","sources":["../../src/utils/storageMetrics.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ydb-embedded-ui",
3
- "version": "15.1.0",
3
+ "version": "15.2.0",
4
4
  "files": [
5
5
  "dist"
6
6
  ],