ydb-embedded-ui 15.8.0 → 16.1.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.
- package/dist/components/EvictVDiskButton/i18n/en.json +2 -2
- package/dist/components/MetricChart/reducer.d.ts +2 -2
- package/dist/components/PDiskInfo/PDiskInfo.js +4 -1
- package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
- package/dist/components/PDiskInfo/i18n/en.json +1 -0
- package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/StorageGroupInfo/StorageGroupInfo.js +6 -2
- package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
- package/dist/components/StorageGroupInfo/i18n/en.json +1 -0
- package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
- package/dist/components/VDiskInfo/VDiskInfo.js +2 -2
- package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
- package/dist/containers/App/NavigationWrapper.js +4 -2
- package/dist/containers/App/NavigationWrapper.js.map +1 -1
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js +148 -29
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js.map +1 -1
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.scss +106 -10
- package/dist/containers/Cluster/i18n/en.json +23 -0
- package/dist/containers/Cluster/i18n/index.d.ts +1 -1
- package/dist/containers/Clusters/Clusters.js +17 -5
- package/dist/containers/Clusters/Clusters.js.map +1 -1
- package/dist/containers/Clusters/i18n/en.json +1 -0
- package/dist/containers/Clusters/i18n/index.d.ts +1 -1
- package/dist/containers/Header/hooks/useClusterData.d.ts +1 -0
- package/dist/containers/Operations/Operations.js +2 -2
- package/dist/containers/Operations/Operations.js.map +1 -1
- package/dist/containers/Operations/columns.d.ts +1 -2
- package/dist/containers/Operations/columns.js +3 -5
- package/dist/containers/Operations/columns.js.map +1 -1
- package/dist/containers/Operations/useOperationsInfiniteQuery.d.ts +0 -5
- package/dist/containers/Operations/useOperationsInfiniteQuery.js +14 -11
- package/dist/containers/Operations/useOperationsInfiniteQuery.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.d.ts +15 -3
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js +41 -22
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js +36 -45
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.d.ts +17 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.js +19 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.d.ts +16 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.js +33 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.d.ts +14 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.js +39 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/en.json +6 -3
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.d.ts +27 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.js +64 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.d.ts +6 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.js +38 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.d.ts +32 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.js +94 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.d.ts +11 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.js +45 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.d.ts +10 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.js +53 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.d.ts +10 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.js +19 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.d.ts +18 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.js +41 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js +16 -5
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.d.ts +4 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.js +8 -5
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.d.ts +4 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.js +23 -15
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.scss +6 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummarySections.d.ts +9 -4
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummarySections.js +15 -10
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummarySections.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/en.json +2 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/useTenantStorageNewData.d.ts +5 -5
- package/dist/containers/Tenant/Healthcheck/Healthcheck.d.ts +3 -8
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js +10 -10
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js +1 -14
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.d.ts +2 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js +11 -27
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/shared.d.ts +9 -4
- package/dist/containers/Tenant/Healthcheck/shared.js +15 -26
- package/dist/containers/Tenant/Healthcheck/shared.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/utils.d.ts +3 -0
- package/dist/containers/Tenant/Healthcheck/utils.js +16 -0
- package/dist/containers/Tenant/Healthcheck/utils.js.map +1 -0
- package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +39 -1
- package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
- package/dist/containers/Tenant/i18n/en.json +1 -0
- package/dist/containers/Tenant/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/utils/schema.d.ts +1 -0
- package/dist/containers/Tenant/utils/schema.js +3 -0
- package/dist/containers/Tenant/utils/schema.js.map +1 -1
- package/dist/containers/Tenant/utils/schemaActions.d.ts +3 -0
- package/dist/containers/Tenant/utils/schemaActions.js +23 -6
- package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
- package/dist/containers/UserSettings/Setting.d.ts +7 -1
- package/dist/containers/UserSettings/Setting.js +4 -3
- package/dist/containers/UserSettings/Setting.js.map +1 -1
- package/dist/containers/UserSettings/UserSettings.js +3 -1
- package/dist/containers/UserSettings/UserSettings.js.map +1 -1
- package/dist/containers/UserSettings/settings.d.ts +1 -0
- package/dist/containers/UserSettings/settings.js +17 -6
- package/dist/containers/UserSettings/settings.js.map +1 -1
- package/dist/store/configureStore.d.ts +5 -4
- package/dist/store/configureStore.js +3 -1
- package/dist/store/configureStore.js.map +1 -1
- package/dist/store/defaultStore.d.ts +2 -2
- package/dist/store/reducers/api.d.ts +1 -1
- package/dist/store/reducers/api.js +1 -1
- package/dist/store/reducers/api.js.map +1 -1
- package/dist/store/reducers/authentication/authentication.d.ts +4 -4
- package/dist/store/reducers/cancelQuery.d.ts +2 -2
- package/dist/store/reducers/capabilities/capabilities.d.ts +39 -39
- package/dist/store/reducers/capabilities/hooks.d.ts +7 -6
- package/dist/store/reducers/capabilities/hooks.js +8 -1
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/cluster/cluster.d.ts +6 -5
- package/dist/store/reducers/cluster/cluster.js +3 -2
- package/dist/store/reducers/cluster/cluster.js.map +1 -1
- package/dist/store/reducers/cluster/utils.d.ts +2 -1
- package/dist/store/reducers/cluster/utils.js +28 -0
- package/dist/store/reducers/cluster/utils.js.map +1 -1
- package/dist/store/reducers/clusters/clusters.d.ts +2 -2
- package/dist/store/reducers/clusters/clusters.js +1 -0
- package/dist/store/reducers/clusters/clusters.js.map +1 -1
- package/dist/store/reducers/clusters/selectors.d.ts +1 -0
- package/dist/store/reducers/clusters/selectors.js +7 -1
- package/dist/store/reducers/clusters/selectors.js.map +1 -1
- package/dist/store/reducers/clusters/types.d.ts +1 -0
- package/dist/store/reducers/codeAssist/codeAssist.d.ts +6 -6
- package/dist/store/reducers/configs.d.ts +3 -3
- package/dist/store/reducers/environments/environments.d.ts +2 -2
- package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +4 -4
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +119 -119
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.js.map +1 -1
- package/dist/store/reducers/healthcheckInfo/types.d.ts +1 -1
- package/dist/store/reducers/healthcheckInfo/utils.js +18 -12
- package/dist/store/reducers/healthcheckInfo/utils.js.map +1 -1
- package/dist/store/reducers/heatmap.d.ts +2 -2
- package/dist/store/reducers/hotKeys/hotKeys.d.ts +2 -2
- package/dist/store/reducers/index.d.ts +3 -3
- package/dist/store/reducers/network/network.d.ts +2 -2
- package/dist/store/reducers/node/node.d.ts +3 -3
- package/dist/store/reducers/node/selectors.d.ts +1 -1
- package/dist/store/reducers/nodes/nodes.d.ts +2 -2
- package/dist/store/reducers/nodesList.d.ts +12 -12
- package/dist/store/reducers/operations.d.ts +6 -9
- package/dist/store/reducers/operations.js +5 -24
- package/dist/store/reducers/operations.js.map +1 -1
- package/dist/store/reducers/overview/overview.d.ts +2 -2
- package/dist/store/reducers/partitions/partitions.d.ts +3 -3
- package/dist/store/reducers/pdisk/pdisk.d.ts +2 -2
- package/dist/store/reducers/planToSvg.d.ts +2 -2
- package/dist/store/reducers/preview.d.ts +2 -2
- package/dist/store/reducers/query/api.d.ts +4 -4
- package/dist/store/reducers/replication.d.ts +2 -2
- package/dist/store/reducers/schema/schema.d.ts +16 -16
- package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +39 -39
- package/dist/store/reducers/settings/api.d.ts +4 -4
- package/dist/store/reducers/settings/settings.d.ts +1 -1
- package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
- package/dist/store/reducers/showCreateTable/showCreateTable.d.ts +2 -2
- package/dist/store/reducers/storage/storage.d.ts +3 -3
- package/dist/store/reducers/storageUsage/StorageUsage.d.ts +2 -2
- package/dist/store/reducers/streamingQuery/streamingQuery.d.ts +2 -2
- package/dist/store/reducers/tableData.d.ts +1 -1
- package/dist/store/reducers/tablePartitioning/tablePartitioning.d.ts +2 -2
- package/dist/store/reducers/tableSchemaData.d.ts +2 -2
- package/dist/store/reducers/tablet.d.ts +7 -7
- package/dist/store/reducers/tablets.d.ts +3 -3
- package/dist/store/reducers/tenant/tenant.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/storage/tenantOverviewStorage.d.ts +4 -2
- package/dist/store/reducers/tenantOverview/storage/tenantOverviewStorage.js +28 -5
- package/dist/store/reducers/tenantOverview/storage/tenantOverviewStorage.js.map +1 -1
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
- package/dist/store/reducers/tenants/tenants.d.ts +2 -2
- package/dist/store/reducers/topic.d.ts +45 -45
- package/dist/store/reducers/vdisk/vdisk.d.ts +3 -3
- package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
- package/dist/types/api/cluster.d.ts +10 -1
- package/dist/types/api/cluster.js +8 -0
- package/dist/types/api/cluster.js.map +1 -1
- package/dist/types/api/meta.d.ts +1 -0
- package/dist/types/api/storage.d.ts +4 -0
- package/dist/types/api/storage.js +4 -1
- package/dist/types/api/storage.js.map +1 -1
- package/dist/uiFactory/types.d.ts +8 -4
- package/dist/uiFactory/uiFactory.d.ts +6 -2
- package/dist/uiFactory/uiFactory.js +17 -3
- package/dist/uiFactory/uiFactory.js.map +1 -1
- package/dist/utils/clusterLinks/resolveClusterLinks.d.ts +6 -4
- package/dist/utils/clusterLinks/resolveClusterLinks.js +14 -6
- package/dist/utils/clusterLinks/resolveClusterLinks.js.map +1 -1
- package/dist/utils/hooks/index.d.ts +1 -0
- package/dist/utils/hooks/index.js +1 -0
- package/dist/utils/hooks/index.js.map +1 -1
- package/dist/utils/hooks/useCompactionFeature.d.ts +13 -0
- package/dist/utils/hooks/useCompactionFeature.js +20 -0
- package/dist/utils/hooks/useCompactionFeature.js.map +1 -0
- package/dist/utils/hooks/useStartCompaction.d.ts +7 -0
- package/dist/utils/hooks/useStartCompaction.js +22 -0
- package/dist/utils/hooks/useStartCompaction.js.map +1 -0
- package/package.json +2 -2
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.d.ts +0 -42
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js +0 -252
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js.map +0 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import omit from 'lodash/omit';
|
|
2
|
+
import pick from 'lodash/pick';
|
|
3
|
+
import { toFormattedSize } from '../../../../../../components/FormattedBytes/utils';
|
|
4
|
+
import { formatFollowerGroupItem, formatPartitionConfigItem, formatTableStatsItem, formatTabletMetricsItem, } from '../../../../../../components/YDBDefinitionList/formatters/table';
|
|
5
|
+
import { formatObjectToDefinitionItems } from '../../../../../../components/YDBDefinitionList/utils';
|
|
6
|
+
import { isNumeric } from '../../../../../../utils/utils';
|
|
7
|
+
import { ROW_COUNT_NOTE } from '../../../../constants';
|
|
8
|
+
const GENERAL_METRICS_KEYS = ['CPU', 'Memory', 'ReadThroughput', 'Network'];
|
|
9
|
+
/**
|
|
10
|
+
* Prepares general statistics section (PartCount, RowCount, DataSize, IndexSize)
|
|
11
|
+
*/
|
|
12
|
+
export function prepareGeneralStats(TableStats = {}) {
|
|
13
|
+
const { PartCount, RowCount, DataSize, IndexSize } = TableStats;
|
|
14
|
+
return formatObjectToDefinitionItems(formatTableStatsItem, {
|
|
15
|
+
PartCount,
|
|
16
|
+
RowCount,
|
|
17
|
+
DataSize,
|
|
18
|
+
IndexSize,
|
|
19
|
+
}).map((item) => item.name === 'RowCount'
|
|
20
|
+
? {
|
|
21
|
+
...item,
|
|
22
|
+
note: ROW_COUNT_NOTE,
|
|
23
|
+
}
|
|
24
|
+
: item);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Prepares detailed table statistics sections (bloom filter, timestamps, transactions, operations)
|
|
28
|
+
*/
|
|
29
|
+
export function prepareTableStatsInfo(TableStats = {}, PartitionConfig = {}) {
|
|
30
|
+
const { ByKeyFilterSize, LastAccessTime, LastUpdateTime, ImmediateTxCompleted, PlannedTxCompleted, TxRejectedByOverload, TxRejectedBySpace, TxCompleteLagMsec, InFlightTxCount, RowUpdates, RowDeletes, RowReads, RangeReads, RangeReadRows, } = TableStats;
|
|
31
|
+
const bloomFilterItems = [];
|
|
32
|
+
if (isNumeric(ByKeyFilterSize) &&
|
|
33
|
+
(PartitionConfig.EnableFilterByKey || Number(ByKeyFilterSize) > 0)) {
|
|
34
|
+
bloomFilterItems.push({ name: 'BloomFilterSize', content: toFormattedSize(ByKeyFilterSize) });
|
|
35
|
+
}
|
|
36
|
+
return [
|
|
37
|
+
...(bloomFilterItems.length > 0 ? [bloomFilterItems] : []),
|
|
38
|
+
formatObjectToDefinitionItems(formatTableStatsItem, {
|
|
39
|
+
LastAccessTime,
|
|
40
|
+
LastUpdateTime,
|
|
41
|
+
}),
|
|
42
|
+
formatObjectToDefinitionItems(formatTableStatsItem, {
|
|
43
|
+
ImmediateTxCompleted,
|
|
44
|
+
PlannedTxCompleted,
|
|
45
|
+
TxRejectedByOverload,
|
|
46
|
+
TxRejectedBySpace,
|
|
47
|
+
TxCompleteLagMsec,
|
|
48
|
+
InFlightTxCount,
|
|
49
|
+
}),
|
|
50
|
+
formatObjectToDefinitionItems(formatTableStatsItem, {
|
|
51
|
+
RowUpdates,
|
|
52
|
+
RowDeletes,
|
|
53
|
+
RowReads,
|
|
54
|
+
RangeReads,
|
|
55
|
+
RangeReadRows,
|
|
56
|
+
}),
|
|
57
|
+
];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Prepares general tablet metrics (CPU, Memory, ReadThroughput, Network)
|
|
61
|
+
*/
|
|
62
|
+
export function prepareGeneralMetrics(TabletMetrics = {}) {
|
|
63
|
+
return formatObjectToDefinitionItems(formatTabletMetricsItem, pick(TabletMetrics, GENERAL_METRICS_KEYS));
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Prepares detailed tablet metrics (excluding general metrics and group metrics)
|
|
67
|
+
*/
|
|
68
|
+
export function prepareTabletMetricsInfo(TabletMetrics = {}) {
|
|
69
|
+
return formatObjectToDefinitionItems(formatTabletMetricsItem, omit(TabletMetrics, [
|
|
70
|
+
...GENERAL_METRICS_KEYS,
|
|
71
|
+
'GroupReadIops',
|
|
72
|
+
'GroupReadThroughput',
|
|
73
|
+
'GroupWriteIops',
|
|
74
|
+
'GroupWriteThroughput',
|
|
75
|
+
]));
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Prepares partition configuration info (follower groups, read replicas)
|
|
79
|
+
*/
|
|
80
|
+
export function preparePartitionConfigInfo(PartitionConfig = {}) {
|
|
81
|
+
const { FollowerGroups, FollowerCount, CrossDataCenterFollowerCount } = PartitionConfig;
|
|
82
|
+
const partitionConfigInfo = [];
|
|
83
|
+
if (Array.isArray(FollowerGroups) && FollowerGroups.length > 0) {
|
|
84
|
+
partitionConfigInfo.push(...formatObjectToDefinitionItems(formatFollowerGroupItem, FollowerGroups[0]));
|
|
85
|
+
}
|
|
86
|
+
else if (FollowerCount !== undefined) {
|
|
87
|
+
partitionConfigInfo.push(formatPartitionConfigItem('FollowerCount', FollowerCount));
|
|
88
|
+
}
|
|
89
|
+
else if (CrossDataCenterFollowerCount !== undefined) {
|
|
90
|
+
partitionConfigInfo.push(formatPartitionConfigItem('CrossDataCenterFollowerCount', CrossDataCenterFollowerCount));
|
|
91
|
+
}
|
|
92
|
+
return partitionConfigInfo;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=prepareCommonTableInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareCommonTableInfo.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TPartitionConfig, TTablePartition } from '../../../../../../types/api/schema';
|
|
2
|
+
import type { ManagePartitioningFormState } from '../ManagePartitioningDialog/types';
|
|
3
|
+
import type { PartitionProgressConfig } from './renderHelpers';
|
|
4
|
+
/**
|
|
5
|
+
* Prepares partition progress configuration from partition config and actual partitions
|
|
6
|
+
*/
|
|
7
|
+
export declare function preparePartitionProgressConfig(PartitionConfig: TPartitionConfig, TablePartitions?: TTablePartition[]): PartitionProgressConfig;
|
|
8
|
+
/**
|
|
9
|
+
* Prepares initial configuration for the manage partitioning dialog
|
|
10
|
+
*/
|
|
11
|
+
export declare function prepareManagePartitioningDialogConfig(partitionConfig?: TPartitionConfig, progress?: PartitionProgressConfig): ManagePartitioningFormState | undefined;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { formatBytes, getBytesSizeUnit } from '../../../../../../utils/bytesParsers';
|
|
2
|
+
import { DEFAULT_MANAGE_PARTITIONING_VALUE } from '../ManagePartitioningDialog/constants';
|
|
3
|
+
import { DEFAULT_PARTITION_SIZE_TO_SPLIT_BYTES } from '../constants';
|
|
4
|
+
/**
|
|
5
|
+
* Prepares partition progress configuration from partition config and actual partitions
|
|
6
|
+
*/
|
|
7
|
+
export function preparePartitionProgressConfig(PartitionConfig, TablePartitions) {
|
|
8
|
+
var _a, _b;
|
|
9
|
+
const { PartitioningPolicy } = PartitionConfig;
|
|
10
|
+
// We are convinced, there is always at least one partition;
|
|
11
|
+
// fallback and clamp to 1 if value is missing.
|
|
12
|
+
const minPartitions = Math.max(1, (_a = PartitioningPolicy === null || PartitioningPolicy === void 0 ? void 0 : PartitioningPolicy.MinPartitionsCount) !== null && _a !== void 0 ? _a : 1);
|
|
13
|
+
const maxPartitions = PartitioningPolicy === null || PartitioningPolicy === void 0 ? void 0 : PartitioningPolicy.MaxPartitionsCount;
|
|
14
|
+
const partitionsCount = (_b = TablePartitions === null || TablePartitions === void 0 ? void 0 : TablePartitions.length) !== null && _b !== void 0 ? _b : 1;
|
|
15
|
+
return {
|
|
16
|
+
minPartitions,
|
|
17
|
+
maxPartitions,
|
|
18
|
+
partitionsCount,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Prepares initial configuration for the manage partitioning dialog
|
|
23
|
+
*/
|
|
24
|
+
export function prepareManagePartitioningDialogConfig(partitionConfig, progress) {
|
|
25
|
+
var _a, _b, _c;
|
|
26
|
+
if (!partitionConfig || !progress) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
const policy = partitionConfig === null || partitionConfig === void 0 ? void 0 : partitionConfig.PartitioningPolicy;
|
|
30
|
+
const splitByLoadEnabled = Boolean((_a = policy === null || policy === void 0 ? void 0 : policy.SplitByLoadSettings) === null || _a === void 0 ? void 0 : _a.Enabled);
|
|
31
|
+
const bytes = Number((_b = policy === null || policy === void 0 ? void 0 : policy.SizeToSplit) !== null && _b !== void 0 ? _b : DEFAULT_PARTITION_SIZE_TO_SPLIT_BYTES);
|
|
32
|
+
const size = formatBytes({
|
|
33
|
+
value: bytes,
|
|
34
|
+
withSizeLabel: false,
|
|
35
|
+
});
|
|
36
|
+
const unit = getBytesSizeUnit(bytes);
|
|
37
|
+
return {
|
|
38
|
+
splitSize: size,
|
|
39
|
+
splitUnit: unit,
|
|
40
|
+
loadEnabled: splitByLoadEnabled,
|
|
41
|
+
minimum: String(progress === null || progress === void 0 ? void 0 : progress.minPartitions),
|
|
42
|
+
maximum: String((_c = progress === null || progress === void 0 ? void 0 : progress.maxPartitions) !== null && _c !== void 0 ? _c : DEFAULT_MANAGE_PARTITIONING_VALUE.maximum),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=preparePartitionConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preparePartitionConfig.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAC,iCAAiC,EAAC,MAAM,uCAAuC,CAAC;AAExF,OAAO,EAAC,qCAAqC,EAAC,MAAM,cAAc,CAAC;AAInE;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC1C,eAAiC,EACjC,eAAmC;;IAEnC,MAAM,EAAC,kBAAkB,EAAC,GAAG,eAAe,CAAC;IAE7C,4DAA4D;IAC5D,+CAA+C;IAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,kBAAkB,mCAAI,CAAC,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,kBAAkB,CAAC;IAC7D,MAAM,eAAe,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,mCAAI,CAAC,CAAC;IAErD,OAAO;QACH,aAAa;QACb,aAAa;QACb,eAAe;KAClB,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qCAAqC,CACjD,eAAkC,EAClC,QAAkC;;IAElC,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,kBAAkB,CAAC;IAEnD,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,0CAAE,OAAO,CAAC,CAAC;IAEzE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,mCAAI,qCAAqC,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,WAAW,CAAC;QACrB,KAAK,EAAE,KAAK;QACZ,aAAa,EAAE,KAAK;KACvB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAErC,OAAO;QACH,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,MAAM,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,CAAC;QACxC,OAAO,EAAE,MAAM,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,mCAAI,iCAAiC,CAAC,OAAO,CAAC;KACxF,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { YDBDefinitionListItem } from '../../../../../../components/YDBDefinitionList/YDBDefinitionList';
|
|
2
|
+
import type { TPartitionConfig, TTTLSettings } from '../../../../../../types/api/schema';
|
|
3
|
+
import type { PartitionProgressConfig } from './renderHelpers';
|
|
4
|
+
/**
|
|
5
|
+
* Prepares general information sections for row tables (EPathTypeTable)
|
|
6
|
+
*/
|
|
7
|
+
export declare function prepareRowTableGeneralInfo(PartitionConfig: TPartitionConfig, Progress: PartitionProgressConfig, TTLSettings?: TTTLSettings): {
|
|
8
|
+
left: YDBDefinitionListItem[];
|
|
9
|
+
right: YDBDefinitionListItem[];
|
|
10
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Label } from '@gravity-ui/uikit';
|
|
3
|
+
import { formatBytes } from '../../../../../../utils/bytesParsers';
|
|
4
|
+
import { DEFAULT_PARTITION_SIZE_TO_SPLIT_BYTES, READ_REPLICAS_MODE } from '../constants';
|
|
5
|
+
import i18n from '../i18n';
|
|
6
|
+
import { prepareTTL } from './prepareTTL';
|
|
7
|
+
import { renderBloomFilterStatusIcon, renderCompressionGroupsContent, renderCurrentPartitionsContent, } from './renderHelpers';
|
|
8
|
+
/**
|
|
9
|
+
* Prepares general information sections for row tables (EPathTypeTable)
|
|
10
|
+
*/
|
|
11
|
+
export function prepareRowTableGeneralInfo(PartitionConfig, Progress, TTLSettings) {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const { PartitioningPolicy = {}, FollowerGroups, EnableFilterByKey } = PartitionConfig;
|
|
14
|
+
const left = [];
|
|
15
|
+
const right = [];
|
|
16
|
+
const splitByLoadEnabled = Boolean((_a = PartitioningPolicy === null || PartitioningPolicy === void 0 ? void 0 : PartitioningPolicy.SplitByLoadSettings) === null || _a === void 0 ? void 0 : _a.Enabled);
|
|
17
|
+
const partitioningByLoad = splitByLoadEnabled ? (_jsx(Label, { children: i18n('value_enabled') })) : (_jsx(Label, { theme: "unknown", children: i18n('value_disabled') }));
|
|
18
|
+
// For splitting by size: it always will be split by 2 GB if user doesn't set anything else
|
|
19
|
+
const splitSizeBytes = (_b = PartitioningPolicy.SizeToSplit) !== null && _b !== void 0 ? _b : DEFAULT_PARTITION_SIZE_TO_SPLIT_BYTES;
|
|
20
|
+
left.push({
|
|
21
|
+
name: i18n('field_current-partitions'),
|
|
22
|
+
content: renderCurrentPartitionsContent(Progress),
|
|
23
|
+
}, {
|
|
24
|
+
name: i18n('field_partitioning-by-size'),
|
|
25
|
+
content: _jsx(Label, { children: formatBytes({ value: splitSizeBytes }) }),
|
|
26
|
+
}, { name: i18n('field_partitioning-by-load'), content: partitioningByLoad });
|
|
27
|
+
if (TTLSettings) {
|
|
28
|
+
const ttlInfo = prepareTTL(TTLSettings);
|
|
29
|
+
if (ttlInfo) {
|
|
30
|
+
left.push(ttlInfo);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
let readReplicasConfig;
|
|
34
|
+
if (FollowerGroups && FollowerGroups.length) {
|
|
35
|
+
const { RequireAllDataCenters, FollowerCountPerDataCenter, FollowerCount } = FollowerGroups[0];
|
|
36
|
+
readReplicasConfig =
|
|
37
|
+
RequireAllDataCenters && FollowerCountPerDataCenter
|
|
38
|
+
? `${READ_REPLICAS_MODE.PER_AZ}: ${FollowerCount}`
|
|
39
|
+
: `${READ_REPLICAS_MODE.ANY_AZ}: ${FollowerCount}`;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
readReplicasConfig = i18n('value_no');
|
|
43
|
+
}
|
|
44
|
+
right.push({ name: i18n('field_read-replicas'), content: readReplicasConfig }, {
|
|
45
|
+
name: i18n('field_bloom-filter'),
|
|
46
|
+
content: renderBloomFilterStatusIcon(Boolean(EnableFilterByKey)),
|
|
47
|
+
}, {
|
|
48
|
+
name: i18n('field_compression-groups'),
|
|
49
|
+
content: renderCompressionGroupsContent(PartitionConfig),
|
|
50
|
+
});
|
|
51
|
+
return { left, right };
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=prepareRowTableInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareRowTableInfo.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.tsx"],"names":[],"mappings":"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"}
|
package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TColumnDataLifeCycle, TTTLSettings } from '../../../../../../types/api/schema';
|
|
2
|
+
/**
|
|
3
|
+
* Prepares TTL (Time To Live) configuration for display
|
|
4
|
+
* @param ttl - TTL settings from table or column table description
|
|
5
|
+
* @returns Definition list item with TTL info, or undefined if TTL is not configured
|
|
6
|
+
*/
|
|
7
|
+
export declare function prepareTTL(ttl: TTTLSettings | TColumnDataLifeCycle): {
|
|
8
|
+
name: string;
|
|
9
|
+
content: string;
|
|
10
|
+
} | undefined;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { formatDurationToShortTimeFormat } from '../../../../../../utils/timeParsers';
|
|
2
|
+
import i18n from '../i18n';
|
|
3
|
+
/**
|
|
4
|
+
* Prepares TTL (Time To Live) configuration for display
|
|
5
|
+
* @param ttl - TTL settings from table or column table description
|
|
6
|
+
* @returns Definition list item with TTL info, or undefined if TTL is not configured
|
|
7
|
+
*/
|
|
8
|
+
export function prepareTTL(ttl) {
|
|
9
|
+
// ExpireAfterSeconds could be 0
|
|
10
|
+
if (ttl.Enabled && ttl.Enabled.ColumnName && ttl.Enabled.ExpireAfterSeconds !== undefined) {
|
|
11
|
+
const value = i18n('value_ttl-config', {
|
|
12
|
+
columnName: ttl.Enabled.ColumnName,
|
|
13
|
+
expireTime: formatDurationToShortTimeFormat(ttl.Enabled.ExpireAfterSeconds * 1000, 1),
|
|
14
|
+
});
|
|
15
|
+
return { name: i18n('field_ttl-for-rows'), content: value };
|
|
16
|
+
}
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=prepareTTL.js.map
|
package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTTL.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,+BAA+B,EAAC,MAAM,qCAAqC,CAAC;AACpF,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,GAAwC;IAC/D,gCAAgC;IAChC,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACxF,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE;YACnC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU;YAClC,UAAU,EAAE,+BAA+B,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI,EAAE,CAAC,CAAC;SACxF,CAAC,CAAC;QAEH,OAAO,EAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;IAC9D,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC"}
|
package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TPartitionConfig } from '../../../../../../types/api/schema';
|
|
2
|
+
export interface PartitionProgressConfig {
|
|
3
|
+
minPartitions: number;
|
|
4
|
+
maxPartitions?: number;
|
|
5
|
+
partitionsCount: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Renders the current partitions count with visual indicators for out-of-range values
|
|
9
|
+
*/
|
|
10
|
+
export declare const renderCurrentPartitionsContent: (progress: PartitionProgressConfig) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
/**
|
|
12
|
+
* Renders bloom filter status icon (enabled/disabled)
|
|
13
|
+
*/
|
|
14
|
+
export declare const renderBloomFilterStatusIcon: (value: boolean) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
/**
|
|
16
|
+
* Renders compression groups/column families list
|
|
17
|
+
*/
|
|
18
|
+
export declare const renderCompressionGroupsContent: (partitionConfig: TPartitionConfig) => import("react/jsx-runtime").JSX.Element;
|
package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CircleCheckFill, CircleQuestion, CircleXmarkFill } from '@gravity-ui/icons';
|
|
3
|
+
import { Flex, Icon, Label, Popover } from '@gravity-ui/uikit';
|
|
4
|
+
import { formatNumber } from '../../../../../../utils/dataFormatters/dataFormatters';
|
|
5
|
+
import { b } from '../TableInfo';
|
|
6
|
+
import i18n from '../i18n';
|
|
7
|
+
/**
|
|
8
|
+
* Renders the current partitions count with visual indicators for out-of-range values
|
|
9
|
+
*/
|
|
10
|
+
export const renderCurrentPartitionsContent = (progress) => {
|
|
11
|
+
const { minPartitions, maxPartitions, partitionsCount } = progress;
|
|
12
|
+
const isBelowMin = partitionsCount < minPartitions;
|
|
13
|
+
const isAboveMax = maxPartitions !== undefined && partitionsCount > maxPartitions;
|
|
14
|
+
const isOutOfRange = isBelowMin || isAboveMax;
|
|
15
|
+
const content = isBelowMin
|
|
16
|
+
? i18n('hint_current-partitions-below-limits')
|
|
17
|
+
: i18n('hint_current-partitions-exceeds-limits');
|
|
18
|
+
return (_jsx(Label, { theme: isOutOfRange ? 'danger' : undefined, children: _jsxs(Flex, { gap: "2", alignItems: "center", children: [formatNumber(partitionsCount), isOutOfRange && (_jsx(Popover, { placement: "auto-start", content: content, className: b('partitions-popover'), children: _jsx(Icon, { data: CircleQuestion }) }))] }) }));
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Renders bloom filter status icon (enabled/disabled)
|
|
22
|
+
*/
|
|
23
|
+
export const renderBloomFilterStatusIcon = (value) => {
|
|
24
|
+
return (_jsx("span", { "aria-label": value ? i18n('value_enabled') : i18n('value_disabled'), className: b('status-icon', { state: value ? 'enabled' : 'disabled' }), children: _jsx(Icon, { data: value ? CircleCheckFill : CircleXmarkFill, size: 16 }) }));
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Renders compression groups/column families list
|
|
28
|
+
*/
|
|
29
|
+
export const renderCompressionGroupsContent = (partitionConfig) => {
|
|
30
|
+
const families = partitionConfig.ColumnFamilies;
|
|
31
|
+
if (!Array.isArray(families) || families.length === 0) {
|
|
32
|
+
return _jsx("span", { children: i18n('value_some-groups') });
|
|
33
|
+
}
|
|
34
|
+
return (_jsx(Flex, { direction: "column", gap: 1, children: families.map((family, index) => {
|
|
35
|
+
var _a;
|
|
36
|
+
const name = (family === null || family === void 0 ? void 0 : family.Name) ? String(family.Name) : i18n('value_default');
|
|
37
|
+
const id = (_a = family.Id) !== null && _a !== void 0 ? _a : `${name}-${index}`;
|
|
38
|
+
return _jsx("span", { children: name }, id);
|
|
39
|
+
}) }));
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=renderHelpers.js.map
|
package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderHelpers.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { Flex } from '@gravity-ui/uikit';
|
|
3
|
+
import { Alert, Flex } from '@gravity-ui/uikit';
|
|
4
4
|
import { ResponseError } from '../../../../../components/Errors/ResponseError';
|
|
5
5
|
import { Skeleton } from '../../../../../components/Skeleton/Skeleton';
|
|
6
|
+
import { EStorageStatsProblem } from '../../../../../types/api/storage';
|
|
6
7
|
import { cn } from '../../../../../utils/cn';
|
|
8
|
+
import { useIsViewerUser } from '../../../../../utils/hooks/useIsUserAllowedToMakeChanges';
|
|
7
9
|
import { TenantStorageGroupedMediaSectionsView, TenantStorageMediaSectionView, } from './TenantStorageSummarySections';
|
|
8
10
|
import { TenantStorageTopUsageTable } from './TenantStorageTopUsageTable';
|
|
11
|
+
import i18n from './i18n';
|
|
9
12
|
import { useTenantStorageNewData } from './useTenantStorageNewData';
|
|
10
13
|
import { buildTenantStorageMediaSections } from './utils';
|
|
11
14
|
import './TenantStorageNew.scss';
|
|
12
15
|
const b = cn('ydb-tenant-storage-new');
|
|
13
|
-
function TenantStorageSummarySkeleton() {
|
|
14
|
-
|
|
16
|
+
function TenantStorageSummarySkeleton({ showPhysicalDiskUsage }) {
|
|
17
|
+
const skeletonCards = React.useMemo(() => {
|
|
18
|
+
return Array.from({ length: showPhysicalDiskUsage ? 2 : 1 }, (_, index) => index);
|
|
19
|
+
}, [showPhysicalDiskUsage]);
|
|
20
|
+
return (_jsx(Flex, { direction: "column", className: b('sections-group'), children: _jsx(Flex, { direction: "column", gap: 3, className: b('sections-inner'), children: skeletonCards.map((cardIndex) => (_jsxs(Flex, { direction: "column", gap: 3, className: b('summary-skeleton-card'), children: [_jsx(Skeleton, { className: b('summary-skeleton-title'), delay: 0 }), _jsx(Skeleton, { className: b('summary-skeleton-description'), delay: 0 }), _jsx(Flex, { direction: "column", gap: 3, className: b('summary-skeleton-rows'), children: _jsxs(Flex, { direction: "column", gap: 3, className: b('summary-skeleton-row'), children: [_jsxs(Flex, { justifyContent: "space-between", alignItems: "flex-start", gap: 4, className: b('summary-skeleton-header'), children: [_jsx("div", {}), _jsx(Flex, { wrap: true, justifyContent: "flex-end", gap: 3, className: b('summary-skeleton-metrics'), children: [0, 1, 2].map((metricIndex) => (_jsx(Skeleton, { className: b('summary-skeleton-metric'), delay: 0 }, metricIndex))) })] }), _jsx(Skeleton, { className: b('summary-skeleton-progress'), delay: 0 }), _jsx(Flex, { justifyContent: "flex-end", className: b('summary-skeleton-footer'), children: _jsx(Skeleton, { className: b('summary-skeleton-percent'), delay: 0 }) })] }) })] }, cardIndex))) }) }));
|
|
15
21
|
}
|
|
16
22
|
export function TenantStorageNew({ database, databaseFullPath, metrics, blobStorageStats, tabletStorageStats, }) {
|
|
17
23
|
var _a;
|
|
@@ -21,6 +27,7 @@ export function TenantStorageNew({ database, databaseFullPath, metrics, blobStor
|
|
|
21
27
|
metrics,
|
|
22
28
|
});
|
|
23
29
|
const loading = isFetching && currentData === undefined;
|
|
30
|
+
const isViewerUser = useIsViewerUser();
|
|
24
31
|
const mediaSections = React.useMemo(() => {
|
|
25
32
|
return buildTenantStorageMediaSections({
|
|
26
33
|
blobStorageStats,
|
|
@@ -28,14 +35,18 @@ export function TenantStorageNew({ database, databaseFullPath, metrics, blobStor
|
|
|
28
35
|
tabletStorageStats,
|
|
29
36
|
});
|
|
30
37
|
}, [blobStorageStats, metrics, tabletStorageStats]);
|
|
38
|
+
const showDataIncompleteAlert = React.useMemo(() => {
|
|
39
|
+
var _a;
|
|
40
|
+
return ((_a = currentData === null || currentData === void 0 ? void 0 : currentData.problems) !== null && _a !== void 0 ? _a : []).includes(EStorageStatsProblem.DataIncomplete);
|
|
41
|
+
}, [currentData === null || currentData === void 0 ? void 0 : currentData.problems]);
|
|
31
42
|
if (error && !currentData) {
|
|
32
43
|
return _jsx(ResponseError, { error: error });
|
|
33
44
|
}
|
|
34
45
|
const topRowsError = (_a = data.topRowsError) !== null && _a !== void 0 ? _a : error;
|
|
35
46
|
const grouped = mediaSections.length > 1;
|
|
36
47
|
if (loading) {
|
|
37
|
-
return (_jsxs(Flex, { direction: "column", gap: 4, className: b(), children: [_jsx(TenantStorageSummarySkeleton, {}), _jsx(TenantStorageTopUsageTable, { loading: true, error: undefined, rows: [], withData: false })] }));
|
|
48
|
+
return (_jsxs(Flex, { direction: "column", gap: 4, className: b(), children: [_jsx(TenantStorageSummarySkeleton, { showPhysicalDiskUsage: isViewerUser }), _jsx(TenantStorageTopUsageTable, { loading: true, error: undefined, rows: [], withData: false })] }));
|
|
38
49
|
}
|
|
39
|
-
return (_jsxs(Flex, { direction: "column", gap: 4, className: b(), children: [_jsx("div", { className: b('sections-group'), children: _jsx("div", { className: b('sections-inner'), children: grouped ? (_jsx(TenantStorageGroupedMediaSectionsView, { sections: mediaSections, data: data })) : (mediaSections.map((section, index) => (_jsx(TenantStorageMediaSectionView, { section: section, showMediaTypeLabel: false, data: data }, `${section.mediaType}-${index}`)))) }) }), _jsx(TenantStorageTopUsageTable, { loading: false, error: topRowsError, rows: data.topRows, withData: Boolean(currentData) })] }));
|
|
50
|
+
return (_jsxs(Flex, { direction: "column", gap: 4, className: b(), children: [showDataIncompleteAlert ? (_jsx(Alert, { theme: "warning", view: "filled", message: i18n('alert_data-incomplete') })) : null, _jsx("div", { className: b('sections-group'), children: _jsx("div", { className: b('sections-inner'), children: grouped ? (_jsx(TenantStorageGroupedMediaSectionsView, { sections: mediaSections, data: data, showPhysicalDiskUsage: isViewerUser })) : (mediaSections.map((section, index) => (_jsx(TenantStorageMediaSectionView, { section: section, showMediaTypeLabel: false, data: data, showPhysicalDiskUsage: isViewerUser }, `${section.mediaType}-${index}`)))) }) }), _jsx(TenantStorageTopUsageTable, { loading: false, error: topRowsError, rows: data.topRows, withData: Boolean(currentData) })] }));
|
|
40
51
|
}
|
|
41
52
|
//# sourceMappingURL=TenantStorageNew.js.map
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TenantStorageNew.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"TenantStorageNew.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.tsx"],"names":[],"mappings":"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"}
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { TenantStorageSegment, TenantStorageSegmentKey, TenantStorageSystemDetail } from './utils';
|
|
2
2
|
import './TenantStorageSegments.scss';
|
|
3
|
+
export type TenantStorageSegmentOpenSource = 'progress' | 'legend' | 'system-details';
|
|
4
|
+
export type TenantStorageSegmentOpenChange = (segmentKey: TenantStorageSegmentKey, open: boolean, source: TenantStorageSegmentOpenSource) => void;
|
|
3
5
|
export declare function SegmentTooltipContent({ formatValue, segment, total, totalLabel, }: {
|
|
4
6
|
formatValue: (value: number) => string;
|
|
5
7
|
segment: TenantStorageSegment;
|
|
@@ -10,7 +12,7 @@ export declare function SegmentedProgressBar({ activeSegmentKey, formatValue, fo
|
|
|
10
12
|
activeSegmentKey?: TenantStorageSegmentKey;
|
|
11
13
|
formatValue: (value: number) => string;
|
|
12
14
|
formatTooltipValue: (value: number) => string;
|
|
13
|
-
onSegmentOpenChange:
|
|
15
|
+
onSegmentOpenChange: TenantStorageSegmentOpenChange;
|
|
14
16
|
segments: TenantStorageSegment[];
|
|
15
17
|
tooltipTotal: number;
|
|
16
18
|
tooltipTotalLabel: string;
|
|
@@ -22,7 +24,7 @@ export declare function LegendItems({ activeSegmentKey, segments, formatValue, f
|
|
|
22
24
|
formatValue: (value: number) => string;
|
|
23
25
|
formatTooltipValue: (value: number) => string;
|
|
24
26
|
formatSystemDetailValue?: (value: number) => string;
|
|
25
|
-
onSegmentOpenChange:
|
|
27
|
+
onSegmentOpenChange: TenantStorageSegmentOpenChange;
|
|
26
28
|
systemDetails?: TenantStorageSystemDetail[];
|
|
27
29
|
tooltipTotal: number;
|
|
28
30
|
tooltipTotalLabel: string;
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.js
CHANGED
|
@@ -9,6 +9,7 @@ import './TenantStorageSegments.scss';
|
|
|
9
9
|
const b = cn('ydb-tenant-storage-segments');
|
|
10
10
|
const SEGMENT_TOOLTIP_OPEN_DELAY = 100;
|
|
11
11
|
const SEGMENT_TOOLTIP_CLOSE_DELAY = 100;
|
|
12
|
+
const SEGMENT_TOOLTIP_WITH_HELP_MARK_CLOSE_DELAY = 250;
|
|
12
13
|
const PROGRESS_TOOLTIP_PLACEMENT = ['top', 'bottom'];
|
|
13
14
|
const LEGEND_TOOLTIP_PLACEMENT = ['bottom', 'top'];
|
|
14
15
|
const SEGMENT_COLORS = {
|
|
@@ -66,8 +67,8 @@ export function SegmentTooltipContent({ formatValue, segment, total, totalLabel,
|
|
|
66
67
|
const percent = formatSegmentPercent(getSegmentProgressValue(segment), total);
|
|
67
68
|
return (_jsxs("ul", { className: b('tooltip'), children: [_jsx("li", { children: formatValue(getTenantStorageSegmentDisplayValue(segment)) }), percent ? (_jsx("li", { children: i18n('context_segment-share', { value: percent, totalLabel }) })) : null] }));
|
|
68
69
|
}
|
|
69
|
-
function SegmentTooltip({ children, formatValue, onOpenChange, placement, segment, total, totalLabel, }) {
|
|
70
|
-
return (_jsx(Tooltip, { placement: placement, openDelay: SEGMENT_TOOLTIP_OPEN_DELAY, closeDelay:
|
|
70
|
+
function SegmentTooltip({ children, closeDelay = SEGMENT_TOOLTIP_CLOSE_DELAY, formatValue, onOpenChange, placement, segment, source, total, totalLabel, }) {
|
|
71
|
+
return (_jsx(Tooltip, { placement: placement, openDelay: SEGMENT_TOOLTIP_OPEN_DELAY, closeDelay: closeDelay, content: _jsx(SegmentTooltipContent, { formatValue: formatValue, segment: segment, total: total, totalLabel: totalLabel }), onOpenChange: (open) => onOpenChange(segment.key, open, source), children: children }));
|
|
71
72
|
}
|
|
72
73
|
export function SegmentedProgressBar({ activeSegmentKey, formatValue, formatTooltipValue, onSegmentOpenChange, segments, tooltipTotal, tooltipTotalLabel, total, }) {
|
|
73
74
|
const activeSegments = getActiveDisplaySegments(segments);
|
|
@@ -79,7 +80,7 @@ export function SegmentedProgressBar({ activeSegmentKey, formatValue, formatTool
|
|
|
79
80
|
const cappedTotal = Math.max(effectiveTotal, segmentSum);
|
|
80
81
|
return (_jsxs("div", { className: b('progress'), children: [activeSegments.map((segment) => {
|
|
81
82
|
const inactive = activeSegmentKey !== undefined && activeSegmentKey !== segment.key;
|
|
82
|
-
return (_jsx(SegmentTooltip, { formatValue: formatTooltipValue, onOpenChange: onSegmentOpenChange, placement: PROGRESS_TOOLTIP_PLACEMENT, segment: segment, total: tooltipTotal, totalLabel: tooltipTotalLabel, children: _jsx("div", { "aria-label": `${SEGMENT_LABELS[segment.key]}: ${formatValue(getTenantStorageSegmentDisplayValue(segment))}`, className: b('item', { inactive }), onMouseDown: (event) => event.preventDefault(), style: {
|
|
83
|
+
return (_jsx(SegmentTooltip, { formatValue: formatTooltipValue, onOpenChange: onSegmentOpenChange, placement: PROGRESS_TOOLTIP_PLACEMENT, segment: segment, source: "progress", total: tooltipTotal, totalLabel: tooltipTotalLabel, children: _jsx("div", { "aria-label": `${SEGMENT_LABELS[segment.key]}: ${formatValue(getTenantStorageSegmentDisplayValue(segment))}`, className: b('item', { inactive }), onMouseDown: (event) => event.preventDefault(), style: {
|
|
83
84
|
width: `${(getSegmentProgressValue(segment) / cappedTotal) * 100}%`,
|
|
84
85
|
background: SEGMENT_COLORS[segment.key],
|
|
85
86
|
}, tabIndex: 0 }) }, segment.key));
|
|
@@ -96,10 +97,11 @@ const LegendItemContent = React.forwardRef(({ className, formatValue, onMouseDow
|
|
|
96
97
|
LegendItemContent.displayName = 'LegendItemContent';
|
|
97
98
|
function SystemDetailsHelpMark({ describedBy, details, formatSystemDetailValue, formatValue, onOpenChange, segmentKey, }) {
|
|
98
99
|
const handleOpenChange = React.useCallback((open) => {
|
|
99
|
-
onOpenChange(segmentKey, open);
|
|
100
|
+
onOpenChange(segmentKey, open, 'system-details');
|
|
100
101
|
}, [onOpenChange, segmentKey]);
|
|
101
102
|
return (_jsx(HelpMark, { "aria-describedby": describedBy, iconSize: "s", popoverProps: {
|
|
102
103
|
placement: LEGEND_TOOLTIP_PLACEMENT,
|
|
104
|
+
openDelay: SEGMENT_TOOLTIP_OPEN_DELAY,
|
|
103
105
|
onOpenChange: handleOpenChange,
|
|
104
106
|
}, children: _jsx(Flex, { direction: "column", gap: "1", className: b('system-tooltip'), children: details.map((detail) => {
|
|
105
107
|
var _a;
|
|
@@ -109,7 +111,8 @@ function SystemDetailsHelpMark({ describedBy, details, formatSystemDetailValue,
|
|
|
109
111
|
function LegendItem({ activeSegmentKey, formatSystemDetailValue, formatTooltipValue, formatValue, onSegmentOpenChange, segment, showSystemDetails, systemDetails, tooltipTotal, tooltipTotalLabel, }) {
|
|
110
112
|
const contentId = React.useId();
|
|
111
113
|
const inactive = activeSegmentKey !== undefined && activeSegmentKey !== segment.key;
|
|
112
|
-
|
|
114
|
+
const closeDelay = showSystemDetails ? SEGMENT_TOOLTIP_WITH_HELP_MARK_CLOSE_DELAY : undefined;
|
|
115
|
+
return (_jsxs("div", { "aria-labelledby": contentId, className: b('legend-item', { inactive }), role: "group", children: [_jsx(SegmentTooltip, { closeDelay: closeDelay, formatValue: formatTooltipValue, onOpenChange: onSegmentOpenChange, placement: LEGEND_TOOLTIP_PLACEMENT, segment: segment, source: "legend", total: tooltipTotal, totalLabel: tooltipTotalLabel, children: _jsx(LegendItemContent, { id: contentId, formatValue: formatValue, segment: segment }) }), showSystemDetails ? (_jsx(SystemDetailsHelpMark, { describedBy: contentId, details: systemDetails, formatSystemDetailValue: formatSystemDetailValue, formatValue: formatValue, onOpenChange: onSegmentOpenChange, segmentKey: segment.key })) : null] }));
|
|
113
116
|
}
|
|
114
117
|
export function LegendItems({ activeSegmentKey, segments, formatValue, formatTooltipValue, formatSystemDetailValue, onSegmentOpenChange, systemDetails, tooltipTotal, tooltipTotalLabel, }) {
|
|
115
118
|
const activeSegments = getActiveDisplaySegments(segments);
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TenantStorageSegments.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAG1E,OAAO,EAAC,EAAE,EAAC,MAAM,yBAAyB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,oDAAoD,CAAC;AAEjF,OAAO,IAAI,MAAM,QAAQ,CAAC;AAO1B,OAAO,EACH,2BAA2B,EAC3B,iCAAiC,EACjC,mCAAmC,GACtC,MAAM,SAAS,CAAC;AAEjB,OAAO,8BAA8B,CAAC;AAEtC,MAAM,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAC;AAE5C,MAAM,0BAA0B,GAAG,GAAG,CAAC;AACvC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,0BAA0B,GAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACrE,MAAM,wBAAwB,GAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TenantStorageSegments.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export interface SummaryMetricProps {
|
|
|
5
5
|
note?: string;
|
|
6
6
|
notePlacement?: 'label' | 'value';
|
|
7
7
|
noteTitle?: string;
|
|
8
|
+
noData?: boolean;
|
|
8
9
|
value: string;
|
|
9
10
|
emphasize?: boolean;
|
|
10
11
|
hideDivider?: boolean;
|
|
@@ -25,6 +26,7 @@ interface SummaryCardProps {
|
|
|
25
26
|
description: string;
|
|
26
27
|
descriptionHelpText?: string;
|
|
27
28
|
position?: 'first' | 'last';
|
|
29
|
+
qa?: string;
|
|
28
30
|
}
|
|
29
31
|
type SummaryCardPropsWithRow = SummaryCardProps & SummaryCardRowBaseProps;
|
|
30
32
|
export interface GroupedSummaryCardRow extends SummaryCardRowBaseProps {
|
|
@@ -34,6 +36,6 @@ export interface GroupedSummaryCardRow extends SummaryCardRowBaseProps {
|
|
|
34
36
|
interface GroupedSummaryCardProps extends SummaryCardProps {
|
|
35
37
|
rows: GroupedSummaryCardRow[];
|
|
36
38
|
}
|
|
37
|
-
export declare function SummaryCard({ title, description, descriptionHelpText, position, ...rowProps }: SummaryCardPropsWithRow): import("react/jsx-runtime").JSX.Element;
|
|
38
|
-
export declare function GroupedSummaryCard({ title, description, descriptionHelpText, position, rows, }: GroupedSummaryCardProps): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export declare function SummaryCard({ title, description, descriptionHelpText, position, qa, ...rowProps }: SummaryCardPropsWithRow): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
export declare function GroupedSummaryCard({ title, description, descriptionHelpText, position, qa, rows, }: GroupedSummaryCardProps): import("react/jsx-runtime").JSX.Element;
|
|
39
41
|
export {};
|