ydb-embedded-ui 9.3.1 → 9.4.1
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/AutoRefreshControl/i18n/index.d.ts +1 -1
- package/dist/components/Drawer/Drawer.d.ts +2 -1
- package/dist/components/Drawer/Drawer.js +4 -4
- package/dist/components/Drawer/Drawer.js.map +1 -1
- package/dist/{containers/Storage → components}/EmptyFilter/EmptyFilter.js +2 -2
- package/dist/components/EmptyFilter/EmptyFilter.js.map +1 -0
- package/dist/{containers/App → components/EmptyFilter}/i18n/index.js +1 -1
- package/dist/components/EmptyFilter/i18n/index.js.map +1 -0
- package/dist/components/EmptyState/EmptyState.d.ts +1 -0
- package/dist/components/EmptyState/EmptyState.js +1 -0
- package/dist/components/EmptyState/EmptyState.js.map +1 -1
- package/dist/components/EmptyState/EmptyState.scss +9 -0
- package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js +3 -2
- package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js.map +1 -1
- package/dist/components/EnableFullscreenButton/i18n/en.json +3 -0
- package/dist/components/EnableFullscreenButton/i18n/index.d.ts +2 -0
- package/dist/components/EnableFullscreenButton/i18n/index.js +5 -0
- package/dist/components/EnableFullscreenButton/i18n/index.js.map +1 -0
- package/dist/components/FixedHeightQuery/FixedHeightQuery.d.ts +9 -0
- package/dist/components/FixedHeightQuery/FixedHeightQuery.js +23 -0
- package/dist/components/FixedHeightQuery/FixedHeightQuery.js.map +1 -0
- package/dist/components/FixedHeightQuery/FixedHeightQuery.scss +42 -0
- package/dist/components/HealthcheckStatus/HealthcheckStatus.d.ts +8 -0
- package/dist/components/HealthcheckStatus/HealthcheckStatus.js +41 -0
- package/dist/components/HealthcheckStatus/HealthcheckStatus.js.map +1 -0
- package/dist/components/HealthcheckStatus/i18n/en.json +7 -0
- package/dist/components/HealthcheckStatus/i18n/index.d.ts +2 -0
- package/dist/components/HealthcheckStatus/i18n/index.js +5 -0
- package/dist/components/HealthcheckStatus/i18n/index.js.map +1 -0
- package/dist/components/ProgressViewer/ProgressViewer.d.ts +2 -1
- package/dist/components/ProgressViewer/ProgressViewer.js +3 -2
- package/dist/components/ProgressViewer/ProgressViewer.js.map +1 -1
- package/dist/components/SplitPane/SplitPane.scss +0 -1
- package/dist/containers/App/Content.js +18 -14
- package/dist/containers/App/Content.js.map +1 -1
- package/dist/containers/Clusters/Clusters.js +19 -7
- package/dist/containers/Clusters/Clusters.js.map +1 -1
- package/dist/containers/Clusters/Clusters.scss +7 -53
- package/dist/containers/Clusters/columns.d.ts +18 -1
- package/dist/containers/Clusters/columns.js +43 -9
- package/dist/containers/Clusters/columns.js.map +1 -1
- package/dist/containers/Clusters/i18n/en.json +3 -1
- package/dist/containers/Clusters/i18n/index.d.ts +1 -1
- package/dist/containers/Clusters/i18n/index.js +1 -2
- package/dist/containers/Clusters/i18n/index.js.map +1 -1
- package/dist/containers/Header/Header.d.ts +1 -5
- package/dist/containers/Header/Header.js +14 -10
- package/dist/containers/Header/Header.js.map +1 -1
- package/dist/containers/Header/Header.scss +1 -1
- package/dist/containers/Header/breadcrumbs.d.ts +3 -1
- package/dist/containers/Header/breadcrumbs.js +18 -6
- package/dist/containers/Header/breadcrumbs.js.map +1 -1
- package/dist/containers/Header/i18n/en.json +3 -1
- package/dist/containers/Header/i18n/index.d.ts +1 -1
- package/dist/containers/Operations/columns.js +2 -2
- package/dist/containers/Operations/columns.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/StorageGroupsEmptyDataMessage.js +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/StorageGroupsEmptyDataMessage.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/StorageNodesEmptyDataMessage.js +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/StorageNodesEmptyDataMessage.js.map +1 -1
- package/dist/containers/Tablet/components/TabletStorageInfo/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +30 -29
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.scss +41 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/en.json +8 -6
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.js +1 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.d.ts +3 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.js +9 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.scss +7 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.d.ts +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.js +27 -8
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +5 -10
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss +1 -5
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +2 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js +11 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js +2 -3
- package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useScrollToSelected.d.ts +19 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useScrollToSelected.js +31 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useScrollToSelected.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/utils.js +1 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/utils.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Healthcheck/Healthcheck.d.ts +9 -0
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js +49 -0
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/Healthcheck.scss +112 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckFilter.d.ts +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckFilter.js +9 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckFilter.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.d.ts +7 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.js +25 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.d.ts +9 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.js +67 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.d.ts +6 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.js +67 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.d.ts +7 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.js +19 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/PoolInfo.d.ts +6 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/PoolInfo.js +12 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/PoolInfo.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.d.ts +9 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js +95 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.d.ts +25 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.js +17 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueTabs.d.ts +8 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueTabs.js +23 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueTabs.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.d.ts +6 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js +41 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckRefresh.d.ts +6 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckRefresh.js +47 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckRefresh.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.d.ts +8 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js +42 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/i18n/en.json +41 -0
- package/dist/containers/Tenant/Healthcheck/i18n/index.d.ts +2 -0
- package/dist/containers/Tenant/Healthcheck/i18n/index.js +5 -0
- package/dist/containers/Tenant/Healthcheck/i18n/index.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/shared.d.ts +11 -0
- package/dist/containers/Tenant/Healthcheck/shared.js +36 -0
- package/dist/containers/Tenant/Healthcheck/shared.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/useHealthcheck.d.ts +14 -0
- package/dist/containers/Tenant/Healthcheck/useHealthcheck.js +19 -0
- package/dist/containers/Tenant/Healthcheck/useHealthcheck.js.map +1 -0
- package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js +1 -1
- package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.js +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.js.map +1 -1
- package/dist/containers/Tenant/Tenant.js +14 -25
- package/dist/containers/Tenant/Tenant.js.map +1 -1
- package/dist/containers/Tenant/TenantDrawerWrappers.d.ts +7 -0
- package/dist/containers/Tenant/TenantDrawerWrappers.js +47 -0
- package/dist/containers/Tenant/TenantDrawerWrappers.js.map +1 -0
- package/dist/containers/Tenant/TenantPages.d.ts +2 -0
- package/dist/containers/Tenant/TenantPages.js.map +1 -1
- package/dist/containers/Tenant/constants.d.ts +4 -0
- package/dist/containers/Tenant/constants.js +18 -0
- package/dist/containers/Tenant/constants.js.map +1 -0
- package/dist/containers/Tenant/i18n/en.json +7 -1
- package/dist/containers/Tenant/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/useTenantQueryParams.d.ts +12 -0
- package/dist/containers/Tenant/useTenantQueryParams.js +39 -0
- package/dist/containers/Tenant/useTenantQueryParams.js.map +1 -0
- package/dist/containers/Tenant/utils/schemaActions.js +2 -2
- package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
- package/dist/containers/UserSettings/i18n/en.json +1 -1
- package/dist/store/reducers/capabilities/hooks.d.ts +3 -0
- package/dist/store/reducers/capabilities/hooks.js +9 -0
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/clusters/selectors.d.ts +1 -2
- package/dist/store/reducers/clusters/selectors.js +0 -28
- package/dist/store/reducers/clusters/selectors.js.map +1 -1
- package/dist/store/reducers/clusters/types.d.ts +0 -10
- package/dist/store/reducers/header/types.d.ts +4 -2
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +631 -331
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.js +8 -35
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.js.map +1 -1
- package/dist/store/reducers/healthcheckInfo/types.d.ts +2 -0
- package/dist/store/reducers/healthcheckInfo/utils.d.ts +3 -0
- package/dist/store/reducers/healthcheckInfo/utils.js +34 -0
- package/dist/store/reducers/healthcheckInfo/utils.js.map +1 -1
- package/dist/store/reducers/tenant/constants.d.ts +0 -1
- package/dist/store/reducers/tenant/constants.js +0 -1
- package/dist/store/reducers/tenant/constants.js.map +1 -1
- package/dist/store/reducers/tenants/utils.d.ts +2 -1
- package/dist/store/reducers/tenants/utils.js +15 -2
- package/dist/store/reducers/tenants/utils.js.map +1 -1
- package/dist/styles/index.scss +3 -0
- package/dist/types/api/capabilities.d.ts +1 -1
- package/dist/types/api/healthcheck.d.ts +80 -13
- package/dist/types/api/healthcheck.js +1 -0
- package/dist/types/api/healthcheck.js.map +1 -1
- package/dist/types/api/tenant.d.ts +4 -0
- package/dist/types/api/tenant.js.map +1 -1
- package/dist/uiFactory/types.d.ts +18 -0
- package/dist/uiFactory/uiFactory.d.ts +1 -1
- package/dist/uiFactory/uiFactory.js +6 -0
- package/dist/uiFactory/uiFactory.js.map +1 -1
- package/dist/utils/createToast.d.ts +2 -9
- package/dist/utils/createToast.js +5 -6
- package/dist/utils/createToast.js.map +1 -1
- package/package.json +1 -1
- package/dist/containers/App/i18n/en.json +0 -3
- package/dist/containers/App/i18n/index.d.ts +0 -2
- package/dist/containers/App/i18n/index.js.map +0 -1
- package/dist/containers/App/i18n/ru.json +0 -3
- package/dist/containers/Clusters/ClustersStatistics.d.ts +0 -7
- package/dist/containers/Clusters/ClustersStatistics.js +0 -10
- package/dist/containers/Clusters/ClustersStatistics.js.map +0 -1
- package/dist/containers/Clusters/i18n/ru.json +0 -15
- package/dist/containers/Storage/EmptyFilter/EmptyFilter.js.map +0 -1
- package/dist/containers/Storage/EmptyFilter/i18n/index.js +0 -6
- package/dist/containers/Storage/EmptyFilter/i18n/index.js.map +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/Healthcheck.scss +0 -106
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.d.ts +0 -6
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.js +0 -34
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.js.map +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.d.ts +0 -7
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.js +0 -37
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.js.map +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.scss +0 -51
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.d.ts +0 -10
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.js +0 -9
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.js.map +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.scss +0 -50
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/index.d.ts +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/index.js +0 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/index.js.map +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/ru.json +0 -8
- package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.d.ts +0 -15
- package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.js +0 -20
- package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.js.map +0 -1
- /package/dist/{containers/Storage → components}/EmptyFilter/EmptyFilter.d.ts +0 -0
- /package/dist/{containers/Storage → components}/EmptyFilter/i18n/en.json +0 -0
- /package/dist/{containers/Storage → components}/EmptyFilter/i18n/index.d.ts +0 -0
- /package/dist/{containers/Storage → components}/EmptyFilter/i18n/ru.json +0 -0
@@ -1,31 +1,31 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import React from 'react';
|
3
|
-
import {
|
4
|
-
import { Icon, Popover } from '@gravity-ui/uikit';
|
5
|
-
import { DiagnosticCard } from '../../../../../components/DiagnosticCard/DiagnosticCard';
|
3
|
+
import { Alert, Button, Flex, Icon, Popover, Skeleton } from '@gravity-ui/uikit';
|
6
4
|
import { ResponseError } from '../../../../../components/Errors/ResponseError';
|
7
|
-
import { Loader } from '../../../../../components/Loader';
|
8
5
|
import { useClusterBaseInfo } from '../../../../../store/reducers/cluster/cluster';
|
9
6
|
import { healthcheckApi } from '../../../../../store/reducers/healthcheckInfo/healthcheckInfo';
|
10
7
|
import { SelfCheckResult } from '../../../../../types/api/healthcheck';
|
11
8
|
import { cn } from '../../../../../utils/cn';
|
12
|
-
import { useAutoRefreshInterval
|
9
|
+
import { useAutoRefreshInterval } from '../../../../../utils/hooks';
|
10
|
+
import { HEALTHCHECK_RESULT_TO_ICON, HEALTHCHECK_RESULT_TO_TEXT } from '../../../constants';
|
11
|
+
import { useTenantQueryParams } from '../../../useTenantQueryParams';
|
13
12
|
import i18n from './i18n';
|
14
13
|
import CircleExclamationIcon from '@gravity-ui/icons/svgs/circle-exclamation.svg';
|
15
|
-
import './
|
16
|
-
const b = cn('healthcheck');
|
17
|
-
const
|
18
|
-
[SelfCheckResult.UNSPECIFIED]:
|
19
|
-
[SelfCheckResult.GOOD]:
|
20
|
-
[SelfCheckResult.DEGRADED]:
|
21
|
-
[SelfCheckResult.MAINTENANCE_REQUIRED]:
|
22
|
-
[SelfCheckResult.EMERGENCY]:
|
14
|
+
import './HealthcheckPreview.scss';
|
15
|
+
const b = cn('ydb-healthcheck-preview');
|
16
|
+
const checkResultToAlertTheme = {
|
17
|
+
[SelfCheckResult.UNSPECIFIED]: 'normal',
|
18
|
+
[SelfCheckResult.GOOD]: 'success',
|
19
|
+
[SelfCheckResult.DEGRADED]: 'info',
|
20
|
+
[SelfCheckResult.MAINTENANCE_REQUIRED]: 'warning',
|
21
|
+
[SelfCheckResult.EMERGENCY]: 'danger',
|
23
22
|
};
|
24
23
|
export function HealthcheckPreview(props) {
|
25
|
-
|
24
|
+
var _a;
|
25
|
+
const { tenantName } = props;
|
26
26
|
const [autoRefreshInterval] = useAutoRefreshInterval();
|
27
|
-
const { metricsTab } = useTypedSelector((state) => state.tenant);
|
28
27
|
const { name } = useClusterBaseInfo();
|
28
|
+
const { handleShowHealthcheckChange } = useTenantQueryParams();
|
29
29
|
const healthcheckPreviewDisabled = name === 'ydb_ru';
|
30
30
|
const { currentData: data, isFetching, error, } = healthcheckApi.useGetHealthcheckInfoQuery({ database: tenantName }, {
|
31
31
|
//FIXME https://github.com/ydb-platform/ydb-embedded-ui/issues/1889
|
@@ -34,10 +34,10 @@ export function HealthcheckPreview(props) {
|
|
34
34
|
});
|
35
35
|
const [getHealthcheckQuery, { currentData: manualData, isFetching: isFetchingManually }] = healthcheckApi.useLazyGetHealthcheckInfoQuery();
|
36
36
|
React.useEffect(() => {
|
37
|
-
if (
|
37
|
+
if (healthcheckPreviewDisabled) {
|
38
38
|
getHealthcheckQuery({ database: tenantName });
|
39
39
|
}
|
40
|
-
}, [
|
40
|
+
}, [healthcheckPreviewDisabled, tenantName, getHealthcheckQuery]);
|
41
41
|
React.useEffect(() => {
|
42
42
|
const fetchHealthcheck = () => {
|
43
43
|
if (healthcheckPreviewDisabled) {
|
@@ -50,20 +50,21 @@ export function HealthcheckPreview(props) {
|
|
50
50
|
};
|
51
51
|
}, [tenantName, healthcheckPreviewDisabled, getHealthcheckQuery]);
|
52
52
|
const loading = (isFetching && data === undefined) || (isFetchingManually && manualData === undefined);
|
53
|
-
const
|
54
|
-
|
55
|
-
|
56
|
-
|
53
|
+
const selfCheckResult = (data === null || data === void 0 ? void 0 : data.self_check_result) || (manualData === null || manualData === void 0 ? void 0 : manualData.self_check_result) || SelfCheckResult.UNSPECIFIED;
|
54
|
+
const modifier = selfCheckResult.toLowerCase();
|
55
|
+
if (loading) {
|
56
|
+
return _jsx(Skeleton, { className: b('skeleton') });
|
57
|
+
}
|
58
|
+
const issuesCount = (_a = data === null || data === void 0 ? void 0 : data.issue_log) === null || _a === void 0 ? void 0 : _a.filter((issue) => !issue.reason).length;
|
59
|
+
const issuesText = issuesCount ? i18n('description_problems', { count: issuesCount }) : '';
|
60
|
+
const renderAlertMessage = () => {
|
57
61
|
if (error) {
|
58
|
-
return _jsx(ResponseError, { error: error, defaultMessage: i18n('
|
59
|
-
}
|
60
|
-
if (loading) {
|
61
|
-
return _jsx(Loader, { size: "m" });
|
62
|
+
return _jsx(ResponseError, { error: error, defaultMessage: i18n('description_no-data') });
|
62
63
|
}
|
63
|
-
|
64
|
-
|
65
|
-
|
64
|
+
return (_jsxs(Flex, { gap: 1, alignItems: "center", justifyContent: 'space-between', className: b('alert-message'), children: [_jsxs(Flex, { gap: 1, alignItems: "center", children: [HEALTHCHECK_RESULT_TO_TEXT[selfCheckResult], issuesText ? ` ${issuesText}` : '', healthcheckPreviewDisabled ? (_jsx(Popover, { content: 'Healthcheck is disabled. Please update healthcheck manually.', placement: ['top'], className: b('icon-wrapper'), children: () => _jsx(Icon, { size: 16, data: CircleExclamationIcon }) })) : null] }), issuesCount && (_jsx(Button, { onClick: () => {
|
65
|
+
handleShowHealthcheckChange(true);
|
66
|
+
}, children: i18n('action_review-issues') }))] }));
|
66
67
|
};
|
67
|
-
return (
|
68
|
+
return (_jsx(Alert, { className: b(), theme: checkResultToAlertTheme[selfCheckResult], view: error ? 'outlined' : 'filled', message: renderAlertMessage(), icon: _jsx(Icon, { size: 18, data: HEALTHCHECK_RESULT_TO_ICON[selfCheckResult], className: b('icon', { [modifier]: true }) }) }));
|
68
69
|
}
|
69
70
|
//# sourceMappingURL=HealthcheckPreview.js.map
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"HealthcheckPreview.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"HealthcheckPreview.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
.ydb-healthcheck-preview {
|
2
|
+
$block: &;
|
3
|
+
|
4
|
+
&__icon-wrapper {
|
5
|
+
display: inline-flex;
|
6
|
+
|
7
|
+
color: var(--g-color-text-warning);
|
8
|
+
}
|
9
|
+
|
10
|
+
&__skeleton {
|
11
|
+
width: 100%;
|
12
|
+
height: 60px;
|
13
|
+
}
|
14
|
+
|
15
|
+
&__alert-message {
|
16
|
+
height: 30px;
|
17
|
+
}
|
18
|
+
|
19
|
+
&__icon {
|
20
|
+
display: flex;
|
21
|
+
|
22
|
+
height: 100%;
|
23
|
+
margin: auto;
|
24
|
+
|
25
|
+
&_good {
|
26
|
+
color: var(--g-color-text-positive);
|
27
|
+
}
|
28
|
+
&_degraded {
|
29
|
+
color: var(--g-color-text-info);
|
30
|
+
}
|
31
|
+
&_emergency {
|
32
|
+
color: var(--g-color-text-danger);
|
33
|
+
}
|
34
|
+
&_unspecified {
|
35
|
+
color: var(--g-color-text-misc);
|
36
|
+
}
|
37
|
+
&_maintenance_required {
|
38
|
+
color: var(--g-color-text-warning-heavy);
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|
@@ -1,8 +1,10 @@
|
|
1
1
|
{
|
2
|
-
"
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
2
|
+
"description_problems": [
|
3
|
+
"There is {{count}} issue.",
|
4
|
+
"There are {{count}} issues.",
|
5
|
+
"There are {{count}} issues.",
|
6
|
+
"There are {{count}} issues."
|
7
|
+
],
|
8
|
+
"action_review-issues": "Review issues",
|
9
|
+
"description_no-data": "No healthcheck data"
|
8
10
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
declare const _default: (key: "
|
1
|
+
declare const _default: (key: "description_no-data" | "description_problems" | "action_review-issues", params?: import("@gravity-ui/i18n").Params) => string;
|
2
2
|
export default _default;
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import { registerKeysets } from '../../../../../../utils/i18n';
|
2
2
|
import en from './en.json';
|
3
|
-
import ru from './ru.json';
|
4
3
|
const COMPONENT = 'ydb-diagnostics-healthcheck';
|
5
|
-
export default registerKeysets(COMPONENT, {
|
4
|
+
export default registerKeysets(COMPONENT, { en });
|
6
5
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,MAAM,WAAW,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,6BAA6B,CAAC;AAEhD,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.d.ts
CHANGED
@@ -9,6 +9,8 @@ interface MetricCardProps {
|
|
9
9
|
label?: string;
|
10
10
|
status?: MetricStatus;
|
11
11
|
metrics: DiagnosticsCardMetric[];
|
12
|
+
interactive?: boolean;
|
13
|
+
note?: string;
|
12
14
|
}
|
13
|
-
export declare function MetricCard({ active, label, status, metrics }: MetricCardProps): import("react/jsx-runtime").JSX.Element;
|
15
|
+
export declare function MetricCard({ active, label, status, metrics, interactive, note }: MetricCardProps): import("react/jsx-runtime").JSX.Element;
|
14
16
|
export {};
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
import { Flex, HelpMark } from '@gravity-ui/uikit';
|
2
3
|
import { DiagnosticCard } from '../../../../../../components/DiagnosticCard/DiagnosticCard';
|
3
4
|
import { ProgressViewer } from '../../../../../../components/ProgressViewer/ProgressViewer';
|
4
5
|
import { StatusIcon } from '../../../../../../components/StatusIcon/StatusIcon';
|
@@ -19,12 +20,18 @@ const getStatusIcon = (status) => {
|
|
19
20
|
}
|
20
21
|
return null;
|
21
22
|
};
|
22
|
-
export function MetricCard({ active, label, status, metrics }) {
|
23
|
+
export function MetricCard({ active, label, status, metrics, interactive, note }) {
|
23
24
|
const renderContent = () => {
|
24
25
|
return metrics.map(({ title, ...progressViewerProps }, index) => {
|
25
26
|
return (_jsxs("div", { className: b('metric'), children: [_jsx("div", { className: b('metric-title'), children: title }), _jsx(ProgressViewer, { size: "xs", colorizeProgress: true, ...progressViewerProps })] }, index));
|
26
27
|
});
|
27
28
|
};
|
28
|
-
|
29
|
+
const renderNote = () => {
|
30
|
+
if (!note) {
|
31
|
+
return null;
|
32
|
+
}
|
33
|
+
return (_jsx(HelpMark, { placement: "top", className: b('note'), children: note }));
|
34
|
+
};
|
35
|
+
return (_jsxs(DiagnosticCard, { className: b({ active }), active: active, interactive: interactive, children: [_jsxs("div", { className: b('header'), children: [label && (_jsxs(Flex, { gap: 1, alignItems: "center", className: b('label'), children: [label, renderNote()] })), getStatusIcon(status)] }), _jsx("div", { className: b('content'), children: renderContent() })] }));
|
29
36
|
}
|
30
37
|
//# sourceMappingURL=MetricCard.js.map
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MetricCard.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,4DAA4D,CAAC;AAC1F,OAAO,EAAC,cAAc,EAAC,MAAM,4DAA4D,CAAC;AAE1F,OAAO,EAAC,UAAU,EAAC,MAAM,oDAAoD,CAAC;AAE9E,OAAO,EAAC,KAAK,EAAC,MAAM,mCAAmC,CAAC;AACxD,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAE9C,OAAO,mBAAmB,CAAC;AAE3B,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;AAEjC,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAE,EAAE;IAC5C,IAAI,WAA8B,CAAC;IAEnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtB,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,KAAC,UAAU,IAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,GAAG,GAAG,CAAC;IACrE,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"MetricCard.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAC,cAAc,EAAC,MAAM,4DAA4D,CAAC;AAC1F,OAAO,EAAC,cAAc,EAAC,MAAM,4DAA4D,CAAC;AAE1F,OAAO,EAAC,UAAU,EAAC,MAAM,oDAAoD,CAAC;AAE9E,OAAO,EAAC,KAAK,EAAC,MAAM,mCAAmC,CAAC;AACxD,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAE9C,OAAO,mBAAmB,CAAC;AAE3B,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;AAEjC,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAE,EAAE;IAC5C,IAAI,WAA8B,CAAC;IAEnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtB,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,KAAC,UAAU,IAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,GAAG,GAAG,CAAC;IACrE,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAeF,MAAM,UAAU,UAAU,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAkB;IAC3F,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,GAAG,mBAAmB,EAAC,EAAE,KAAK,EAAE,EAAE;YAC1D,OAAO,CACH,eAAiB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aACnC,cAAK,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,YAAG,KAAK,GAAO,EAChD,KAAC,cAAc,IAAC,IAAI,EAAC,IAAI,EAAC,gBAAgB,EAAE,IAAI,KAAM,mBAAmB,GAAI,KAFvE,KAAK,CAGT,CACT,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,CACH,KAAC,QAAQ,IAAC,SAAS,EAAC,KAAK,EAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACzC,IAAI,GACE,CACd,CAAC;IACN,CAAC,CAAC;IACF,OAAO,CACH,MAAC,cAAc,IAAC,SAAS,EAAE,CAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,aAC5E,eAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aACtB,KAAK,IAAI,CACN,MAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aAClD,KAAK,EACL,UAAU,EAAE,IACV,CACV,EACA,aAAa,CAAC,MAAM,CAAC,IACpB,EACN,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAAG,aAAa,EAAE,GAAO,IACxC,CACpB,CAAC;AACN,CAAC"}
|
@@ -13,7 +13,7 @@ interface MetricsCardsProps {
|
|
13
13
|
memoryStats?: TenantMetricStats[];
|
14
14
|
blobStorageStats?: TenantStorageStats[];
|
15
15
|
tabletStorageStats?: TenantStorageStats[];
|
16
|
-
|
16
|
+
networkStats?: TenantMetricStats[];
|
17
17
|
}
|
18
|
-
export declare function MetricsCards({ poolsCpuStats, memoryStats, blobStorageStats, tabletStorageStats,
|
18
|
+
export declare function MetricsCards({ poolsCpuStats, memoryStats, blobStorageStats, tabletStorageStats, networkStats, }: MetricsCardsProps): import("react/jsx-runtime").JSX.Element;
|
19
19
|
export {};
|
@@ -4,16 +4,17 @@ import { parseQuery } from '../../../../../routes';
|
|
4
4
|
import { TENANT_METRICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
|
5
5
|
import { METRIC_STATUS, MetricStatusToSeverity, } from '../../../../../store/reducers/tenants/contants';
|
6
6
|
import { getMetricStatusFromUsage } from '../../../../../store/reducers/tenants/utils';
|
7
|
+
import { formatBytes } from '../../../../../utils/bytesParsers';
|
7
8
|
import { cn } from '../../../../../utils/cn';
|
9
|
+
import { SHOW_NETWORK_UTILIZATION } from '../../../../../utils/constants';
|
8
10
|
import { formatStorageValues } from '../../../../../utils/dataFormatters/dataFormatters';
|
9
|
-
import { useTypedSelector } from '../../../../../utils/hooks';
|
11
|
+
import { useSetting, useTypedSelector } from '../../../../../utils/hooks';
|
10
12
|
import { TenantTabsGroups, getTenantPath } from '../../../TenantPages';
|
11
|
-
import { HealthcheckPreview } from '../Healthcheck/HealthcheckPreview';
|
12
13
|
import i18n from '../i18n';
|
13
14
|
import { MetricCard } from './MetricCard/MetricCard';
|
14
15
|
import './MetricsCards.scss';
|
15
16
|
const b = cn('metrics-cards');
|
16
|
-
export function MetricsCards({ poolsCpuStats, memoryStats, blobStorageStats, tabletStorageStats,
|
17
|
+
export function MetricsCards({ poolsCpuStats, memoryStats, blobStorageStats, tabletStorageStats, networkStats, }) {
|
17
18
|
const location = useLocation();
|
18
19
|
const { metricsTab } = useTypedSelector((state) => state.tenant);
|
19
20
|
const queryParams = parseQuery(location);
|
@@ -37,12 +38,8 @@ export function MetricsCards({ poolsCpuStats, memoryStats, blobStorageStats, tab
|
|
37
38
|
...queryParams,
|
38
39
|
[TenantTabsGroups.metricsTab]: getTabIfNotActive(TENANT_METRICS_TABS_IDS.memory),
|
39
40
|
}),
|
40
|
-
[TENANT_METRICS_TABS_IDS.healthcheck]: getTenantPath({
|
41
|
-
...queryParams,
|
42
|
-
[TenantTabsGroups.metricsTab]: getTabIfNotActive(TENANT_METRICS_TABS_IDS.healthcheck),
|
43
|
-
}),
|
44
41
|
};
|
45
|
-
return (_jsxs("div", { className: b(), children: [_jsx(Link, { to: tabLinks.cpu, className: b('tab'), children: _jsx(CPUCard, { poolsCpuStats: poolsCpuStats, active: metricsTab === TENANT_METRICS_TABS_IDS.cpu }) }), _jsx(Link, { to: tabLinks.storage, className: b('tab'), children: _jsx(StorageCard, { blobStorageStats: blobStorageStats, tabletStorageStats: tabletStorageStats, active: metricsTab === TENANT_METRICS_TABS_IDS.storage }) }), _jsx(Link, { to: tabLinks.memory, className: b('tab'), children: _jsx(MemoryCard, { memoryStats: memoryStats, active: metricsTab === TENANT_METRICS_TABS_IDS.memory }) }), _jsx(
|
42
|
+
return (_jsxs("div", { className: b(), children: [_jsx(Link, { to: tabLinks.cpu, className: b('tab'), children: _jsx(CPUCard, { poolsCpuStats: poolsCpuStats, active: metricsTab === TENANT_METRICS_TABS_IDS.cpu }) }), _jsx(Link, { to: tabLinks.storage, className: b('tab'), children: _jsx(StorageCard, { blobStorageStats: blobStorageStats, tabletStorageStats: tabletStorageStats, active: metricsTab === TENANT_METRICS_TABS_IDS.storage }) }), _jsx(Link, { to: tabLinks.memory, className: b('tab'), children: _jsx(MemoryCard, { memoryStats: memoryStats, active: metricsTab === TENANT_METRICS_TABS_IDS.memory }) }), _jsx(NetworkCard, { networkStats: networkStats })] }));
|
46
43
|
}
|
47
44
|
function CPUCard({ poolsCpuStats = [], active }) {
|
48
45
|
let status = METRIC_STATUS.Unspecified;
|
@@ -99,4 +96,26 @@ function MemoryCard({ active, memoryStats = [] }) {
|
|
99
96
|
});
|
100
97
|
return (_jsx(MetricCard, { label: i18n('cards.memory-label'), active: active, metrics: metrics, status: status }));
|
101
98
|
}
|
99
|
+
function NetworkCard({ networkStats }) {
|
100
|
+
const [showNetworkUtilization] = useSetting(SHOW_NETWORK_UTILIZATION);
|
101
|
+
if (!showNetworkUtilization || !networkStats) {
|
102
|
+
return null;
|
103
|
+
}
|
104
|
+
let status = METRIC_STATUS.Unspecified;
|
105
|
+
const metrics = networkStats.map((metric) => {
|
106
|
+
const { used, limit, usage } = metric;
|
107
|
+
const metricStatus = getMetricStatusFromUsage(usage);
|
108
|
+
if (MetricStatusToSeverity[metricStatus] > MetricStatusToSeverity[status]) {
|
109
|
+
status = metricStatus;
|
110
|
+
}
|
111
|
+
return {
|
112
|
+
title: formatBytes({ value: limit, withSpeedLabel: true }),
|
113
|
+
value: used,
|
114
|
+
capacity: limit,
|
115
|
+
percents: true,
|
116
|
+
withOverflow: true,
|
117
|
+
};
|
118
|
+
});
|
119
|
+
return (_jsx(MetricCard, { interactive: false, label: i18n('cards.network-label'), note: i18n('cards.network-note'), metrics: metrics, status: status }));
|
120
|
+
}
|
102
121
|
//# sourceMappingURL=MetricsCards.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MetricsCards.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,uBAAuB,EAAC,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EACH,aAAa,EACb,sBAAsB,GACzB,MAAM,gDAAgD,CAAC;AAOxD,OAAO,EAAC,wBAAwB,EAAC,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAC,EAAE,EAAC,MAAM,yBAAyB,CAAC;AAC3C,OAAO,EAAC,
|
1
|
+
{"version":3,"file":"MetricsCards.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.tsx"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
-
import { Flex
|
2
|
+
import { Flex } from '@gravity-ui/uikit';
|
3
3
|
import { EntityStatus } from '../../../../components/EntityStatus/EntityStatus';
|
4
|
+
import { LoaderWrapper } from '../../../../components/LoaderWrapper/LoaderWrapper';
|
4
5
|
import { LogsButton } from '../../../../components/LogsButton/LogsButton';
|
5
6
|
import { MonitoringButton } from '../../../../components/MonitoringButton/MonitoringButton';
|
6
7
|
import { overviewApi } from '../../../../store/reducers/overview/overview';
|
@@ -12,7 +13,7 @@ import { useAutoRefreshInterval, useTypedSelector } from '../../../../utils/hook
|
|
12
13
|
import { useClusterNameFromQuery } from '../../../../utils/hooks/useDatabaseFromQuery';
|
13
14
|
import { mapDatabaseTypeToDBName } from '../../utils/schema';
|
14
15
|
import { DefaultOverviewContent } from './DefaultOverviewContent/DefaultOverviewContent';
|
15
|
-
import {
|
16
|
+
import { HealthcheckPreview } from './Healthcheck/HealthcheckPreview';
|
16
17
|
import { MetricsCards } from './MetricsCards/MetricsCards';
|
17
18
|
import { TenantCpu } from './TenantCpu/TenantCpu';
|
18
19
|
import { TenantMemory } from './TenantMemory/TenantMemory';
|
@@ -51,7 +52,7 @@ export function TenantOverview({ tenantName, additionalTenantProps, additionalNo
|
|
51
52
|
},
|
52
53
|
};
|
53
54
|
// === === ===
|
54
|
-
const { blobStorage, tabletStorage, blobStorageLimit, tabletStorageLimit, poolsStats, memoryStats, blobStorageStats, tabletStorageStats, } = calculateTenantMetrics(tenantData);
|
55
|
+
const { blobStorage, tabletStorage, blobStorageLimit, tabletStorageLimit, poolsStats, memoryStats, networkStats, blobStorageStats, tabletStorageStats, } = calculateTenantMetrics(tenantData);
|
55
56
|
const storageMetrics = {
|
56
57
|
blobStorageUsed: blobStorage,
|
57
58
|
blobStorageLimit,
|
@@ -72,19 +73,13 @@ export function TenantOverview({ tenantName, additionalTenantProps, additionalNo
|
|
72
73
|
case TENANT_METRICS_TABS_IDS.memory: {
|
73
74
|
return (_jsx(TenantMemory, { tenantName: tenantName, memoryUsed: tenantData.MemoryUsed, memoryLimit: tenantData.MemoryLimit, memoryStats: tenantData.MemoryStats }));
|
74
75
|
}
|
75
|
-
case TENANT_METRICS_TABS_IDS.healthcheck: {
|
76
|
-
return _jsx(HealthcheckDetails, { tenantName: tenantName });
|
77
|
-
}
|
78
76
|
default: {
|
79
77
|
return _jsx(DefaultOverviewContent, { database: tenantName });
|
80
78
|
}
|
81
79
|
}
|
82
80
|
};
|
83
|
-
if (tenantLoading) {
|
84
|
-
return (_jsx("div", { className: b('loader'), children: _jsx(Loader, { size: "m" }) }));
|
85
|
-
}
|
86
81
|
const monitoringLink = (_c = additionalTenantProps === null || additionalTenantProps === void 0 ? void 0 : additionalTenantProps.getMonitoringLink) === null || _c === void 0 ? void 0 : _c.call(additionalTenantProps, Name, Type);
|
87
82
|
const logsLink = (_d = additionalTenantProps === null || additionalTenantProps === void 0 ? void 0 : additionalTenantProps.getLogsLink) === null || _d === void 0 ? void 0 : _d.call(additionalTenantProps, Name);
|
88
|
-
return (_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(), _jsxs(Flex, { gap: "2", children: [monitoringLink && _jsx(MonitoringButton, { href: monitoringLink }), logsLink && _jsx(LogsButton, { href: logsLink })] })] }), _jsx(MetricsCards, { poolsCpuStats: poolsStats, memoryStats: memoryStats, blobStorageStats: blobStorageStats, tabletStorageStats: tabletStorageStats,
|
83
|
+
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(), _jsxs(Flex, { gap: "2", children: [monitoringLink && _jsx(MonitoringButton, { href: monitoringLink }), logsLink && _jsx(LogsButton, { href: logsLink })] })] }), _jsxs(Flex, { direction: "column", gap: 3, children: [_jsx(HealthcheckPreview, { tenantName: tenantName }), _jsx(MetricsCards, { poolsCpuStats: poolsStats, memoryStats: memoryStats, blobStorageStats: blobStorageStats, tabletStorageStats: tabletStorageStats, networkStats: networkStats })] })] }), renderTabContent()] }) }));
|
89
84
|
}
|
90
85
|
//# sourceMappingURL=TenantOverview.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TenantOverview.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,
|
1
|
+
{"version":3,"file":"TenantOverview.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,YAAY,EAAC,MAAM,kDAAkD,CAAC;AAC9E,OAAO,EAAC,aAAa,EAAC,MAAM,oDAAoD,CAAC;AACjF,OAAO,EAAC,UAAU,EAAC,MAAM,8CAA8C,CAAC;AACxE,OAAO,EAAC,gBAAgB,EAAC,MAAM,0DAA0D,CAAC;AAC1F,OAAO,EAAC,WAAW,EAAC,MAAM,8CAA8C,CAAC;AACzE,OAAO,EAAC,uBAAuB,EAAC,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAC,SAAS,EAAC,MAAM,0CAA0C,CAAC;AACnE,OAAO,EAAC,sBAAsB,EAAC,MAAM,0CAA0C,CAAC;AAEhF,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAE,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAC,uBAAuB,EAAC,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAC,sBAAsB,EAAC,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAC,kBAAkB,EAAC,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAC,CAAC,EAAC,MAAM,SAAS,CAAC;AAE1B,OAAO,uBAAuB,CAAC;AAQ/B,MAAM,UAAU,cAAc,CAAC,EAC3B,UAAU,EACV,qBAAqB,EACrB,oBAAoB,GACF;;IAClB,MAAM,EAAC,UAAU,EAAC,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,uBAAuB,EAAE,CAAC;IAE9C,MAAM,EAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAC,GAAG,SAAS,CAAC,qBAAqB,CACrE,EAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAC,EAC/B,EAAC,eAAe,EAAE,mBAAmB,EAAC,CACzC,CAAC;IACF,MAAM,aAAa,GAAG,UAAU,IAAI,MAAM,KAAK,SAAS,CAAC;IACzD,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAC,GAAG,MAAM,IAAI,EAAE,CAAC;IAE3C,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACjD,0DAA0D;IAC1D,MAAM,EAAC,WAAW,EAAE,gBAAgB,EAAC,GAAG,WAAW,CAAC,mBAAmB,CACnE;QACI,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,UAAU;KACvB,EACD;QACI,eAAe,EAAE,mBAAmB;KACvC,CACJ,CAAC;IACF,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAClB,CAAA,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,eAAe,0CAAE,iBAAiB,0CAAE,cAAc,KAAI,EAAE,CAAC;IAE/E,MAAM,iBAAiB,GAAG,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACpF,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,MAAM,UAAU,GAAG;QACf,GAAG,MAAM;QACT,OAAO,EAAE;YACL,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO;YAClB,qDAAqD;YACrD,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC;SACrC;KACJ,CAAC;IACF,cAAc;IAEd,MAAM,EACF,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAElB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACrB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAEvC,MAAM,cAAc,GAAG;QACnB,eAAe,EAAE,WAAW;QAC5B,gBAAgB;QAChB,iBAAiB,EAAE,aAAa;QAChC,kBAAkB;KACrB,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,qBAAqB,CAAC,YACpC,KAAC,YAAY,IACT,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,IAAI,IAAI,oBAAoB,EAClC,YAAY,QACZ,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,EACnC,4BAA4B,SAC9B,GACA,CACT,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC1B,QAAQ,UAAU,EAAE,CAAC;YACjB,KAAK,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/B,OAAO,CACH,KAAC,SAAS,IACN,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,GAC5C,CACL,CAAC;YACN,CAAC;YACD,KAAK,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnC,OAAO,KAAC,aAAa,IAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,GAAI,CAAC;YAC9E,CAAC;YACD,KAAK,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClC,OAAO,CACH,KAAC,YAAY,IACT,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,CAAC,UAAU,EACjC,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,WAAW,EAAE,UAAU,CAAC,WAAW,GACrC,CACL,CAAC;YACN,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACN,OAAO,KAAC,sBAAsB,IAAC,QAAQ,EAAE,UAAU,GAAI,CAAC;YAC5D,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,iBAAiB,sEAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,WAAW,sEAAG,IAAI,CAAC,CAAC;IAE5D,OAAO,CACH,KAAC,aAAa,IAAC,OAAO,EAAE,aAAa,YACjC,eAAK,SAAS,EAAE,CAAC,EAAE,aACf,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACrB,cAAK,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,YAAG,UAAU,GAAO,EAClD,MAAC,IAAI,IAAC,UAAU,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,aAChD,UAAU,EAAE,EACb,MAAC,IAAI,IAAC,GAAG,EAAC,GAAG,aACR,cAAc,IAAI,KAAC,gBAAgB,IAAC,IAAI,EAAE,cAAc,GAAI,EAC5D,QAAQ,IAAI,KAAC,UAAU,IAAC,IAAI,EAAE,QAAQ,GAAI,IACxC,IACJ,EACP,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAC3B,KAAC,kBAAkB,IAAC,UAAU,EAAE,UAAU,GAAI,EAC9C,KAAC,YAAY,IACT,aAAa,EAAE,UAAU,EACzB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,GAC5B,IACC,IACL,EACL,gBAAgB,EAAE,IACjB,GACM,CACnB,CAAC;AACN,CAAC"}
|
@@ -6,10 +6,6 @@
|
|
6
6
|
height: 100%;
|
7
7
|
padding-bottom: 20px;
|
8
8
|
|
9
|
-
&__loader {
|
10
|
-
display: flex;
|
11
|
-
justify-content: center;
|
12
|
-
}
|
13
9
|
&__tenant-name-wrapper {
|
14
10
|
display: flex;
|
15
11
|
overflow: hidden;
|
@@ -35,7 +31,7 @@
|
|
35
31
|
position: sticky;
|
36
32
|
left: 0;
|
37
33
|
|
38
|
-
width:
|
34
|
+
width: 100%;
|
39
35
|
}
|
40
36
|
|
41
37
|
&__title {
|
@@ -19,6 +19,8 @@
|
|
19
19
|
"cards.cpu-label": "CPU",
|
20
20
|
"cards.storage-label": "Storage",
|
21
21
|
"cards.memory-label": "Memory",
|
22
|
+
"cards.network-label": "Network",
|
23
|
+
"cards.network-note": "Network usage is the average outgoing bandwidth usage across all nodes in the database",
|
22
24
|
"charts.queries-per-second": "Queries per second",
|
23
25
|
"charts.transaction-latency": "Transactions latencies {{percentile}}",
|
24
26
|
"charts.cpu-usage": "CPU usage by pool",
|
@@ -1,2 +1,2 @@
|
|
1
|
-
declare const _default: (key: "queries" | "nodes" | "tables" | "no-data" | "top" | "groups" | "shards" | "no-pools-data" | "top-nodes.empty-data" | "top-groups.empty-data" | "by-pools-usage" | "by-cpu-time" | "by-cpu-usage" | "by-load" | "by-memory" | "by-usage" | "by-size" | "cards.cpu-label" | "cards.storage-label" | "cards.memory-label" | "charts.queries-per-second" | "charts.transaction-latency" | "charts.cpu-usage" | "charts.storage-usage" | "charts.memory-usage" | "storage.tablet-storage-title" | "storage.tablet-storage-description" | "storage.db-storage-title" | "storage.db-storage-description" | "executed-last-hour" | "column-header.process", params?: import("@gravity-ui/i18n").Params) => string;
|
1
|
+
declare const _default: (key: "queries" | "nodes" | "tables" | "no-data" | "top" | "groups" | "shards" | "no-pools-data" | "top-nodes.empty-data" | "top-groups.empty-data" | "by-pools-usage" | "by-cpu-time" | "by-cpu-usage" | "by-load" | "by-memory" | "by-usage" | "by-size" | "cards.cpu-label" | "cards.storage-label" | "cards.memory-label" | "cards.network-label" | "cards.network-note" | "charts.queries-per-second" | "charts.transaction-latency" | "charts.cpu-usage" | "charts.storage-usage" | "charts.memory-usage" | "storage.tablet-storage-title" | "storage.tablet-storage-description" | "storage.db-storage-title" | "storage.db-storage-description" | "executed-last-hour" | "column-header.process", params?: import("@gravity-ui/i18n").Params) => string;
|
2
2
|
export default _default;
|
@@ -17,6 +17,7 @@ import { QueryDetailsDrawerContent } from './QueryDetails/QueryDetailsDrawerCont
|
|
17
17
|
import { getTopQueriesColumns } from './columns/columns';
|
18
18
|
import { DEFAULT_TOP_QUERIES_COLUMNS, QUERIES_COLUMNS_TITLES, REQUIRED_TOP_QUERIES_COLUMNS, TOP_QUERIES_COLUMNS_WIDTH_LS_KEY, TOP_QUERIES_SELECTED_COLUMNS_LS_KEY, } from './columns/constants';
|
19
19
|
import { DEFAULT_TIME_FILTER_VALUE, TIME_FRAME_OPTIONS } from './constants';
|
20
|
+
import { useScrollToSelected } from './hooks/useScrollToSelected';
|
20
21
|
import { useSetSelectedTopQueryRowFromParams } from './hooks/useSetSelectedTopQueryRowFromParams';
|
21
22
|
import { useTopQueriesSort } from './hooks/useTopQueriesSort';
|
22
23
|
import i18n from './i18n';
|
@@ -30,6 +31,8 @@ export const TopQueriesData = ({ tenantName, timeFrame, renderQueryModeControl,
|
|
30
31
|
// Internal state for selected row
|
31
32
|
// null is reserved for not found state
|
32
33
|
const [selectedRow, setSelectedRow] = React.useState(undefined);
|
34
|
+
// Ref for react-list component to enable scrolling to selected row
|
35
|
+
const reactListRef = React.useRef(null);
|
33
36
|
// Get columns for top queries
|
34
37
|
const columns = React.useMemo(() => {
|
35
38
|
return getTopQueriesColumns();
|
@@ -45,6 +48,13 @@ export const TopQueriesData = ({ tenantName, timeFrame, renderQueryModeControl,
|
|
45
48
|
}, { pollingInterval: autoRefreshInterval });
|
46
49
|
const rows = (_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;
|
47
50
|
useSetSelectedTopQueryRowFromParams(setSelectedRow, rows);
|
51
|
+
// Enhanced table settings with dynamicInnerRef for scrolling
|
52
|
+
const tableSettings = React.useMemo(() => ({
|
53
|
+
...TOP_QUERIES_TABLE_SETTINGS,
|
54
|
+
dynamicInnerRef: reactListRef,
|
55
|
+
}), []);
|
56
|
+
// Use custom hook to handle scrolling to selected row
|
57
|
+
useScrollToSelected({ selectedRow, rows, reactListRef });
|
48
58
|
const handleCloseDetails = React.useCallback(() => {
|
49
59
|
setSelectedRow(undefined);
|
50
60
|
}, [setSelectedRow]);
|
@@ -68,6 +78,6 @@ export const TopQueriesData = ({ tenantName, timeFrame, renderQueryModeControl,
|
|
68
78
|
}
|
69
79
|
}, [isDrawerVisible]);
|
70
80
|
const drawerControls = React.useMemo(() => [{ type: 'copyLink', link: getTopQueryUrl() }, { type: 'close' }], [getTopQueryUrl]);
|
71
|
-
return (_jsx(DrawerWrapper, { isDrawerVisible: isDrawerVisible, onCloseDrawer: handleCloseDetails, renderDrawerContent: renderDrawerContent, drawerId: "query-details", storageKey: "kv-top-queries-drawer-width", detectClickOutside: true, isPercentageWidth: true, title: i18n('query-details.title'), drawerControls: drawerControls, children: _jsxs(TableWithControlsLayout, { children: [_jsxs(TableWithControlsLayout.Controls, { children: [renderQueryModeControl(), _jsx(Select, { options: TIME_FRAME_OPTIONS, value: [timeFrame], onUpdate: handleTimeFrameChange }), _jsx(DateRange, { from: filters.from, to: filters.to, onChange: handleDateRangeChange, defaultValue: DEFAULT_TIME_FILTER_VALUE }), _jsx(Search, { value: filters.text, inputRef: inputRef, onChange: handleTextSearchUpdate, placeholder: i18n('filter.text.placeholder'), className: b('search') }), _jsx(TableColumnSetup, { popupWidth: 200, items: columnsToSelect, showStatus: true, onUpdate: setColumns, sortable: false })] }), error ? _jsx(ResponseError, { error: parseQueryErrorToString(error) }) : null, _jsx(TableWithControlsLayout.Table, { loading: isLoading, children: _jsx(ResizeableDataTable, { emptyDataMessage: i18n('no-data'), columnsWidthLSKey: TOP_QUERIES_COLUMNS_WIDTH_LS_KEY, columns: columnsToShow, data: rows || [], loading: isFetching && currentData === undefined, settings:
|
81
|
+
return (_jsx(DrawerWrapper, { isDrawerVisible: isDrawerVisible, onCloseDrawer: handleCloseDetails, renderDrawerContent: renderDrawerContent, drawerId: "query-details", storageKey: "kv-top-queries-drawer-width", detectClickOutside: true, isPercentageWidth: true, title: i18n('query-details.title'), drawerControls: drawerControls, children: _jsxs(TableWithControlsLayout, { children: [_jsxs(TableWithControlsLayout.Controls, { children: [renderQueryModeControl(), _jsx(Select, { options: TIME_FRAME_OPTIONS, value: [timeFrame], onUpdate: handleTimeFrameChange }), _jsx(DateRange, { from: filters.from, to: filters.to, onChange: handleDateRangeChange, defaultValue: DEFAULT_TIME_FILTER_VALUE }), _jsx(Search, { value: filters.text, inputRef: inputRef, onChange: handleTextSearchUpdate, placeholder: i18n('filter.text.placeholder'), className: b('search') }), _jsx(TableColumnSetup, { popupWidth: 200, items: columnsToSelect, showStatus: true, onUpdate: setColumns, sortable: false })] }), error ? _jsx(ResponseError, { error: parseQueryErrorToString(error) }) : null, _jsx(TableWithControlsLayout.Table, { loading: isLoading, children: _jsx(ResizeableDataTable, { emptyDataMessage: i18n('no-data'), columnsWidthLSKey: TOP_QUERIES_COLUMNS_WIDTH_LS_KEY, columns: columnsToShow, data: rows || [], loading: isFetching && currentData === undefined, settings: tableSettings, onRowClick: onRowClick, rowClassName: (row) => b('row', { active: isEqual(row, selectedRow) }), sortOrder: tableSort, onSort: handleTableSort }) })] }) }));
|
72
82
|
};
|
73
83
|
//# sourceMappingURL=TopQueriesData.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TopQueriesData.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,MAAM,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAG/B,OAAO,EAAC,SAAS,EAAC,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAC,aAAa,EAAC,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAC,mBAAmB,EAAC,MAAM,gEAAgE,CAAC;AACnG,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAC,uBAAuB,EAAC,MAAM,wEAAwE,CAAC;AAC/G,OAAO,EAAC,aAAa,EAAC,MAAM,gEAAgE,CAAC;AAG7F,OAAO,EAAC,EAAE,EAAC,MAAM,sBAAsB,CAAC;AACxC,OAAO,EAAC,sBAAsB,EAAE,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAC,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAC,yBAAyB,EAAC,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AACvD,OAAO,EACH,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAC5B,gCAAgC,EAChC,mCAAmC,GACtC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,yBAAyB,EAAE,kBAAkB,EAAC,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"TopQueriesData.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.tsx"],"names":[],"mappings":"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"}
|
@@ -1,12 +1,11 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
2
|
import DataTable from '@gravity-ui/react-data-table';
|
3
|
+
import { FixedHeightQuery } from '../../../../../components/FixedHeightQuery/FixedHeightQuery';
|
3
4
|
import { YDBSyntaxHighlighter } from '../../../../../components/SyntaxHighlighter/YDBSyntaxHighlighter';
|
4
|
-
import { TruncatedQuery } from '../../../../../components/TruncatedQuery/TruncatedQuery';
|
5
5
|
import { cn } from '../../../../../utils/cn';
|
6
6
|
import { formatDateTime, formatNumber } from '../../../../../utils/dataFormatters/dataFormatters';
|
7
7
|
import { generateHash } from '../../../../../utils/generateHash';
|
8
8
|
import { formatToMs, parseUsToMs } from '../../../../../utils/timeParsers';
|
9
|
-
import { MAX_QUERY_HEIGHT } from '../../../utils/constants';
|
10
9
|
import { QUERIES_COLUMNS_IDS, QUERIES_COLUMNS_TITLES, isSortableRunningQueriesColumn, isSortableTopQueriesColumn, } from './constants';
|
11
10
|
import '../TopQueries.scss';
|
12
11
|
const b = cn('kv-top-queries');
|
@@ -22,7 +21,7 @@ const queryTextColumn = {
|
|
22
21
|
header: QUERIES_COLUMNS_TITLES.QueryText,
|
23
22
|
render: ({ row }) => {
|
24
23
|
var _a;
|
25
|
-
return (_jsx("div", { className: b('query'), children: _jsx(
|
24
|
+
return (_jsx("div", { className: b('query'), children: _jsx(FixedHeightQuery, { value: (_a = row.QueryText) === null || _a === void 0 ? void 0 : _a.toString(), lines: 3, hasClipboardButton: true }) }));
|
26
25
|
},
|
27
26
|
width: 500,
|
28
27
|
};
|