ydb-embedded-ui 11.14.1 → 12.0.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 (161) hide show
  1. package/dist/components/ConnectToDB/ConnectToDBDialog.js +1 -1
  2. package/dist/components/ConnectToDB/ConnectToDBDialog.js.map +1 -1
  3. package/dist/components/EnableFullscreenButton/EnableFullscreenButton.d.ts +2 -2
  4. package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js +1 -2
  5. package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js.map +1 -1
  6. package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
  7. package/dist/components/Fullscreen/Fullscreen.d.ts +2 -2
  8. package/dist/components/Fullscreen/Fullscreen.js +10 -10
  9. package/dist/components/Fullscreen/Fullscreen.js.map +1 -1
  10. package/dist/components/Fullscreen/Fullscreen.scss +4 -2
  11. package/dist/components/Fullscreen/FullscreenContext.d.ts +6 -0
  12. package/dist/components/Fullscreen/FullscreenContext.js +14 -0
  13. package/dist/components/Fullscreen/FullscreenContext.js.map +1 -0
  14. package/dist/components/ShardsTable/columns.js +3 -3
  15. package/dist/components/ShardsTable/columns.js.map +1 -1
  16. package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
  17. package/dist/components/nodesColumns/i18n/index.d.ts +1 -1
  18. package/dist/containers/App/App.js +3 -1
  19. package/dist/containers/App/App.js.map +1 -1
  20. package/dist/containers/Clusters/constants.d.ts +1 -1
  21. package/dist/containers/Header/Header.js.map +1 -1
  22. package/dist/containers/Header/breadcrumbs.js +2 -5
  23. package/dist/containers/Header/breadcrumbs.js.map +1 -1
  24. package/dist/containers/Node/Node.js +3 -1
  25. package/dist/containers/Node/Node.js.map +1 -1
  26. package/dist/containers/Nodes/NodesControls/NodesControls.js +1 -1
  27. package/dist/containers/Nodes/NodesControls/NodesControls.js.map +1 -1
  28. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js +1 -1
  29. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js.map +1 -1
  30. package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js +1 -1
  31. package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js.map +1 -1
  32. package/dist/containers/Nodes/PaginatedNodes/PaginatedNodes.js +1 -1
  33. package/dist/containers/Nodes/PaginatedNodes/PaginatedNodes.js.map +1 -1
  34. package/dist/containers/Nodes/PeerRoleFilter/utils.d.ts +1 -1
  35. package/dist/containers/Nodes/PeerRoleFilter/utils.js +3 -2
  36. package/dist/containers/Nodes/PeerRoleFilter/utils.js.map +1 -1
  37. package/dist/containers/Nodes/i18n/index.d.ts +1 -1
  38. package/dist/containers/Nodes/useNodesPageQueryParams.d.ts +1 -1
  39. package/dist/containers/Nodes/useNodesPageQueryParams.js +8 -4
  40. package/dist/containers/Nodes/useNodesPageQueryParams.js.map +1 -1
  41. package/dist/containers/StorageGroupPage/StorageGroupPage.js +1 -1
  42. package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
  43. package/dist/containers/Tablet/Tablet.js +1 -0
  44. package/dist/containers/Tablet/Tablet.js.map +1 -1
  45. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +25 -24
  46. package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
  47. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +5 -2
  48. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +36 -16
  49. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
  50. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/CommonMetricsTabs.d.ts +18 -0
  51. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/CommonMetricsTabs.js +27 -0
  52. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/CommonMetricsTabs.js.map +1 -0
  53. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/DedicatedMetricsTabs.d.ts +16 -0
  54. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/DedicatedMetricsTabs.js +16 -0
  55. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/DedicatedMetricsTabs.js.map +1 -0
  56. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.d.ts +5 -1
  57. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js +23 -24
  58. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js.map +1 -1
  59. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.scss +10 -0
  60. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/ServerlessPlaceholderTabs.d.ts +7 -0
  61. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/ServerlessPlaceholderTabs.js +12 -0
  62. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/ServerlessPlaceholderTabs.js.map +1 -0
  63. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.d.ts +13 -4
  64. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.js +18 -7
  65. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.js.map +1 -1
  66. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.d.ts +4 -1
  67. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js +4 -3
  68. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js.map +1 -1
  69. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.d.ts +2 -1
  70. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js +8 -2
  71. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js.map +1 -1
  72. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +16 -6
  73. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  74. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss +4 -0
  75. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.d.ts +3 -1
  76. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +7 -1
  77. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
  78. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +1 -1
  79. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
  80. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +6 -2
  81. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
  82. package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.d.ts +2 -1
  83. package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js +9 -2
  84. package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js.map +1 -1
  85. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js +2 -2
  86. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js.map +1 -1
  87. package/dist/containers/Tenant/Diagnostics/i18n/en.json +3 -0
  88. package/dist/containers/Tenant/Diagnostics/i18n/index.d.ts +2 -0
  89. package/dist/containers/Tenant/Diagnostics/i18n/index.js +5 -0
  90. package/dist/containers/Tenant/Diagnostics/i18n/index.js.map +1 -0
  91. package/dist/containers/Tenant/Healthcheck/Healthcheck.js +2 -2
  92. package/dist/containers/Tenant/Healthcheck/Healthcheck.js.map +1 -1
  93. package/dist/containers/Tenant/Healthcheck/Healthcheck.scss +1 -1
  94. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.js +1 -1
  95. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.js +3 -18
  96. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.js.map +1 -1
  97. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/IssueLocation.d.ts +10 -0
  98. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/IssueLocation.js +24 -0
  99. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/IssueLocation.js.map +1 -0
  100. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js +1 -1
  101. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.js +1 -1
  102. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +8 -8
  103. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
  104. package/dist/containers/Tenant/ObjectSummary/ObjectTree.d.ts +2 -1
  105. package/dist/containers/Tenant/ObjectSummary/ObjectTree.js +5 -5
  106. package/dist/containers/Tenant/ObjectSummary/ObjectTree.js.map +1 -1
  107. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.d.ts +1 -0
  108. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +3 -1
  109. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
  110. package/dist/containers/Tenant/ObjectSummary/transformPath.d.ts +8 -1
  111. package/dist/containers/Tenant/ObjectSummary/transformPath.js +10 -2
  112. package/dist/containers/Tenant/ObjectSummary/transformPath.js.map +1 -1
  113. package/dist/containers/Tenant/Query/Preview/components/PreviewView.js +2 -2
  114. package/dist/containers/Tenant/Query/Preview/components/PreviewView.js.map +1 -1
  115. package/dist/containers/Tenant/Query/Preview/components/TablePreview.js +6 -2
  116. package/dist/containers/Tenant/Query/Preview/components/TablePreview.js.map +1 -1
  117. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +2 -2
  118. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
  119. package/dist/containers/Tenant/Tenant.js +4 -4
  120. package/dist/containers/Tenant/Tenant.js.map +1 -1
  121. package/dist/containers/Tenant/TenantContext.d.ts +3 -1
  122. package/dist/containers/Tenant/TenantContext.js +3 -2
  123. package/dist/containers/Tenant/TenantContext.js.map +1 -1
  124. package/dist/containers/Tenant/TenantDrawerHealthcheck.js +1 -1
  125. package/dist/containers/Tenant/TenantDrawerHealthcheck.js.map +1 -1
  126. package/dist/containers/Tenant/utils/schemaActions.d.ts +1 -0
  127. package/dist/containers/Tenant/utils/schemaActions.js +10 -4
  128. package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
  129. package/dist/containers/VDiskPage/VDiskPage.js +1 -0
  130. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  131. package/dist/services/api/base.d.ts +3 -1
  132. package/dist/services/api/base.js +12 -2
  133. package/dist/services/api/base.js.map +1 -1
  134. package/dist/services/api/index.d.ts +2 -1
  135. package/dist/services/api/index.js +2 -2
  136. package/dist/services/api/index.js.map +1 -1
  137. package/dist/services/api/scheme.js +1 -1
  138. package/dist/services/api/scheme.js.map +1 -1
  139. package/dist/services/api/viewer.d.ts +2 -2
  140. package/dist/services/api/viewer.js +5 -6
  141. package/dist/services/api/viewer.js.map +1 -1
  142. package/dist/store/configureStore.js +1 -0
  143. package/dist/store/configureStore.js.map +1 -1
  144. package/dist/store/reducers/capabilities/hooks.js +2 -1
  145. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  146. package/dist/store/reducers/header/types.d.ts +1 -1
  147. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +1 -0
  148. package/dist/store/reducers/shardsWorkload/shardsWorkload.js +23 -11
  149. package/dist/store/reducers/shardsWorkload/shardsWorkload.js.map +1 -1
  150. package/dist/store/reducers/tenant/tenant.d.ts +1 -0
  151. package/dist/store/reducers/tenant/tenant.js +2 -1
  152. package/dist/store/reducers/tenant/tenant.js.map +1 -1
  153. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +1 -0
  154. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js +3 -3
  155. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js.map +1 -1
  156. package/dist/types/api/storage.d.ts +0 -2
  157. package/dist/uiFactory/types.d.ts +1 -0
  158. package/dist/utils/constants.d.ts +1 -0
  159. package/dist/utils/constants.js +1 -0
  160. package/dist/utils/constants.js.map +1 -1
  161. package/package.json +1 -1
@@ -1,21 +1,22 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
2
3
  import { Flex } from '@gravity-ui/uikit';
3
- import { Link, useLocation } from 'react-router-dom';
4
+ import { useLocation } from 'react-router-dom';
4
5
  import { parseQuery } from '../../../../../routes';
5
6
  import { TENANT_METRICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
6
7
  import { cn } from '../../../../../utils/cn';
7
8
  import { SHOW_NETWORK_UTILIZATION } from '../../../../../utils/constants';
8
- import { useSetting, useTypedSelector } from '../../../../../utils/hooks';
9
+ import { useSetting } from '../../../../../utils/hooks';
9
10
  import { calculateMetricAggregates } from '../../../../../utils/metrics';
10
- import { formatCoresLegend, formatSpeedLegend, formatStorageLegend, } from '../../../../../utils/metrics/formatMetricLegend';
11
+ // no direct legend formatters needed here – handled in subcomponents
11
12
  import { TenantTabsGroups, getTenantPath } from '../../../TenantPages';
12
- import { TabCard } from '../TabCard/TabCard';
13
- import i18n from '../i18n';
13
+ import { CommonMetricsTabs } from './CommonMetricsTabs';
14
+ import { DedicatedMetricsTabs } from './DedicatedMetricsTabs';
15
+ import { ServerlessPlaceholderTabs } from './ServerlessPlaceholderTabs';
14
16
  import './MetricsTabs.scss';
15
17
  const b = cn('tenant-metrics-tabs');
16
- export function MetricsTabs({ poolsCpuStats, memoryStats, blobStorageStats, tabletStorageStats, networkStats, storageGroupsCount, }) {
18
+ export function MetricsTabs({ poolsCpuStats, memoryStats, blobStorageStats, tabletStorageStats, networkStats, storageGroupsCount, databaseType, activeTab, }) {
17
19
  const location = useLocation();
18
- const { metricsTab } = useTypedSelector((state) => state.tenant);
19
20
  const queryParams = parseQuery(location);
20
21
  const tabLinks = {
21
22
  [TENANT_METRICS_TABS_IDS.cpu]: getTenantPath({
@@ -36,26 +37,24 @@ export function MetricsTabs({ poolsCpuStats, memoryStats, blobStorageStats, tabl
36
37
  }),
37
38
  };
38
39
  // Use only pools that directly indicate resources available to perform user queries
39
- const cpuPools = (poolsCpuStats || []).filter((pool) => !(pool.name === 'Batch' || pool.name === 'IO'));
40
- const cpuMetrics = calculateMetricAggregates(cpuPools);
40
+ const cpuPools = useMemo(() => (poolsCpuStats || []).filter((pool) => !(pool.name === 'Batch' || pool.name === 'IO')), [poolsCpuStats]);
41
+ const cpuMetrics = useMemo(() => calculateMetricAggregates(cpuPools), [cpuPools]);
41
42
  // Calculate storage metrics using utility
42
- const storageStats = tabletStorageStats || blobStorageStats || [];
43
- const storageMetrics = calculateMetricAggregates(storageStats);
43
+ const storageStats = useMemo(() => tabletStorageStats || blobStorageStats || [], [tabletStorageStats, blobStorageStats]);
44
+ const storageMetrics = useMemo(() => calculateMetricAggregates(storageStats), [storageStats]);
44
45
  // Calculate memory metrics using utility
45
- const memoryMetrics = calculateMetricAggregates(memoryStats);
46
+ const memoryMetrics = useMemo(() => calculateMetricAggregates(memoryStats), [memoryStats]);
46
47
  // Calculate network metrics using utility
47
48
  const [showNetworkUtilization] = useSetting(SHOW_NETWORK_UTILIZATION);
48
- const networkMetrics = networkStats ? calculateMetricAggregates(networkStats) : null;
49
- return (_jsxs(Flex, { className: b(), alignItems: "center", children: [_jsx("div", { className: b('link-container', {
50
- active: metricsTab === TENANT_METRICS_TABS_IDS.cpu,
51
- }), children: _jsx(Link, { to: tabLinks.cpu, className: b('link'), children: _jsx(TabCard, { text: i18n('context_cpu-load'), value: cpuMetrics.totalUsed, limit: cpuMetrics.totalLimit, legendFormatter: formatCoresLegend, active: metricsTab === TENANT_METRICS_TABS_IDS.cpu, helpText: i18n('context_cpu-description') }) }) }), _jsx("div", { className: b('link-container', {
52
- active: metricsTab === TENANT_METRICS_TABS_IDS.storage,
53
- }), children: _jsx(Link, { to: tabLinks.storage, className: b('link'), children: _jsx(TabCard, { text: storageGroupsCount === undefined
54
- ? i18n('cards.storage-label')
55
- : i18n('context_storage-groups', { count: storageGroupsCount }), value: storageMetrics.totalUsed, limit: storageMetrics.totalLimit, legendFormatter: formatStorageLegend, active: metricsTab === TENANT_METRICS_TABS_IDS.storage, helpText: i18n('context_storage-description') }) }) }), _jsx("div", { className: b('link-container', {
56
- active: metricsTab === TENANT_METRICS_TABS_IDS.memory,
57
- }), children: _jsx(Link, { to: tabLinks.memory, className: b('link'), children: _jsx(TabCard, { text: i18n('context_memory-used'), value: memoryMetrics.totalUsed, limit: memoryMetrics.totalLimit, legendFormatter: formatStorageLegend, active: metricsTab === TENANT_METRICS_TABS_IDS.memory, helpText: i18n('context_memory-description') }) }) }), showNetworkUtilization && networkStats && networkMetrics && (_jsx("div", { className: b('link-container', {
58
- active: metricsTab === TENANT_METRICS_TABS_IDS.network,
59
- }), children: _jsx(Link, { to: tabLinks.network, className: b('link'), children: _jsx(TabCard, { text: i18n('context_network-usage'), value: networkMetrics.totalUsed, limit: networkMetrics.totalLimit, legendFormatter: formatSpeedLegend, active: metricsTab === TENANT_METRICS_TABS_IDS.network, helpText: i18n('context_network-description') }) }) }))] }));
49
+ const networkMetrics = useMemo(() => (networkStats ? calculateMetricAggregates(networkStats) : null), [networkStats]);
50
+ // card variant is handled within subcomponents
51
+ const isServerless = databaseType === 'Serverless';
52
+ return (_jsxs(Flex, { className: b({ serverless: Boolean(isServerless) }), alignItems: "center", children: [_jsx(CommonMetricsTabs, { activeTab: activeTab, tabLinks: tabLinks, cpu: { totalUsed: cpuMetrics.totalUsed, totalLimit: cpuMetrics.totalLimit }, storage: {
53
+ totalUsed: storageMetrics.totalUsed,
54
+ totalLimit: storageMetrics.totalLimit,
55
+ }, storageGroupsCount: storageGroupsCount, databaseType: databaseType }), isServerless ? (_jsx(ServerlessPlaceholderTabs, {})) : (_jsx(DedicatedMetricsTabs, { activeTab: activeTab, tabLinks: tabLinks, memory: {
56
+ totalUsed: memoryMetrics.totalUsed,
57
+ totalLimit: memoryMetrics.totalLimit,
58
+ }, network: networkMetrics, showNetwork: Boolean(showNetworkUtilization && networkStats && networkMetrics) }))] }));
60
59
  }
61
60
  //# sourceMappingURL=MetricsTabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetricsTabs.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetricsTabs.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.tsx"],"names":[],"mappings":"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"}
@@ -224,3 +224,13 @@
224
224
  padding-right: 0;
225
225
  }
226
226
  }
227
+
228
+ .tenant-metrics-tabs_serverless {
229
+ .tenant-metrics-tabs__link-container_placeholder {
230
+ pointer-events: none;
231
+
232
+ .tenant-tab-card__card-container {
233
+ opacity: 0;
234
+ }
235
+ }
236
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import './MetricsTabs.scss';
3
+ interface ServerlessPlaceholderTabsProps {
4
+ count?: number;
5
+ }
6
+ export declare const ServerlessPlaceholderTabs: React.FC<ServerlessPlaceholderTabsProps>;
7
+ export {};
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { cn } from '../../../../../utils/cn';
4
+ import { NON_BREAKING_SPACE } from '../../../../../utils/constants';
5
+ import { TabCard } from '../TabCard/TabCard';
6
+ import './MetricsTabs.scss';
7
+ const b = cn('tenant-metrics-tabs');
8
+ export const ServerlessPlaceholderTabs = React.memo(({ count = 2 }) => {
9
+ const items = React.useMemo(() => Array.from({ length: count }, (_, i) => i), [count]);
10
+ return items.map((idx) => (_jsx("div", { className: b('link-container', { placeholder: true }), children: _jsx("div", { className: b('link'), children: _jsx(TabCard, { text: NON_BREAKING_SPACE, active: false, databaseType: "Serverless", subtitle: NON_BREAKING_SPACE }) }) }, idx)));
11
+ });
12
+ //# sourceMappingURL=ServerlessPlaceholderTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerlessPlaceholderTabs.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/ServerlessPlaceholderTabs.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,EAAE,EAAC,MAAM,yBAAyB,CAAC;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAE3C,OAAO,oBAAoB,CAAC;AAE5B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAMpC,MAAM,CAAC,MAAM,yBAAyB,GAA6C,KAAK,CAAC,IAAI,CACzF,CAAC,EAAC,KAAK,GAAG,CAAC,EAAC,EAAE,EAAE;IACZ,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAErF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACtB,cAAe,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,YAC9D,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,KAAC,OAAO,IACJ,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,KAAK,EACb,YAAY,EAAC,YAAY,EACzB,QAAQ,EAAE,kBAAkB,GAC9B,GACA,IARA,GAAG,CASP,CACT,CAAC,CAAC;AACP,CAAC,CACJ,CAAC"}
@@ -1,14 +1,23 @@
1
+ import type { ETenantType } from '../../../../../types/api/tenant';
1
2
  import './TabCard.scss';
2
- interface TabCardProps {
3
+ interface TabCardBaseProps {
3
4
  text: string;
4
- value: number;
5
- limit: number;
6
5
  active?: boolean;
7
6
  helpText?: string;
7
+ subtitle?: string;
8
+ }
9
+ interface TabCardDefaultProps extends TabCardBaseProps {
10
+ databaseType?: Exclude<ETenantType, 'Serverless'>;
11
+ value: number;
12
+ limit: number;
8
13
  legendFormatter: (params: {
9
14
  value: number;
10
15
  capacity: number;
11
16
  }) => string;
12
17
  }
13
- export declare function TabCard({ text, value, limit, active, helpText, legendFormatter }: TabCardProps): import("react/jsx-runtime").JSX.Element;
18
+ interface TabCardServerlessProps extends TabCardBaseProps {
19
+ databaseType: 'Serverless';
20
+ }
21
+ type TabCardProps = TabCardDefaultProps | TabCardServerlessProps;
22
+ export declare function TabCard(props: TabCardProps): import("react/jsx-runtime").JSX.Element;
14
23
  export {};
@@ -1,16 +1,27 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useMemo } from 'react';
2
3
  import { Card, Flex } from '@gravity-ui/uikit';
3
4
  import { DoughnutMetrics } from '../../../../../components/DoughnutMetrics/DoughnutMetrics';
4
5
  import { getDiagramValues } from '../../../../../containers/Cluster/ClusterOverview/utils';
5
6
  import { cn } from '../../../../../utils/cn';
6
7
  import './TabCard.scss';
7
8
  const b = cn('tenant-tab-card');
8
- export function TabCard({ text, value, limit, active, helpText, legendFormatter }) {
9
- const { status, percents, legend, fill } = getDiagramValues({
10
- value,
11
- capacity: limit,
12
- legendFormatter,
13
- });
14
- return (_jsx("div", { className: b({ active }), children: _jsx(Card, { className: b('card-container', { active }), type: "container", view: active ? 'outlined' : 'raised', children: _jsxs(Flex, { gap: 3, alignItems: "center", children: [_jsx(DoughnutMetrics, { size: "small", status: status, fillWidth: fill, className: b('doughnut'), children: _jsx(DoughnutMetrics.Value, { variant: "subheader-1", children: percents }) }), _jsxs("div", { className: b('legend-wrapper'), children: [_jsx(DoughnutMetrics.Legend, { variant: "subheader-2", children: legend }), _jsx(DoughnutMetrics.Legend, { variant: "body-1", color: "secondary", note: helpText, noteIconSize: "s", children: text })] })] }) }) }));
9
+ function isServerlessProps(props) {
10
+ return props.databaseType === 'Serverless';
11
+ }
12
+ function TabCardContainer({ active, children }) {
13
+ return (_jsx("div", { className: b({ active }), children: _jsx(Card, { className: b('card-container', { active }), type: "container", view: active ? 'outlined' : 'raised', children: children }) }));
14
+ }
15
+ const TabCardDefaultContent = React.memo(function TabCardDefaultContent({ text, value, limit, helpText, legendFormatter, }) {
16
+ const diagram = useMemo(() => getDiagramValues({ value, capacity: limit, legendFormatter }), [value, limit, legendFormatter]);
17
+ const { status, percents, legend, fill } = diagram;
18
+ return (_jsxs(Flex, { gap: 3, alignItems: "center", children: [_jsx(DoughnutMetrics, { size: "small", status: status, fillWidth: fill, className: b('doughnut'), children: _jsx(DoughnutMetrics.Value, { variant: "subheader-1", children: percents }) }), _jsxs("div", { className: b('legend-wrapper'), children: [_jsx(DoughnutMetrics.Legend, { variant: "subheader-2", children: legend }), _jsx(DoughnutMetrics.Legend, { variant: "body-1", color: "secondary", note: helpText, noteIconSize: "s", children: text })] })] }));
19
+ });
20
+ const TabCardServerlessContent = React.memo(function TabCardServerlessContent({ text, helpText, subtitle, }) {
21
+ return (_jsxs("div", { className: b('legend-wrapper'), children: [_jsx(DoughnutMetrics.Legend, { variant: "subheader-2", note: helpText, noteIconSize: "s", children: text }), subtitle ? (_jsx(DoughnutMetrics.Legend, { variant: "body-1", color: "secondary", children: subtitle })) : null] }));
22
+ });
23
+ export function TabCard(props) {
24
+ const { active } = props;
25
+ return (_jsx(TabCardContainer, { active: active, children: isServerlessProps(props) ? (_jsx(TabCardServerlessContent, { text: props.text, helpText: props.helpText, subtitle: props.subtitle })) : (_jsx(TabCardDefaultContent, { text: props.text, value: props.value, limit: props.limit, helpText: props.helpText, legendFormatter: props.legendFormatter })) }));
15
26
  }
16
27
  //# sourceMappingURL=TabCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabCard.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAC,eAAe,EAAC,MAAM,2DAA2D,CAAC;AAC1F,OAAO,EAAC,gBAAgB,EAAC,MAAM,yDAAyD,CAAC;AACzF,OAAO,EAAC,EAAE,EAAC,MAAM,yBAAyB,CAAC;AAE3C,OAAO,gBAAgB,CAAC;AAExB,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;AAWhC,MAAM,UAAU,OAAO,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAe;IACzF,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,gBAAgB,CAAC;QACtD,KAAK;QACL,QAAQ,EAAE,KAAK;QACf,eAAe;KAClB,CAAC,CAAC;IAEH,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,MAAM,EAAC,CAAC,YACvB,KAAC,IAAI,IACD,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAC,CAAC,EACxC,IAAI,EAAC,WAAW,EAChB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,YAEpC,MAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,aAC7B,KAAC,eAAe,IACZ,IAAI,EAAC,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,EACf,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,YAExB,KAAC,eAAe,CAAC,KAAK,IAAC,OAAO,EAAC,aAAa,YACvC,QAAQ,GACW,GACV,EAClB,eAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,aAC/B,KAAC,eAAe,CAAC,MAAM,IAAC,OAAO,EAAC,aAAa,YACxC,MAAM,GACc,EACzB,KAAC,eAAe,CAAC,MAAM,IACnB,OAAO,EAAC,QAAQ,EAChB,KAAK,EAAC,WAAW,EACjB,IAAI,EAAE,QAAQ,EACd,YAAY,EAAC,GAAG,YAEf,IAAI,GACgB,IACvB,IACH,GACJ,GACL,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"TabCard.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import type { AdditionalNodesProps } from '../../../../../types/additionalProps';
2
+ import type { ETenantType } from '../../../../../types/api/tenant';
2
3
  interface TenantCpuProps {
3
4
  tenantName: string;
5
+ databaseFullPath?: string;
4
6
  additionalNodesProps?: AdditionalNodesProps;
7
+ databaseType?: ETenantType;
5
8
  }
6
- export declare function TenantCpu({ tenantName, additionalNodesProps }: TenantCpuProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function TenantCpu({ tenantName, additionalNodesProps, databaseType, databaseFullPath, }: TenantCpuProps): import("react/jsx-runtime").JSX.Element;
7
10
  export {};
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Flex } from '@gravity-ui/uikit';
3
3
  import { setTopQueriesFilters } from '../../../../../store/reducers/executeTopQueries/executeTopQueries';
4
4
  import { TENANT_DIAGNOSTICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
@@ -12,12 +12,13 @@ import { TopNodesByLoad } from './TopNodesByLoad';
12
12
  import { TopQueries } from './TopQueries';
13
13
  import { TopShards } from './TopShards';
14
14
  import { cpuDashboardConfig } from './cpuDashboardConfig';
15
- export function TenantCpu({ tenantName, additionalNodesProps }) {
15
+ export function TenantCpu({ tenantName, additionalNodesProps, databaseType, databaseFullPath, }) {
16
16
  const dispatch = useTypedDispatch();
17
17
  const getDiagnosticsPageLink = useDiagnosticsPageLinkGetter();
18
18
  const allNodesLink = getDiagnosticsPageLink(TENANT_DIAGNOSTICS_TABS_IDS.nodes);
19
19
  const topShardsLink = getDiagnosticsPageLink(TENANT_DIAGNOSTICS_TABS_IDS.topShards);
20
20
  const topQueriesLink = getDiagnosticsPageLink(TENANT_DIAGNOSTICS_TABS_IDS.topQueries);
21
- return (_jsxs(Flex, { direction: "column", gap: 4, children: [_jsx(TenantDashboard, { database: tenantName, charts: cpuDashboardConfig }), _jsx(StatsWrapper, { allEntitiesLink: allNodesLink, title: i18n('title_top-nodes-load'), children: _jsx(TopNodesByLoad, { tenantName: tenantName, additionalNodesProps: additionalNodesProps }) }), _jsx(StatsWrapper, { title: i18n('title_top-nodes-pool'), allEntitiesLink: allNodesLink, children: _jsx(TopNodesByCpu, { tenantName: tenantName, additionalNodesProps: additionalNodesProps }) }), _jsx(StatsWrapper, { title: i18n('title_top-shards'), allEntitiesLink: topShardsLink, children: _jsx(TopShards, { tenantName: tenantName, path: tenantName }) }), _jsx(StatsWrapper, { title: i18n('title_top-queries'), allEntitiesLink: topQueriesLink, onAllEntitiesClick: () => dispatch(setTopQueriesFilters({ from: undefined, to: undefined })), children: _jsx(TopQueries, { tenantName: tenantName }) })] }));
21
+ const isServerless = databaseType === 'Serverless';
22
+ return (_jsxs(Flex, { direction: "column", gap: 4, children: [!isServerless && (_jsxs(_Fragment, { children: [_jsx(TenantDashboard, { database: tenantName, charts: cpuDashboardConfig }), _jsx(StatsWrapper, { allEntitiesLink: allNodesLink, title: i18n('title_top-nodes-load'), children: _jsx(TopNodesByLoad, { tenantName: tenantName, additionalNodesProps: additionalNodesProps }) }), _jsx(StatsWrapper, { title: i18n('title_top-nodes-pool'), allEntitiesLink: allNodesLink, children: _jsx(TopNodesByCpu, { tenantName: tenantName, additionalNodesProps: additionalNodesProps }) })] })), _jsx(StatsWrapper, { title: i18n('title_top-shards'), allEntitiesLink: topShardsLink, children: _jsx(TopShards, { tenantName: tenantName, path: tenantName, databaseFullPath: databaseFullPath }) }), _jsx(StatsWrapper, { title: i18n('title_top-queries'), allEntitiesLink: topQueriesLink, onAllEntitiesClick: () => dispatch(setTopQueriesFilters({ from: undefined, to: undefined })), children: _jsx(TopQueries, { tenantName: tenantName }) })] }));
22
23
  }
23
24
  //# sourceMappingURL=TenantCpu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TenantCpu.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,oBAAoB,EAAC,MAAM,mEAAmE,CAAC;AACvG,OAAO,EAAC,2BAA2B,EAAC,MAAM,gDAAgD,CAAC;AAE3F,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAC,4BAA4B,EAAC,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,oCAAoC,CAAC;AACnE,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAOxD,MAAM,UAAU,SAAS,CAAC,EAAC,UAAU,EAAE,oBAAoB,EAAiB;IACxE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,sBAAsB,GAAG,4BAA4B,EAAE,CAAC;IAE9D,MAAM,YAAY,GAAG,sBAAsB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,sBAAsB,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACpF,MAAM,cAAc,GAAG,sBAAsB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAEtF,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAC3B,KAAC,eAAe,IAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,GAAI,EACrE,KAAC,YAAY,IAAC,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,YAC5E,KAAC,cAAc,IACX,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,GAC5C,GACS,EACf,KAAC,YAAY,IAAC,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,EAAE,eAAe,EAAE,YAAY,YAC5E,KAAC,aAAa,IACV,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,GAC5C,GACS,EACf,KAAC,YAAY,IAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,eAAe,EAAE,aAAa,YACzE,KAAC,SAAS,IAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAI,GAC5C,EACf,KAAC,YAAY,IACT,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAChC,eAAe,EAAE,cAAc,EAC/B,kBAAkB,EAAE,GAAG,EAAE,CACrB,QAAQ,CAAC,oBAAoB,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAC,CAAC,CAAC,YAGpE,KAAC,UAAU,IAAC,UAAU,EAAE,UAAU,GAAI,GAC3B,IACZ,CACV,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"TenantCpu.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,oBAAoB,EAAC,MAAM,mEAAmE,CAAC;AACvG,OAAO,EAAC,2BAA2B,EAAC,MAAM,gDAAgD,CAAC;AAG3F,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAC,4BAA4B,EAAC,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,oCAAoC,CAAC;AACnE,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AASxD,MAAM,UAAU,SAAS,CAAC,EACtB,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,GACH;IACb,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,sBAAsB,GAAG,4BAA4B,EAAE,CAAC;IAE9D,MAAM,YAAY,GAAG,sBAAsB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,sBAAsB,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACpF,MAAM,cAAc,GAAG,sBAAsB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAEtF,MAAM,YAAY,GAAG,YAAY,KAAK,YAAY,CAAC;IAEnD,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAC1B,CAAC,YAAY,IAAI,CACd,8BACI,KAAC,eAAe,IAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,GAAI,EACrE,KAAC,YAAY,IACT,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,YAEnC,KAAC,cAAc,IACX,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,GAC5C,GACS,EACf,KAAC,YAAY,IACT,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,EACnC,eAAe,EAAE,YAAY,YAE7B,KAAC,aAAa,IACV,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,GAC5C,GACS,IAChB,CACN,EACD,KAAC,YAAY,IAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,eAAe,EAAE,aAAa,YACzE,KAAC,SAAS,IACN,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,UAAU,EAChB,gBAAgB,EAAE,gBAAgB,GACpC,GACS,EACf,KAAC,YAAY,IACT,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAChC,eAAe,EAAE,cAAc,EAC/B,kBAAkB,EAAE,GAAG,EAAE,CACrB,QAAQ,CAAC,oBAAoB,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAC,CAAC,CAAC,YAGpE,KAAC,UAAU,IAAC,UAAU,EAAE,UAAU,GAAI,GAC3B,IACZ,CACV,CAAC;AACN,CAAC"}
@@ -1,6 +1,7 @@
1
1
  interface TopShardsProps {
2
2
  tenantName: string;
3
3
  path: string;
4
+ databaseFullPath?: string;
4
5
  }
5
- export declare const TopShards: ({ tenantName, path }: TopShardsProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const TopShards: ({ tenantName, path, databaseFullPath }: TopShardsProps) => import("react/jsx-runtime").JSX.Element;
6
7
  export {};
@@ -6,11 +6,17 @@ import { useAutoRefreshInterval } from '../../../../../utils/hooks';
6
6
  import { parseQueryErrorToString } from '../../../../../utils/query';
7
7
  import { TenantOverviewTableLayout } from '../TenantOverviewTableLayout';
8
8
  const columnsIds = ['TabletId', 'Path', 'CPUCores'];
9
- export const TopShards = ({ tenantName, path }) => {
9
+ export const TopShards = ({ tenantName, path, databaseFullPath = tenantName }) => {
10
10
  var _a, _b;
11
11
  const ShardsTable = useComponent('ShardsTable');
12
12
  const [autoRefreshInterval] = useAutoRefreshInterval();
13
- const { currentData, isFetching, error } = topShardsApi.useGetTopShardsQuery({ database: tenantName, path }, { pollingInterval: autoRefreshInterval });
13
+ let normalizedPath = path;
14
+ if (tenantName !== databaseFullPath) {
15
+ //tenantName may be database full path or database id. If it is database id, we must remove it from object's path and add database full path instead
16
+ const shrinkedPath = path.startsWith(tenantName) ? path.slice(tenantName.length) : path;
17
+ normalizedPath = databaseFullPath + shrinkedPath;
18
+ }
19
+ const { currentData, isFetching, error } = topShardsApi.useGetTopShardsQuery({ database: tenantName, path: normalizedPath, databaseFullPath }, { pollingInterval: autoRefreshInterval });
14
20
  const loading = isFetching && currentData === undefined;
15
21
  const data = ((_b = (_a = currentData === null || currentData === void 0 ? void 0 : currentData.resultSets) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.result) || [];
16
22
  return (_jsx(TenantOverviewTableLayout, { loading: loading, error: parseQueryErrorToString(error), withData: Boolean(currentData), children: _jsx(ShardsTable, { data: data, schemaPath: tenantName, database: tenantName, columnsIds: columnsIds, settings: TENANT_OVERVIEW_TABLES_SETTINGS }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"TopShards.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iEAAiE,CAAC;AAE7F,OAAO,EAAC,YAAY,EAAC,MAAM,gFAAgF,CAAC;AAC5G,OAAO,EAAC,+BAA+B,EAAC,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAC,yBAAyB,EAAC,MAAM,8BAA8B,CAAC;AACvE,MAAM,UAAU,GAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAOzE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAC,UAAU,EAAE,IAAI,EAAiB,EAAE,EAAE;;IAC5D,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAEhD,MAAM,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,EAAE,CAAC;IAEvD,MAAM,EAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAC,GAAG,YAAY,CAAC,oBAAoB,CACtE,EAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,EAC5B,EAAC,eAAe,EAAE,mBAAmB,EAAC,CACzC,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,IAAI,WAAW,KAAK,SAAS,CAAC;IACxD,MAAM,IAAI,GAAG,CAAA,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,0CAAG,CAAC,CAAC,0CAAE,MAAM,KAAI,EAAE,CAAC;IAExD,OAAO,CACH,KAAC,yBAAyB,IACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,uBAAuB,CAAC,KAAK,CAAC,EACrC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,YAE9B,KAAC,WAAW,IACR,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,+BAA+B,GAC3C,GACsB,CAC/B,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"TopShards.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iEAAiE,CAAC;AAE7F,OAAO,EAAC,YAAY,EAAC,MAAM,gFAAgF,CAAC;AAC5G,OAAO,EAAC,+BAA+B,EAAC,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAC,yBAAyB,EAAC,MAAM,8BAA8B,CAAC;AACvE,MAAM,UAAU,GAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAQzE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAC,UAAU,EAAE,IAAI,EAAE,gBAAgB,GAAG,UAAU,EAAiB,EAAE,EAAE;;IAC3F,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAEhD,MAAM,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,EAAE,CAAC;IAEvD,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;QAClC,oJAAoJ;QACpJ,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,cAAc,GAAG,gBAAgB,GAAG,YAAY,CAAC;IACrD,CAAC;IAED,MAAM,EAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAC,GAAG,YAAY,CAAC,oBAAoB,CACtE,EAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,gBAAgB,EAAC,EAC9D,EAAC,eAAe,EAAE,mBAAmB,EAAC,CACzC,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,IAAI,WAAW,KAAK,SAAS,CAAC;IACxD,MAAM,IAAI,GAAG,CAAA,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,0CAAG,CAAC,CAAC,0CAAE,MAAM,KAAI,EAAE,CAAC;IAExD,OAAO,CACH,KAAC,yBAAyB,IACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,uBAAuB,CAAC,KAAK,CAAC,EACrC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,YAE9B,KAAC,WAAW,IACR,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,+BAA+B,GAC3C,GACsB,CAC/B,CAAC;AACN,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, Flex, Icon } from '@gravity-ui/uikit';
2
+ import { Button, Flex, HelpMark, Icon, Label } from '@gravity-ui/uikit';
3
3
  import { EntityStatus } from '../../../../components/EntityStatus/EntityStatus';
4
4
  import { LoaderWrapper } from '../../../../components/LoaderWrapper/LoaderWrapper';
5
5
  import { QueriesActivityBar } from '../../../../components/QueriesActivityBar/QueriesActivityBar';
@@ -19,6 +19,7 @@ import { TenantCpu } from './TenantCpu/TenantCpu';
19
19
  import { TenantMemory } from './TenantMemory/TenantMemory';
20
20
  import { TenantNetwork } from './TenantNetwork/TenantNetwork';
21
21
  import { TenantStorage } from './TenantStorage/TenantStorage';
22
+ import i18n from './i18n';
22
23
  import { b } from './utils';
23
24
  import './TenantOverview.scss';
24
25
  export function TenantOverview({ tenantName, additionalTenantProps, additionalNodesProps, }) {
@@ -30,6 +31,12 @@ export function TenantOverview({ tenantName, additionalTenantProps, additionalNo
30
31
  const { currentData: tenant, isFetching } = tenantApi.useGetTenantInfoQuery({ path: tenantName, clusterName, isMetaDatabasesAvailable }, { pollingInterval: autoRefreshInterval });
31
32
  const tenantLoading = isFetching && tenant === undefined;
32
33
  const { Name, Type, Overall } = tenant || {};
34
+ const isServerless = Type === 'Serverless';
35
+ const activeMetricsTab = isServerless &&
36
+ metricsTab !== TENANT_METRICS_TABS_IDS.cpu &&
37
+ metricsTab !== TENANT_METRICS_TABS_IDS.storage
38
+ ? TENANT_METRICS_TABS_IDS.cpu
39
+ : metricsTab;
33
40
  const tenantType = mapDatabaseTypeToDBName(Type);
34
41
  // FIXME: remove after correct data is added to tenantInfo
35
42
  const { currentData: tenantSchemaData } = overviewApi.useGetOverviewQuery({
@@ -62,15 +69,15 @@ export function TenantOverview({ tenantName, additionalTenantProps, additionalNo
62
69
  tabletStorageLimit,
63
70
  };
64
71
  const renderName = () => {
65
- return (_jsx(Flex, { alignItems: "center", style: { overflow: 'hidden' }, children: _jsx(EntityStatus, { status: Overall, name: Name || TENANT_DEFAULT_TITLE, withLeftTrim: true, hasClipboardButton: Boolean(tenant), clipboardButtonAlwaysVisible: true }) }));
72
+ return (_jsxs(Flex, { alignItems: "center", style: { overflow: 'hidden' }, children: [_jsx(EntityStatus, { status: Overall, name: Name || TENANT_DEFAULT_TITLE, withLeftTrim: true, hasClipboardButton: Boolean(tenant), clipboardButtonAlwaysVisible: true }), isServerless ? (_jsx("div", { className: b('serverless-tag'), children: _jsx(Label, { theme: "clear", size: "s", className: b('serverless-tag-label'), children: _jsxs(Flex, { alignItems: "center", gap: "2", children: [i18n('value_serverless'), _jsx(HelpMark, { iconSize: "s", className: b('serverless-tag-tooltip'), children: i18n('context_serverless-tooltip') })] }) }) })) : null] }));
66
73
  };
67
74
  const renderTabContent = () => {
68
- switch (metricsTab) {
75
+ switch (activeMetricsTab) {
69
76
  case TENANT_METRICS_TABS_IDS.cpu: {
70
- return (_jsx(TenantCpu, { tenantName: tenantName, additionalNodesProps: additionalNodesProps }));
77
+ return (_jsx(TenantCpu, { tenantName: tenantName, additionalNodesProps: additionalNodesProps, databaseType: Type, databaseFullPath: Name }));
71
78
  }
72
79
  case TENANT_METRICS_TABS_IDS.storage: {
73
- return _jsx(TenantStorage, { tenantName: tenantName, metrics: storageMetrics });
80
+ return (_jsx(TenantStorage, { tenantName: tenantName, metrics: storageMetrics, databaseType: Type }));
74
81
  }
75
82
  case TENANT_METRICS_TABS_IDS.memory: {
76
83
  return (_jsx(TenantMemory, { tenantName: tenantName, memoryUsed: tenantData.MemoryUsed, memoryLimit: tenantData.MemoryLimit, memoryStats: tenantData.MemoryStats }));
@@ -78,11 +85,14 @@ export function TenantOverview({ tenantName, additionalTenantProps, additionalNo
78
85
  case TENANT_METRICS_TABS_IDS.network: {
79
86
  return (_jsx(TenantNetwork, { tenantName: tenantName, additionalNodesProps: additionalNodesProps }));
80
87
  }
88
+ default: {
89
+ return null;
90
+ }
81
91
  }
82
92
  };
83
93
  const links = getDatabaseLinks(additionalTenantProps, Name, Type);
84
94
  return (_jsx(LoaderWrapper, { loading: tenantLoading, children: _jsxs("div", { className: b(), children: [_jsxs("div", { className: b('info'), children: [_jsx("div", { className: b('top-label'), children: tenantType }), _jsxs(Flex, { alignItems: "center", gap: "1", className: b('top'), children: [renderName(), _jsx(Flex, { gap: "2", children: links.map(({ title, url, icon }) => (_jsx(Button, { href: url, target: "_blank", size: "xs", title: title, children: _jsx(Icon, { data: icon }) }, title))) })] }), _jsxs(Flex, { direction: "column", gap: 4, children: [_jsx(HealthcheckPreview, { tenantName: tenantName }), _jsx(QueriesActivityBar, { tenantName: tenantName }), _jsx(MetricsTabs, { poolsCpuStats: poolsStats, memoryStats: memoryStats, blobStorageStats: blobStorageStats, tabletStorageStats: tabletStorageStats, networkStats: networkStats, storageGroupsCount: tenantData.StorageGroups
85
95
  ? Number(tenantData.StorageGroups)
86
- : undefined })] })] }), _jsx("div", { className: b('tab-content'), children: renderTabContent() })] }) }));
96
+ : undefined, databaseType: Type, activeTab: activeMetricsTab })] })] }), _jsx("div", { className: b('tab-content'), children: renderTabContent() })] }) }));
87
97
  }
88
98
  //# sourceMappingURL=TenantOverview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TenantOverview.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TenantOverview.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx"],"names":[],"mappings":"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"}
@@ -24,6 +24,10 @@
24
24
  line-height: 24px;
25
25
  }
26
26
 
27
+ &__serverless-tag-label {
28
+ margin-left: var(--g-spacing-1);
29
+ }
30
+
27
31
  &__info {
28
32
  position: sticky;
29
33
  left: 0;
@@ -1,3 +1,4 @@
1
+ import type { ETenantType } from '../../../../../types/api/tenant';
1
2
  export interface TenantStorageMetrics {
2
3
  blobStorageUsed?: number;
3
4
  blobStorageLimit?: number;
@@ -7,6 +8,7 @@ export interface TenantStorageMetrics {
7
8
  interface TenantStorageProps {
8
9
  tenantName: string;
9
10
  metrics: TenantStorageMetrics;
11
+ databaseType?: ETenantType;
10
12
  }
11
- export declare function TenantStorage({ tenantName, metrics }: TenantStorageProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function TenantStorage({ tenantName, metrics, databaseType }: TenantStorageProps): import("react/jsx-runtime").JSX.Element;
12
14
  export {};
@@ -13,7 +13,7 @@ import i18n from '../i18n';
13
13
  import { TopGroups } from './TopGroups';
14
14
  import { TopTables } from './TopTables';
15
15
  import { storageDashboardConfig } from './storageDashboardConfig';
16
- export function TenantStorage({ tenantName, metrics }) {
16
+ export function TenantStorage({ tenantName, metrics, databaseType }) {
17
17
  const { blobStorageUsed, tabletStorageUsed, blobStorageLimit, tabletStorageLimit } = metrics;
18
18
  const query = useSearchQuery();
19
19
  const info = [
@@ -26,6 +26,12 @@ export function TenantStorage({ tenantName, metrics }) {
26
26
  value: (_jsx(ProgressWrapper, { value: blobStorageUsed, capacity: blobStorageLimit, formatValues: formatStorageValues, withCapacityUsage: true })),
27
27
  },
28
28
  ];
29
+ if (databaseType === 'Serverless') {
30
+ return (_jsx(Flex, { direction: "column", gap: 4, children: _jsx(StatsWrapper, { title: i18n('title_top-tables-by-size'), allEntitiesLink: getTenantPath({
31
+ ...query,
32
+ [TenantTabsGroups.diagnosticsTab]: TENANT_DIAGNOSTICS_TABS_IDS.storage,
33
+ }), children: _jsx(TopTables, { database: tenantName }) }) }));
34
+ }
29
35
  return (_jsxs(Flex, { direction: "column", gap: 4, children: [_jsx(TenantDashboard, { database: tenantName, charts: storageDashboardConfig }), _jsx(InfoViewer, { variant: "small", title: i18n('title_storage-details'), info: info }), _jsx(StatsWrapper, { title: i18n('title_top-tables-by-size'), children: _jsx(TopTables, { database: tenantName }) }), _jsx(StatsWrapper, { title: i18n('title_top-groups-by-usage'), allEntitiesLink: getTenantPath({
30
36
  ...query,
31
37
  [TenantTabsGroups.diagnosticsTab]: TENANT_DIAGNOSTICS_TABS_IDS.storage,
@@ -1 +1 @@
1
- {"version":3,"file":"TenantStorage.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,UAAU,EAAC,MAAM,iDAAiD,CAAC;AAC3E,OAAO,EAAC,gBAAgB,EAAC,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAC,eAAe,EAAC,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAC,2BAA2B,EAAC,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAC,mBAAmB,EAAC,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,oCAAoC,CAAC;AACnE,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAchE,MAAM,UAAU,aAAa,CAAC,EAAC,UAAU,EAAE,OAAO,EAAqB;IACnE,MAAM,EAAC,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAC,GAAG,OAAO,CAAC;IAC3F,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAE/B,MAAM,IAAI,GAAG;QACT;YACI,KAAK,EAAE,CACH,KAAC,gBAAgB,IACb,IAAI,EAAE,IAAI,CAAC,8BAA8B,CAAC,EAC1C,cAAc,EAAE,IAAI,CAAC,oCAAoC,CAAC,GAC5D,CACL;YACD,KAAK,EAAE,CACH,KAAC,eAAe,IACZ,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,EAAE,mBAAmB,EACjC,iBAAiB,SACnB,CACL;SACJ;QACD;YACI,KAAK,EAAE,CACH,KAAC,gBAAgB,IACb,IAAI,EAAE,IAAI,CAAC,0BAA0B,CAAC,EACtC,cAAc,EAAE,IAAI,CAAC,gCAAgC,CAAC,GACxD,CACL;YACD,KAAK,EAAE,CACH,KAAC,eAAe,IACZ,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,mBAAmB,EACjC,iBAAiB,SACnB,CACL;SACJ;KACJ,CAAC;IAEF,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAC3B,KAAC,eAAe,IAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,sBAAsB,GAAI,EACzE,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,IAAI,GAAI,EAChF,KAAC,YAAY,IAAC,KAAK,EAAE,IAAI,CAAC,0BAA0B,CAAC,YACjD,KAAC,SAAS,IAAC,QAAQ,EAAE,UAAU,GAAI,GACxB,EACf,KAAC,YAAY,IACT,KAAK,EAAE,IAAI,CAAC,2BAA2B,CAAC,EACxC,eAAe,EAAE,aAAa,CAAC;oBAC3B,GAAG,KAAK;oBACR,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,2BAA2B,CAAC,OAAO;iBACzE,CAAC,YAEF,KAAC,SAAS,IAAC,MAAM,EAAE,UAAU,GAAI,GACtB,IACZ,CACV,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"TenantStorage.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.tsx"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export function TopGroups({ tenant }) {
20
20
  const [autoRefreshInterval] = useAutoRefreshInterval();
21
21
  const [columns, fieldsRequired] = getColumns();
22
22
  const { currentData, isFetching, error } = storageApi.useGetStorageGroupsInfoQuery({
23
- tenant,
23
+ database: tenant,
24
24
  sort: '-Usage',
25
25
  with: 'all',
26
26
  limit: TENANT_OVERVIEW_TABLES_LIMIT,
@@ -1 +1 @@
1
- {"version":3,"file":"TopGroups.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,mEAAmE,CAAC;AACtG,OAAO,EACH,qBAAqB,EACrB,gCAAgC,GACnC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,+CAA+C,CAAC;AAEzE,OAAO,EACH,4BAA4B,EAC5B,+BAA+B,GAClC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,qBAAqB,EAAC,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAC,0BAA0B,EAAC,MAAM,iEAAiE,CAAC;AAC3G,OAAO,EACH,6BAA6B,EAC7B,mCAAmC,GACtC,MAAM,mEAAmE,CAAC;AAE3E,OAAO,EAAC,yBAAyB,EAAC,MAAM,8BAA8B,CAAC;AAEvE,SAAS,UAAU;IACf,MAAM,eAAe,GAAG,0BAA0B,EAAE,CAAC;IAErD,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,UAAU,EAAE,6BAA6B,CAAC,CAAC;IAE5F,OAAO,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;AACjD,CAAC;AAMD,MAAM,UAAU,SAAS,CAAC,EAAC,MAAM,EAAiB;IAC9C,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,sBAAsB,GAAG,gCAAgC,EAAE,CAAC;IAClE,MAAM,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,EAAE,CAAC;IAEvD,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,UAAU,EAAE,CAAC;IAE/C,MAAM,EAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAC,GAAG,UAAU,CAAC,4BAA4B,CAC5E;QACI,MAAM;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,4BAA4B;QACnC,sBAAsB,EAAE,sBAAsB;QAC9C,cAAc;KACjB,EACD;QACI,eAAe,EAAE,mBAAmB;QACpC,IAAI,EAAE,CAAC,kBAAkB;KAC5B,CACJ,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,IAAI,WAAW,KAAK,SAAS,CAAC;IAExD,MAAM,MAAM,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,KAAI,EAAE,CAAC;IAEzC,OAAO,CACH,KAAC,yBAAyB,IACtB,OAAO,EAAE,OAAO,IAAI,CAAC,kBAAkB,EACvC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,YAE9B,KAAC,mBAAmB,IAChB,iBAAiB,EAAE,mCAAmC,EACtD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,+BAA+B,GAC3C,GACsB,CAC/B,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"TopGroups.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,mEAAmE,CAAC;AACtG,OAAO,EACH,qBAAqB,EACrB,gCAAgC,GACnC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,+CAA+C,CAAC;AAEzE,OAAO,EACH,4BAA4B,EAC5B,+BAA+B,GAClC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,qBAAqB,EAAC,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAC,0BAA0B,EAAC,MAAM,iEAAiE,CAAC;AAC3G,OAAO,EACH,6BAA6B,EAC7B,mCAAmC,GACtC,MAAM,mEAAmE,CAAC;AAE3E,OAAO,EAAC,yBAAyB,EAAC,MAAM,8BAA8B,CAAC;AAEvE,SAAS,UAAU;IACf,MAAM,eAAe,GAAG,0BAA0B,EAAE,CAAC;IAErD,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,UAAU,EAAE,6BAA6B,CAAC,CAAC;IAE5F,OAAO,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;AACjD,CAAC;AAMD,MAAM,UAAU,SAAS,CAAC,EAAC,MAAM,EAAiB;IAC9C,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,sBAAsB,GAAG,gCAAgC,EAAE,CAAC;IAClE,MAAM,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,EAAE,CAAC;IAEvD,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,UAAU,EAAE,CAAC;IAE/C,MAAM,EAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAC,GAAG,UAAU,CAAC,4BAA4B,CAC5E;QACI,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,4BAA4B;QACnC,sBAAsB,EAAE,sBAAsB;QAC9C,cAAc;KACjB,EACD;QACI,eAAe,EAAE,mBAAmB;QACpC,IAAI,EAAE,CAAC,kBAAkB;KAC5B,CACJ,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,IAAI,WAAW,KAAK,SAAS,CAAC;IAExD,MAAM,MAAM,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,KAAI,EAAE,CAAC;IAEzC,OAAO,CACH,KAAC,yBAAyB,IACtB,OAAO,EAAE,OAAO,IAAI,CAAC,kBAAkB,EACvC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,YAE9B,KAAC,mBAAmB,IAChB,iBAAiB,EAAE,mCAAmC,EACtD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,+BAA+B,GAC3C,GACsB,CAC/B,CAAC;AACN,CAAC"}
@@ -36,6 +36,10 @@
36
36
  "title_memory-details": "Memory Details",
37
37
  "field_memory-usage": "Memory usage",
38
38
  "context_capacity-usage": "{{value}} of {{capacity}}",
39
- "network-stats-unavailable.title": "Network Statistics Unavailable",
40
- "network-stats-unavailable.description": "Network ping and clock skew statistics require a newer backend version. Please upgrade your YDB installation to access these features."
39
+ "title_network-stats-unavailable": "Network Statistics Unavailable",
40
+ "context_network-stats-unavailable": "Network ping and clock skew statistics require a newer backend version. Please upgrade your YDB installation to access these features.",
41
+ "value_serverless": "Serverless",
42
+ "context_serverless-tooltip": "Some metrics are hidden in Serverless mode — resources scale automatically based on workload",
43
+ "context_serverless-autoscaled": "Auto-Scaled Resources",
44
+ "context_serverless-storage-subtitle": "{{legend}} | {{groups}} groups"
41
45
  }
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "context_cpu-description" | "context_memory-description" | "context_storage-description" | "context_network-description" | "top-nodes.empty-data" | "title_top-nodes-load" | "title_top-nodes-pool" | "cards.cpu-label" | "cards.storage-label" | "cards.memory-label" | "cards.network-label" | "cards.network-note" | "context_cpu-load" | "context_storage-groups" | "context_memory-used" | "context_network-usage" | "charts.queries-per-second" | "charts.queries-latency" | "charts.cpu-usage" | "charts.storage-usage" | "charts.memory-usage" | "charts.network-utilization" | "title_storage-details" | "storage.tablet-storage-title" | "storage.tablet-storage-description" | "storage.db-storage-title" | "storage.db-storage-description" | "title_top-shards" | "title_top-queries" | "title_top-tables-by-size" | "title_top-groups-by-usage" | "title_top-nodes-by-memory" | "title_nodes-by-ping" | "title_nodes-by-skew" | "title_memory-details" | "field_memory-usage" | "context_capacity-usage" | "network-stats-unavailable.title" | "network-stats-unavailable.description", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "context_cpu-description" | "context_memory-description" | "context_storage-description" | "context_network-description" | "top-nodes.empty-data" | "title_top-nodes-load" | "title_top-nodes-pool" | "cards.cpu-label" | "cards.storage-label" | "cards.memory-label" | "cards.network-label" | "cards.network-note" | "context_cpu-load" | "context_storage-groups" | "context_memory-used" | "context_network-usage" | "charts.queries-per-second" | "charts.queries-latency" | "charts.cpu-usage" | "charts.storage-usage" | "charts.memory-usage" | "charts.network-utilization" | "title_storage-details" | "storage.tablet-storage-title" | "storage.tablet-storage-description" | "storage.db-storage-title" | "storage.db-storage-description" | "title_top-shards" | "title_top-queries" | "title_top-tables-by-size" | "title_top-groups-by-usage" | "title_top-nodes-by-memory" | "title_nodes-by-ping" | "title_nodes-by-skew" | "title_memory-details" | "field_memory-usage" | "context_capacity-usage" | "title_network-stats-unavailable" | "context_network-stats-unavailable" | "value_serverless" | "context_serverless-tooltip" | "context_serverless-autoscaled" | "context_serverless-storage-subtitle", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -2,6 +2,7 @@ import './TopShards.scss';
2
2
  interface TopShardsProps {
3
3
  tenantName: string;
4
4
  path: string;
5
+ databaseFullPath: string;
5
6
  }
6
- export declare const TopShards: ({ tenantName, path }: TopShardsProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const TopShards: ({ tenantName, path, databaseFullPath }: TopShardsProps) => import("react/jsx-runtime").JSX.Element;
7
8
  export {};
@@ -26,7 +26,7 @@ function fillDateRangeFor(value) {
26
26
  value.from = 'now-1h';
27
27
  return value;
28
28
  }
29
- export const TopShards = ({ tenantName, path }) => {
29
+ export const TopShards = ({ tenantName, path, databaseFullPath }) => {
30
30
  var _a, _b;
31
31
  const ShardsTable = useComponent('ShardsTable');
32
32
  const dispatch = useTypedDispatch();
@@ -45,11 +45,18 @@ export const TopShards = ({ tenantName, path }) => {
45
45
  return defaultValue;
46
46
  });
47
47
  const { tableSort, handleTableSort, backendSort } = useTopShardSort();
48
+ let normalizedPath = path;
49
+ if (tenantName !== databaseFullPath) {
50
+ //tenantName may be database full path or database id. If it is database id, we must remove it from object's path and add database full path instead
51
+ const shrinkedPath = path.startsWith(tenantName) ? path.slice(tenantName.length) : path;
52
+ normalizedPath = databaseFullPath + shrinkedPath;
53
+ }
48
54
  const { currentData: result, isFetching, error, } = shardApi.useSendShardQueryQuery({
49
55
  database: tenantName,
50
- path: path,
56
+ path: normalizedPath,
51
57
  sortOrder: backendSort,
52
58
  filters,
59
+ databaseFullPath,
53
60
  }, { pollingInterval: autoRefreshInterval });
54
61
  const loading = isFetching && result === undefined;
55
62
  const data = ((_b = (_a = result === null || result === void 0 ? void 0 : result.resultSets) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.result) || [];