ydb-embedded-ui 11.14.1 → 12.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/ConnectToDB/ConnectToDBDialog.js +1 -1
- package/dist/components/ConnectToDB/ConnectToDBDialog.js.map +1 -1
- package/dist/components/EmptyState/EmptyState.d.ts +6 -4
- package/dist/components/EmptyState/EmptyState.js +5 -5
- package/dist/components/EmptyState/EmptyState.js.map +1 -1
- package/dist/components/EmptyState/EmptyState.scss +7 -18
- package/dist/components/EnableFullscreenButton/EnableFullscreenButton.d.ts +2 -2
- package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js +1 -2
- package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js.map +1 -1
- package/dist/components/EntityStatus/EntityStatus.d.ts +1 -3
- package/dist/components/EntityStatus/EntityStatus.js +5 -8
- package/dist/components/EntityStatus/EntityStatus.js.map +1 -1
- package/dist/components/EntityStatus/EntityStatus.scss +34 -50
- package/dist/components/Errors/403/AccessDenied.d.ts +3 -4
- package/dist/components/Errors/403/AccessDenied.js +3 -3
- package/dist/components/Errors/403/AccessDenied.js.map +1 -1
- package/dist/components/Errors/PageError/PageError.d.ts +5 -4
- package/dist/components/Errors/PageError/PageError.js +7 -4
- package/dist/components/Errors/PageError/PageError.js.map +1 -1
- package/dist/components/Errors/PageError/PageError.scss +7 -0
- package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
- package/dist/components/Fullscreen/Fullscreen.d.ts +2 -2
- package/dist/components/Fullscreen/Fullscreen.js +10 -10
- package/dist/components/Fullscreen/Fullscreen.js.map +1 -1
- package/dist/components/Fullscreen/Fullscreen.scss +4 -2
- package/dist/components/Fullscreen/FullscreenContext.d.ts +6 -0
- package/dist/components/Fullscreen/FullscreenContext.js +14 -0
- package/dist/components/Fullscreen/FullscreenContext.js.map +1 -0
- package/dist/components/NetworkTable/columns.d.ts +1 -1
- package/dist/components/QueryExecutionStatus/QueryExecutionStatus.js +11 -26
- package/dist/components/QueryExecutionStatus/QueryExecutionStatus.js.map +1 -1
- package/dist/components/QueryExecutionStatus/useElapsedDuration.d.ts +7 -0
- package/dist/components/QueryExecutionStatus/useElapsedDuration.js +42 -0
- package/dist/components/QueryExecutionStatus/useElapsedDuration.js.map +1 -0
- package/dist/components/ShardsTable/columns.js +3 -3
- package/dist/components/ShardsTable/columns.js.map +1 -1
- package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/nodesColumns/i18n/index.d.ts +1 -1
- package/dist/containers/App/App.js +3 -1
- package/dist/containers/App/App.js.map +1 -1
- package/dist/containers/App/Content.js +4 -1
- package/dist/containers/App/Content.js.map +1 -1
- package/dist/containers/Clusters/Clusters.js +7 -4
- package/dist/containers/Clusters/Clusters.js.map +1 -1
- package/dist/containers/Clusters/constants.d.ts +1 -1
- package/dist/containers/Header/Header.js +9 -1
- package/dist/containers/Header/Header.js.map +1 -1
- package/dist/containers/Header/breadcrumbs.js +2 -5
- package/dist/containers/Header/breadcrumbs.js.map +1 -1
- package/dist/containers/Node/Node.js +3 -1
- package/dist/containers/Node/Node.js.map +1 -1
- package/dist/containers/Nodes/NodesControls/NodesControls.js +1 -1
- package/dist/containers/Nodes/NodesControls/NodesControls.js.map +1 -1
- package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js +1 -1
- package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js.map +1 -1
- package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js +1 -1
- package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js.map +1 -1
- package/dist/containers/Nodes/PaginatedNodes/PaginatedNodes.js +1 -1
- package/dist/containers/Nodes/PaginatedNodes/PaginatedNodes.js.map +1 -1
- package/dist/containers/Nodes/PeerRoleFilter/utils.d.ts +1 -1
- package/dist/containers/Nodes/PeerRoleFilter/utils.js +3 -2
- package/dist/containers/Nodes/PeerRoleFilter/utils.js.map +1 -1
- package/dist/containers/Nodes/i18n/index.d.ts +1 -1
- package/dist/containers/Nodes/useNodesPageQueryParams.d.ts +1 -1
- package/dist/containers/Nodes/useNodesPageQueryParams.js +8 -4
- package/dist/containers/Nodes/useNodesPageQueryParams.js.map +1 -1
- package/dist/containers/StorageGroupPage/StorageGroupPage.js +1 -1
- package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
- package/dist/containers/Tablet/Tablet.js +1 -0
- package/dist/containers/Tablet/Tablet.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Configs/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js +25 -24
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +5 -2
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +36 -16
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Partitions/utils/constants.d.ts +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/CommonMetricsTabs.d.ts +18 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/CommonMetricsTabs.js +27 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/CommonMetricsTabs.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/DedicatedMetricsTabs.d.ts +16 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/DedicatedMetricsTabs.js +16 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/DedicatedMetricsTabs.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.d.ts +5 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js +23 -24
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.scss +10 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/ServerlessPlaceholderTabs.d.ts +7 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/ServerlessPlaceholderTabs.js +12 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/ServerlessPlaceholderTabs.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.d.ts +13 -4
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.js +18 -7
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.d.ts +4 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js +4 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.d.ts +2 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js +8 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/columns.d.ts +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +16 -6
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss +4 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.d.ts +3 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +7 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +6 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.d.ts +2 -1
- package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js +9 -2
- package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/i18n/en.json +3 -0
- package/dist/containers/Tenant/Diagnostics/i18n/index.d.ts +2 -0
- package/dist/containers/Tenant/Diagnostics/i18n/index.js +5 -0
- package/dist/containers/Tenant/Diagnostics/i18n/index.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js +2 -2
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/Healthcheck.scss +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.js +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.js +3 -18
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/IssueLocation.d.ts +10 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/IssueLocation.js +24 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/IssueLocation.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.js +1 -1
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +8 -8
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
- package/dist/containers/Tenant/ObjectSummary/ObjectTree.d.ts +2 -1
- package/dist/containers/Tenant/ObjectSummary/ObjectTree.js +5 -5
- package/dist/containers/Tenant/ObjectSummary/ObjectTree.js.map +1 -1
- package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.d.ts +1 -0
- package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +3 -1
- package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
- package/dist/containers/Tenant/ObjectSummary/transformPath.d.ts +8 -1
- package/dist/containers/Tenant/ObjectSummary/transformPath.js +10 -2
- package/dist/containers/Tenant/ObjectSummary/transformPath.js.map +1 -1
- package/dist/containers/Tenant/Query/Preview/components/PreviewView.js +2 -2
- package/dist/containers/Tenant/Query/Preview/components/PreviewView.js.map +1 -1
- package/dist/containers/Tenant/Query/Preview/components/TablePreview.js +6 -2
- package/dist/containers/Tenant/Query/Preview/components/TablePreview.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +2 -2
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
- package/dist/containers/Tenant/Tenant.js +5 -4
- package/dist/containers/Tenant/Tenant.js.map +1 -1
- package/dist/containers/Tenant/TenantContext.d.ts +3 -1
- package/dist/containers/Tenant/TenantContext.js +3 -2
- package/dist/containers/Tenant/TenantContext.js.map +1 -1
- package/dist/containers/Tenant/TenantDrawerHealthcheck.js +1 -1
- package/dist/containers/Tenant/TenantDrawerHealthcheck.js.map +1 -1
- package/dist/containers/Tenant/utils/schemaActions.d.ts +1 -0
- package/dist/containers/Tenant/utils/schemaActions.js +10 -4
- package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskPage.js +1 -0
- package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
- package/dist/services/api/base.d.ts +3 -1
- package/dist/services/api/base.js +12 -2
- package/dist/services/api/base.js.map +1 -1
- package/dist/services/api/index.d.ts +2 -1
- package/dist/services/api/index.js +2 -2
- package/dist/services/api/index.js.map +1 -1
- package/dist/services/api/scheme.js +1 -1
- package/dist/services/api/scheme.js.map +1 -1
- package/dist/services/api/viewer.d.ts +2 -2
- package/dist/services/api/viewer.js +5 -6
- package/dist/services/api/viewer.js.map +1 -1
- package/dist/store/configureStore.js +1 -0
- package/dist/store/configureStore.js.map +1 -1
- package/dist/store/reducers/capabilities/hooks.js +2 -1
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/header/types.d.ts +1 -1
- package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +1 -0
- package/dist/store/reducers/shardsWorkload/shardsWorkload.js +23 -11
- package/dist/store/reducers/shardsWorkload/shardsWorkload.js.map +1 -1
- package/dist/store/reducers/tenant/tenant.d.ts +1 -0
- package/dist/store/reducers/tenant/tenant.js +2 -1
- package/dist/store/reducers/tenant/tenant.js.map +1 -1
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +1 -0
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js +4 -3
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js.map +1 -1
- package/dist/styles/mixins.scss +0 -26
- package/dist/types/api/storage.d.ts +0 -2
- package/dist/uiFactory/types.d.ts +3 -0
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.js +1 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/dataFormatters/i18n/index.d.ts +1 -1
- package/dist/utils/timeParsers/i18n/index.d.ts +1 -1
- package/package.json +1 -1
- package/dist/components/DeveloperUILinkButton/DeveloperUILinkButton.d.ts +0 -10
- package/dist/components/DeveloperUILinkButton/DeveloperUILinkButton.js +0 -18
- package/dist/components/DeveloperUILinkButton/DeveloperUILinkButton.js.map +0 -1
- package/dist/components/DeveloperUILinkButton/DeveloperUILinkButton.scss +0 -5
- package/dist/components/DeveloperUILinkButton/i18n/en.json +0 -3
- package/dist/components/DeveloperUILinkButton/i18n/index.d.ts +0 -2
- package/dist/components/DeveloperUILinkButton/i18n/index.js +0 -5
- package/dist/components/DeveloperUILinkButton/i18n/index.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DiagnosticsPages.js","sourceRoot":"","sources":["../../../../src/containers/Tenant/Diagnostics/DiagnosticsPages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAC,2BAA2B,EAAC,MAAM,0CAA0C,CAAC;AAErF,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,2BAA2B,CAAC;
|
1
|
+
{"version":3,"file":"DiagnosticsPages.js","sourceRoot":"","sources":["../../../../src/containers/Tenant/Diagnostics/DiagnosticsPages.ts"],"names":[],"mappings":"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"}
|
@@ -50,5 +50,5 @@ export declare const PARTITIONS_READ_LAGS_SUB_COLUMNS_TITLES: {
|
|
50
50
|
readonly consumerReadLag: "read lag";
|
51
51
|
readonly consumerReadIdleTime: "read idle time";
|
52
52
|
};
|
53
|
-
export declare const generalPartitionColumnsIds: ("
|
54
|
-
export declare const allPartitionsColumnsIds: ("
|
53
|
+
export declare const generalPartitionColumnsIds: ("startOffset" | "endOffset" | "storeSize" | "writeSpeed" | "partitionId" | "writeLags" | "partitionHost")[];
|
54
|
+
export declare const allPartitionsColumnsIds: ("startOffset" | "endOffset" | "storeSize" | "writeSpeed" | "readSpeed" | "readLags" | "partitionId" | "writeLags" | "uncommitedMessages" | "unreadMessages" | "commitedOffset" | "readSessionId" | "readerName" | "partitionHost" | "connectionHost")[];
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import type { TenantMetricsTab } from '../../../../../store/reducers/tenant/types';
|
2
|
+
import type { ETenantType } from '../../../../../types/api/tenant';
|
3
|
+
interface CommonMetricsTabsProps {
|
4
|
+
activeTab: TenantMetricsTab;
|
5
|
+
tabLinks: Record<TenantMetricsTab, string>;
|
6
|
+
cpu: {
|
7
|
+
totalUsed: number;
|
8
|
+
totalLimit: number;
|
9
|
+
};
|
10
|
+
storage: {
|
11
|
+
totalUsed: number;
|
12
|
+
totalLimit: number;
|
13
|
+
};
|
14
|
+
storageGroupsCount?: number;
|
15
|
+
databaseType?: ETenantType;
|
16
|
+
}
|
17
|
+
export declare function CommonMetricsTabs({ activeTab, tabLinks, cpu, storage, storageGroupsCount, databaseType, }: CommonMetricsTabsProps): import("react/jsx-runtime").JSX.Element;
|
18
|
+
export {};
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
import { Link } from 'react-router-dom';
|
3
|
+
import { TENANT_METRICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
|
4
|
+
import { cn } from '../../../../../utils/cn';
|
5
|
+
import { formatCoresLegend, formatStorageLegend, } from '../../../../../utils/metrics/formatMetricLegend';
|
6
|
+
import { TabCard } from '../TabCard/TabCard';
|
7
|
+
import i18n from '../i18n';
|
8
|
+
const b = cn('tenant-metrics-tabs');
|
9
|
+
export function CommonMetricsTabs({ activeTab, tabLinks, cpu, storage, storageGroupsCount, databaseType, }) {
|
10
|
+
const isServerless = databaseType === 'Serverless';
|
11
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: b('link-container', {
|
12
|
+
active: activeTab === TENANT_METRICS_TABS_IDS.cpu,
|
13
|
+
}), children: _jsx(Link, { to: tabLinks.cpu, className: b('link'), children: _jsx(TabCard, { text: i18n('context_cpu-load'), value: cpu.totalUsed, limit: cpu.totalLimit, legendFormatter: formatCoresLegend, active: activeTab === TENANT_METRICS_TABS_IDS.cpu, helpText: i18n('context_cpu-description'), databaseType: databaseType, subtitle: isServerless ? i18n('context_serverless-autoscaled') : undefined }) }) }), _jsx("div", { className: b('link-container', {
|
14
|
+
active: activeTab === TENANT_METRICS_TABS_IDS.storage,
|
15
|
+
}), children: _jsx(Link, { to: tabLinks.storage, className: b('link'), children: _jsx(TabCard, { text: storageGroupsCount === undefined || isServerless
|
16
|
+
? i18n('cards.storage-label')
|
17
|
+
: i18n('context_storage-groups', { count: storageGroupsCount }), value: storage.totalUsed, limit: storage.totalLimit, legendFormatter: formatStorageLegend, active: activeTab === TENANT_METRICS_TABS_IDS.storage, helpText: i18n('context_storage-description'), databaseType: databaseType, subtitle: isServerless && storage.totalLimit
|
18
|
+
? i18n('context_serverless-storage-subtitle', {
|
19
|
+
groups: String(storageGroupsCount !== null && storageGroupsCount !== void 0 ? storageGroupsCount : 0),
|
20
|
+
legend: formatStorageLegend({
|
21
|
+
value: storage.totalUsed,
|
22
|
+
capacity: storage.totalLimit,
|
23
|
+
}),
|
24
|
+
})
|
25
|
+
: undefined }) }) })] }));
|
26
|
+
}
|
27
|
+
//# sourceMappingURL=CommonMetricsTabs.js.map
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/CommonMetricsTabs.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CommonMetricsTabs.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/CommonMetricsTabs.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAC,uBAAuB,EAAC,MAAM,gDAAgD,CAAC;AAGvF,OAAO,EAAC,EAAE,EAAC,MAAM,yBAAyB,CAAC;AAC3C,OAAO,EACH,iBAAiB,EACjB,mBAAmB,GACtB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAC3C,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAWpC,MAAM,UAAU,iBAAiB,CAAC,EAC9B,SAAS,EACT,QAAQ,EACR,GAAG,EACH,OAAO,EACP,kBAAkB,EAClB,YAAY,GACS;IACrB,MAAM,YAAY,GAAG,YAAY,KAAK,YAAY,CAAC;IAEnD,OAAO,CACH,8BACI,cACI,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE;oBAC3B,MAAM,EAAE,SAAS,KAAK,uBAAuB,CAAC,GAAG;iBACpD,CAAC,YAEF,KAAC,IAAI,IAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACxC,KAAC,OAAO,IACJ,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAC9B,KAAK,EAAE,GAAG,CAAC,SAAS,EACpB,KAAK,EAAE,GAAG,CAAC,UAAU,EACrB,eAAe,EAAE,iBAAiB,EAClC,MAAM,EAAE,SAAS,KAAK,uBAAuB,CAAC,GAAG,EACjD,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,EACzC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,SAAS,GAC5E,GACC,GACL,EACN,cACI,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE;oBAC3B,MAAM,EAAE,SAAS,KAAK,uBAAuB,CAAC,OAAO;iBACxD,CAAC,YAEF,KAAC,IAAI,IAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAC5C,KAAC,OAAO,IACJ,IAAI,EACA,kBAAkB,KAAK,SAAS,IAAI,YAAY;4BAC5C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;4BAC7B,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAC,KAAK,EAAE,kBAAkB,EAAC,CAAC,EAErE,KAAK,EAAE,OAAO,CAAC,SAAS,EACxB,KAAK,EAAE,OAAO,CAAC,UAAU,EACzB,eAAe,EAAE,mBAAmB,EACpC,MAAM,EAAE,SAAS,KAAK,uBAAuB,CAAC,OAAO,EACrD,QAAQ,EAAE,IAAI,CAAC,6BAA6B,CAAC,EAC7C,YAAY,EAAE,YAAY,EAC1B,QAAQ,EACJ,YAAY,IAAI,OAAO,CAAC,UAAU;4BAC9B,CAAC,CAAC,IAAI,CAAC,qCAAqC,EAAE;gCACxC,MAAM,EAAE,MAAM,CAAC,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,CAAC,CAAC;gCACvC,MAAM,EAAE,mBAAmB,CAAC;oCACxB,KAAK,EAAE,OAAO,CAAC,SAAS;oCACxB,QAAQ,EAAE,OAAO,CAAC,UAAU;iCAC/B,CAAC;6BACL,CAAC;4BACJ,CAAC,CAAC,SAAS,GAErB,GACC,GACL,IACP,CACN,CAAC;AACN,CAAC"}
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/DedicatedMetricsTabs.d.ts
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
import type { TenantMetricsTab } from '../../../../../store/reducers/tenant/types';
|
2
|
+
interface DedicatedMetricsTabsProps {
|
3
|
+
activeTab: TenantMetricsTab;
|
4
|
+
tabLinks: Record<TenantMetricsTab, string>;
|
5
|
+
memory: {
|
6
|
+
totalUsed: number;
|
7
|
+
totalLimit: number;
|
8
|
+
};
|
9
|
+
network: {
|
10
|
+
totalUsed: number;
|
11
|
+
totalLimit: number;
|
12
|
+
} | null;
|
13
|
+
showNetwork: boolean;
|
14
|
+
}
|
15
|
+
export declare function DedicatedMetricsTabs({ activeTab, tabLinks, memory, network, showNetwork, }: DedicatedMetricsTabsProps): import("react/jsx-runtime").JSX.Element;
|
16
|
+
export {};
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
import { Link } from 'react-router-dom';
|
3
|
+
import { TENANT_METRICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
|
4
|
+
import { cn } from '../../../../../utils/cn';
|
5
|
+
import { formatSpeedLegend, formatStorageLegend, } from '../../../../../utils/metrics/formatMetricLegend';
|
6
|
+
import { TabCard } from '../TabCard/TabCard';
|
7
|
+
import i18n from '../i18n';
|
8
|
+
const b = cn('tenant-metrics-tabs');
|
9
|
+
export function DedicatedMetricsTabs({ activeTab, tabLinks, memory, network, showNetwork, }) {
|
10
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: b('link-container', {
|
11
|
+
active: activeTab === TENANT_METRICS_TABS_IDS.memory,
|
12
|
+
}), children: _jsx(Link, { to: tabLinks.memory, className: b('link'), children: _jsx(TabCard, { text: i18n('context_memory-used'), value: memory.totalUsed, limit: memory.totalLimit, legendFormatter: formatStorageLegend, active: activeTab === TENANT_METRICS_TABS_IDS.memory, helpText: i18n('context_memory-description'), databaseType: "Dedicated" }) }) }), showNetwork && network && (_jsx("div", { className: b('link-container', {
|
13
|
+
active: activeTab === TENANT_METRICS_TABS_IDS.network,
|
14
|
+
}), children: _jsx(Link, { to: tabLinks.network, className: b('link'), children: _jsx(TabCard, { text: i18n('context_network-usage'), value: network.totalUsed, limit: network.totalLimit, legendFormatter: formatSpeedLegend, active: activeTab === TENANT_METRICS_TABS_IDS.network, helpText: i18n('context_network-description'), databaseType: "Dedicated" }) }) }))] }));
|
15
|
+
}
|
16
|
+
//# sourceMappingURL=DedicatedMetricsTabs.js.map
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/DedicatedMetricsTabs.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"DedicatedMetricsTabs.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/DedicatedMetricsTabs.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAC,uBAAuB,EAAC,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EAAC,EAAE,EAAC,MAAM,yBAAyB,CAAC;AAC3C,OAAO,EACH,iBAAiB,EACjB,mBAAmB,GACtB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAC3C,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAUpC,MAAM,UAAU,oBAAoB,CAAC,EACjC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAO,EACP,WAAW,GACa;IACxB,OAAO,CACH,8BACI,cACI,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE;oBAC3B,MAAM,EAAE,SAAS,KAAK,uBAAuB,CAAC,MAAM;iBACvD,CAAC,YAEF,KAAC,IAAI,IAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAC3C,KAAC,OAAO,IACJ,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,EACjC,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,eAAe,EAAE,mBAAmB,EACpC,MAAM,EAAE,SAAS,KAAK,uBAAuB,CAAC,MAAM,EACpD,QAAQ,EAAE,IAAI,CAAC,4BAA4B,CAAC,EAC5C,YAAY,EAAC,WAAW,GAC1B,GACC,GACL,EACL,WAAW,IAAI,OAAO,IAAI,CACvB,cACI,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE;oBAC3B,MAAM,EAAE,SAAS,KAAK,uBAAuB,CAAC,OAAO;iBACxD,CAAC,YAEF,KAAC,IAAI,IAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAC5C,KAAC,OAAO,IACJ,IAAI,EAAE,IAAI,CAAC,uBAAuB,CAAC,EACnC,KAAK,EAAE,OAAO,CAAC,SAAS,EACxB,KAAK,EAAE,OAAO,CAAC,UAAU,EACzB,eAAe,EAAE,iBAAiB,EAClC,MAAM,EAAE,SAAS,KAAK,uBAAuB,CAAC,OAAO,EACrD,QAAQ,EAAE,IAAI,CAAC,6BAA6B,CAAC,EAC7C,YAAY,EAAC,WAAW,GAC1B,GACC,GACL,CACT,IACF,CACN,CAAC;AACN,CAAC"}
|
@@ -1,4 +1,6 @@
|
|
1
|
+
import type { TenantMetricsTab } from '../../../../../store/reducers/tenant/types';
|
1
2
|
import type { TenantMetricStats, TenantPoolsStats, TenantStorageStats } from '../../../../../store/reducers/tenants/utils';
|
3
|
+
import type { ETenantType } from '../../../../../types/api/tenant';
|
2
4
|
import './MetricsTabs.scss';
|
3
5
|
interface MetricsTabsProps {
|
4
6
|
poolsCpuStats?: TenantPoolsStats[];
|
@@ -7,6 +9,8 @@ interface MetricsTabsProps {
|
|
7
9
|
tabletStorageStats?: TenantStorageStats[];
|
8
10
|
networkStats?: TenantMetricStats[];
|
9
11
|
storageGroupsCount?: number;
|
12
|
+
databaseType?: ETenantType;
|
13
|
+
activeTab: TenantMetricsTab;
|
10
14
|
}
|
11
|
-
export declare function MetricsTabs({ poolsCpuStats, memoryStats, blobStorageStats, tabletStorageStats, networkStats, storageGroupsCount, }: MetricsTabsProps): import("react/jsx-runtime").JSX.Element;
|
15
|
+
export declare function MetricsTabs({ poolsCpuStats, memoryStats, blobStorageStats, tabletStorageStats, networkStats, storageGroupsCount, databaseType, activeTab, }: MetricsTabsProps): import("react/jsx-runtime").JSX.Element;
|
12
16
|
export {};
|
@@ -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 {
|
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
|
9
|
+
import { useSetting } from '../../../../../utils/hooks';
|
9
10
|
import { calculateMetricAggregates } from '../../../../../utils/metrics';
|
10
|
-
|
11
|
+
// no direct legend formatters needed here – handled in subcomponents
|
11
12
|
import { TenantTabsGroups, getTenantPath } from '../../../TenantPages';
|
12
|
-
import {
|
13
|
-
import
|
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
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
}
|
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":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,
|
1
|
+
{"version":3,"file":"MetricsTabs.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.tsx"],"names":[],"mappings":"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"}
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/ServerlessPlaceholderTabs.js
ADDED
@@ -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
|
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
|
-
|
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
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
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;
|
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
|
-
|
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;
|
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
|
-
|
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;
|
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"}
|
@@ -19,7 +19,7 @@ export declare function getTopNodesByPingColumns(params: GetNodesColumnsParams):
|
|
19
19
|
width?: number;
|
20
20
|
resizeMaxWidth?: number;
|
21
21
|
resizeMinWidth?: number;
|
22
|
-
align: "
|
22
|
+
align: "left" | "center" | "right";
|
23
23
|
headerTitle?: string;
|
24
24
|
accessor?: string | ((row: NodesPreparedEntity) => any) | undefined;
|
25
25
|
title?: string | ((row: NodesPreparedEntity) => string) | undefined;
|
@@ -56,7 +56,7 @@ export declare function getTopNodesBySkewColumns(params: GetNodesColumnsParams):
|
|
56
56
|
width?: number;
|
57
57
|
resizeMaxWidth?: number;
|
58
58
|
resizeMinWidth?: number;
|
59
|
-
align: "
|
59
|
+
align: "left" | "center" | "right";
|
60
60
|
headerTitle?: string;
|
61
61
|
accessor?: string | ((row: NodesPreparedEntity) => any) | undefined;
|
62
62
|
title?: string | ((row: NodesPreparedEntity) => string) | undefined;
|
@@ -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 (
|
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 (
|
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
|