@yugabytedb/perf-advisor-ui 1.0.148 → 1.0.150
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/SecondaryDashboard/AnomalyRouter.d.ts +3 -2
- package/dist/components/SecondaryDashboard/Metadata/AnomalyRCAGraphs.d.ts +3 -3
- package/dist/components/SecondaryDashboard/Metadata/NodeLoadMetadata.d.ts +8 -1
- package/dist/components/SecondaryDashboard/Metadata/QueriesMetadata.d.ts +5 -1
- package/dist/components/SecondaryDashboard/anomalyPrimitives/GroupBySelector.d.ts +12 -0
- package/dist/components/SecondaryDashboard/anomalyPrimitives/NodeAnomalyControls.d.ts +23 -0
- package/dist/components/SecondaryDashboard/anomalyPrimitives/QueriesTable.d.ts +26 -0
- package/dist/components/SecondaryDashboard/anomalyPrimitives/SplitControl.d.ts +16 -0
- package/dist/components/SecondaryDashboard/anomalyPrimitives/SystemLoadPanel.d.ts +28 -0
- package/dist/components/SecondaryDashboard/anomalyViewConfig.d.ts +35 -0
- package/dist/components/SecondaryDashboard/anomalyViews/GraphOnlyView.d.ts +5 -0
- package/dist/components/SecondaryDashboard/anomalyViews/NodeAnomalyView.d.ts +8 -0
- package/dist/components/SecondaryDashboard/anomalyViews/SqlAnomalyView.d.ts +2 -0
- package/dist/components/SecondaryDashboard/anomalyViews/TabletAnomalyView.d.ts +2 -0
- package/dist/components/SecondaryDashboard/anomalyViews/types.d.ts +32 -0
- package/dist/components/hooks/useAnomalyPreselection.d.ts +26 -0
- package/dist/components/styles.d.ts +1 -1
- package/dist/esm/index.js +13842 -13557
- package/dist/esm/index.js.map +1 -1
- package/dist/helpers/constants.d.ts +1 -0
- package/dist/helpers/dtos.d.ts +8 -0
- package/package.json +1 -1
- package/dist/components/SecondaryDashboard/DrilldownView/CpuSaturationDrilldown.d.ts +0 -17
- package/dist/components/SecondaryDashboard/DrilldownView/NodeDrilldown.d.ts +0 -23
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnomalyGroup, AppName, ClusterDetails, GraphRequestParams, PAUrlParams, QueryPageParams, SqlTabs, SplitMode, TabletTabs, UrlParams, Universe } from '../../helpers/dtos';
|
|
1
|
+
import { AnomalyGroup, AppName, ClusterDetails, GraphRequestParams, MetricMeasure, PAUrlParams, QueryPageParams, SqlTabs, SplitMode, TabletTabs, UrlParams, Universe } from '../../helpers/dtos';
|
|
2
2
|
interface AnomalyRouterProps {
|
|
3
3
|
metricMeasure: string;
|
|
4
4
|
appName: AppName;
|
|
@@ -20,11 +20,12 @@ interface AnomalyRouterProps {
|
|
|
20
20
|
tabletTab: TabletTabs;
|
|
21
21
|
getClusterDetails: () => ClusterDetails;
|
|
22
22
|
onOutlierTypeSelected: (outlierType: SplitMode) => void;
|
|
23
|
+
onSplitTypeSelected: (metricMeasure: MetricMeasure) => void;
|
|
23
24
|
onNumNodesChanged: (numNodes: number) => void;
|
|
24
25
|
onEChartsDateSelect: (startDateTime: number, endDateTime: number) => void;
|
|
25
26
|
onSelectedIssue?: (troubleshootUuid: string | null, params?: PAUrlParams) => void;
|
|
26
27
|
onSelectedQuery?: (queryId: string | null, params?: QueryPageParams) => void;
|
|
27
28
|
onNavigateToUrl?: (url: string) => void;
|
|
28
29
|
}
|
|
29
|
-
export declare const AnomalyRouter: ({ metricMeasure, appName, universeQueryStatsData, amomalyGraphRequestParams, showPgssRpcStats, anomalyData, universeDetails, gantChartData, dateTimeRange, urlParams, apiUrl, sqlTab, tabletTab, getClusterDetails, onEChartsDateSelect, onSelectedIssue, onSelectedQuery, onOutlierTypeSelected, onNumNodesChanged, onNavigateToUrl }: AnomalyRouterProps) => JSX.Element;
|
|
30
|
+
export declare const AnomalyRouter: ({ metricMeasure, appName, universeQueryStatsData, amomalyGraphRequestParams, showPgssRpcStats, anomalyData, universeDetails, gantChartData, dateTimeRange, urlParams, apiUrl, sqlTab, tabletTab, getClusterDetails, onEChartsDateSelect, onSelectedIssue, onSelectedQuery, onOutlierTypeSelected, onSplitTypeSelected, onNumNodesChanged, onNavigateToUrl }: AnomalyRouterProps) => JSX.Element | null;
|
|
30
31
|
export {};
|
|
@@ -6,8 +6,8 @@ interface AnomalyRCAGraphsProps {
|
|
|
6
6
|
endTime: string;
|
|
7
7
|
anomalyData: AnomalyGroup;
|
|
8
8
|
apiUrl: string;
|
|
9
|
-
amomalyGraphRequestParams
|
|
10
|
-
formattedMainGraphs
|
|
9
|
+
amomalyGraphRequestParams?: GraphRequestParams[] | null;
|
|
10
|
+
formattedMainGraphs?: {
|
|
11
11
|
name: string;
|
|
12
12
|
index: number;
|
|
13
13
|
groupByControl: boolean;
|
|
@@ -21,5 +21,5 @@ interface AnomalyRCAGraphsProps {
|
|
|
21
21
|
getClusterDetails: () => ClusterDetails;
|
|
22
22
|
onEChartsDateSelect: (startDateTime: number, endDateTime: number) => void;
|
|
23
23
|
}
|
|
24
|
-
export declare const AnomalyRCAGraphs: ({ appName, startTime, endTime, dateTimeRange, metricMeasure, anomalyData, getClusterDetails, apiUrl, amomalyGraphRequestParams, formattedMainGraphs, urlParams, onEChartsDateSelect }: AnomalyRCAGraphsProps) => JSX.Element | null;
|
|
24
|
+
export declare const AnomalyRCAGraphs: ({ appName, startTime, endTime, dateTimeRange, metricMeasure, anomalyData, getClusterDetails, apiUrl, amomalyGraphRequestParams: amomalyGraphRequestParamsProp, formattedMainGraphs: formattedMainGraphsProp, urlParams, onEChartsDateSelect }: AnomalyRCAGraphsProps) => JSX.Element | null;
|
|
25
25
|
export {};
|
|
@@ -2,12 +2,19 @@ import { AppName, QueryPageParams } from '../../../helpers/dtos';
|
|
|
2
2
|
interface NodeLoadMetadataProps {
|
|
3
3
|
appName: AppName;
|
|
4
4
|
dbWaitEventType: string;
|
|
5
|
+
ioWaitEventTypes?: string[];
|
|
5
6
|
universeUuid: string;
|
|
6
7
|
apiUrl: string;
|
|
7
8
|
startTime: string;
|
|
8
9
|
endTime: string;
|
|
10
|
+
nodesFilter?: {
|
|
11
|
+
cluster: string;
|
|
12
|
+
region: string;
|
|
13
|
+
zone: string;
|
|
14
|
+
node: string;
|
|
15
|
+
};
|
|
9
16
|
onSelectedQuery?: (queryId: string | null, params?: QueryPageParams) => void;
|
|
10
17
|
onNavigateToUrl?: (url: string) => void;
|
|
11
18
|
}
|
|
12
|
-
export declare const NodeLoadMetadata: ({ universeUuid, appName, apiUrl, startTime, endTime, dbWaitEventType, onSelectedQuery, onNavigateToUrl }: NodeLoadMetadataProps) => JSX.Element;
|
|
19
|
+
export declare const NodeLoadMetadata: ({ universeUuid, appName, apiUrl, startTime, endTime, dbWaitEventType, ioWaitEventTypes, nodesFilter, onSelectedQuery, onNavigateToUrl }: NodeLoadMetadataProps) => JSX.Element;
|
|
13
20
|
export {};
|
|
@@ -2,6 +2,8 @@ import { AppName, ClusterDetails, QueryPageParams, WaitEventClassification } fro
|
|
|
2
2
|
interface QueriesMetadataProps {
|
|
3
3
|
groupByOperation?: WaitEventClassification;
|
|
4
4
|
dbWaitEventType: string;
|
|
5
|
+
/** ASH classes the "IO" selector value resolves to (defaults to [DiskIO, IO]). */
|
|
6
|
+
ioWaitEventTypes?: string[];
|
|
5
7
|
universeUuid: string;
|
|
6
8
|
name: string;
|
|
7
9
|
apiUrl: string;
|
|
@@ -15,7 +17,9 @@ interface QueriesMetadataProps {
|
|
|
15
17
|
isDbLoadMetadata?: boolean;
|
|
16
18
|
isNodeLoadMetadata?: boolean;
|
|
17
19
|
isTabletLoadMetadata?: boolean;
|
|
20
|
+
/** Render without the component's own outer spacing — e.g. when a parent supplies the card/padding. */
|
|
21
|
+
disableOuterSpacing?: boolean;
|
|
18
22
|
getClusterDetails?: () => ClusterDetails;
|
|
19
23
|
}
|
|
20
|
-
export declare const QueriesMetadata: ({ dbWaitEventType, name, apiUrl, appName, startTime, endTime, universeUuid, withBorder, groupByOperation, isDbLoadMetadata, isNodeLoadMetadata, isTabletLoadMetadata, onSelectedQuery, onSetGroupByOperation, onNavigateToUrl, getClusterDetails: getClusterDetailsProp }: QueriesMetadataProps) => JSX.Element;
|
|
24
|
+
export declare const QueriesMetadata: ({ dbWaitEventType, ioWaitEventTypes, name, apiUrl, appName, startTime, endTime, universeUuid, withBorder, groupByOperation, isDbLoadMetadata, isNodeLoadMetadata, isTabletLoadMetadata, disableOuterSpacing, onSelectedQuery, onSetGroupByOperation, onNavigateToUrl, getClusterDetails: getClusterDetailsProp }: QueriesMetadataProps) => JSX.Element;
|
|
21
25
|
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { WaitEventClassification } from '../../../helpers/dtos';
|
|
2
|
+
interface GroupBySelectorProps {
|
|
3
|
+
value: WaitEventClassification;
|
|
4
|
+
onChange: (grouping: WaitEventClassification) => void;
|
|
5
|
+
dataTestId?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* "Group by: Wait Event Type | Wait Event" selector, mirroring the cluster-system-load control.
|
|
9
|
+
* Reusable across anomaly views that break an ASH series down by wait-event dimension.
|
|
10
|
+
*/
|
|
11
|
+
export declare const GroupBySelector: ({ value, onChange, dataTestId }: GroupBySelectorProps) => JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AnomalyGroup, MetricMeasure, SplitMode, WaitEventClassification } from '../../../helpers/dtos';
|
|
2
|
+
interface NodeAnomalyControlsProps {
|
|
3
|
+
metricMeasure: MetricMeasure;
|
|
4
|
+
onSplitTypeSelected: (metricMeasure: MetricMeasure) => void;
|
|
5
|
+
outlierType: SplitMode;
|
|
6
|
+
numNodes: number;
|
|
7
|
+
onOutlierTypeSelected: (outlierType: SplitMode) => void;
|
|
8
|
+
onNumNodesChanged: (numNodes: number) => void;
|
|
9
|
+
anomalyData?: AnomalyGroup | null;
|
|
10
|
+
dbWaitEventType: string;
|
|
11
|
+
onChangeDbWaitEventType: (waitEventType: string) => void;
|
|
12
|
+
grouping: WaitEventClassification;
|
|
13
|
+
onGroupingChange: (grouping: WaitEventClassification) => void;
|
|
14
|
+
showGroupBy: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Single control row shared by every node-anomaly view, grouped by axis: node-split on the left
|
|
18
|
+
* (Overall/Outlier + Top/Bottom·N), wait-event on the right (group-by + All/CPU/IO). The two
|
|
19
|
+
* always-on controls (the split toggle and the wait-event filter) are pinned to the outer edges and
|
|
20
|
+
* the mode-specific controls expand inward, so nothing shifts when Top/Bottom or group-by hides.
|
|
21
|
+
*/
|
|
22
|
+
export declare const NodeAnomalyControls: ({ metricMeasure, onSplitTypeSelected, outlierType, numNodes, onOutlierTypeSelected, onNumNodesChanged, anomalyData, dbWaitEventType, onChangeDbWaitEventType, grouping, onGroupingChange, showGroupBy }: NodeAnomalyControlsProps) => JSX.Element;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AppName, ClusterDetails, QueryPageParams, WaitEventClassification } from '../../../helpers/dtos';
|
|
2
|
+
export interface QueriesTableProps {
|
|
3
|
+
appName: AppName;
|
|
4
|
+
apiUrl: string;
|
|
5
|
+
universeUuid: string;
|
|
6
|
+
startTime: string | null;
|
|
7
|
+
endTime: string | null;
|
|
8
|
+
/** All/CPU/IO text ('ALL' | 'CPU' | 'IO'), forwarded as the wait-event filter. */
|
|
9
|
+
dbWaitEventType: string;
|
|
10
|
+
/** ASH classes the "IO" selector value resolves to (defaults to [DiskIO, IO]). */
|
|
11
|
+
ioWaitEventTypes?: string[];
|
|
12
|
+
/** Node to scope to; '' = cluster-wide. */
|
|
13
|
+
name: string;
|
|
14
|
+
/** Shared group-by so the table rolls up the same way as the chart above it. */
|
|
15
|
+
groupByOperation?: WaitEventClassification;
|
|
16
|
+
withBorder?: boolean;
|
|
17
|
+
getClusterDetails?: () => ClusterDetails;
|
|
18
|
+
onSelectedQuery?: (queryId: string | null, params?: QueryPageParams) => void;
|
|
19
|
+
onNavigateToUrl?: (url: string) => void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The node "Overall" per-query table: wraps the shared `QueriesMetadata` in the same titled white
|
|
23
|
+
* card the Outlier "Load By Node" table uses, so both split modes look identical. `QueriesMetadata`
|
|
24
|
+
* stays generic (renders flush via `disableOuterSpacing`), so no other caller is affected.
|
|
25
|
+
*/
|
|
26
|
+
export declare const QueriesTable: ({ withBorder, name, dbWaitEventType, onSelectedQuery, ...rest }: QueriesTableProps) => JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AnomalyGroup, MetricMeasure, SplitMode } from '../../../helpers/dtos';
|
|
2
|
+
interface SplitControlProps {
|
|
3
|
+
metricMeasure: MetricMeasure;
|
|
4
|
+
onMetricMeasureChange: (metricMeasure: MetricMeasure) => void;
|
|
5
|
+
outlierType: SplitMode;
|
|
6
|
+
numNodes: number;
|
|
7
|
+
onOutlierTypeSelected: (outlierType: SplitMode) => void;
|
|
8
|
+
onNumNodesChanged: (numNodes: number) => void;
|
|
9
|
+
anomalyData?: AnomalyGroup | null;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Unified Overall/Outlier control for every anomaly view, standardized on `metricMeasure`. In the
|
|
13
|
+
* Outlier view it also exposes the Top/Bottom + node-count selector.
|
|
14
|
+
*/
|
|
15
|
+
export declare const SplitControl: ({ metricMeasure, onMetricMeasureChange, outlierType, numNodes, onOutlierTypeSelected, onNumNodesChanged, anomalyData }: SplitControlProps) => JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AnomalyGroup, AppName, ClusterDetails, WaitEventClassification } from '../../../helpers/dtos';
|
|
2
|
+
export interface SystemLoadPanelProps {
|
|
3
|
+
appName: AppName;
|
|
4
|
+
apiUrl: string;
|
|
5
|
+
universeUuid: string;
|
|
6
|
+
anomalyData: AnomalyGroup | null;
|
|
7
|
+
dateTimeRange: {
|
|
8
|
+
startDateTime: Date;
|
|
9
|
+
endDateTime: Date;
|
|
10
|
+
};
|
|
11
|
+
metricMeasure: string;
|
|
12
|
+
/** All/CPU/IO selector value. */
|
|
13
|
+
dbWaitEventType: string;
|
|
14
|
+
/** ASH classes the "IO" selector value resolves to (defaults to [DiskIO, IO]). */
|
|
15
|
+
ioWaitEventTypes?: string[];
|
|
16
|
+
/** ASH group-by; applied to the load series in the Overall view only. */
|
|
17
|
+
waitEventGrouping: WaitEventClassification;
|
|
18
|
+
/** Optional capacity metric overlaid as a reference line (e.g. `cpu_count` → "Cores"). */
|
|
19
|
+
capacityMetric?: string;
|
|
20
|
+
graphTitle?: string;
|
|
21
|
+
getClusterDetails: () => ClusterDetails;
|
|
22
|
+
onEChartsDateSelect: (start: number, end: number) => void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Shared node-anomaly chart: `active_session_history_system_load` filtered by wait-event type,
|
|
26
|
+
* split by `metricMeasure`, optionally overlaid with a capacity ("Cores") reference line.
|
|
27
|
+
*/
|
|
28
|
+
export declare const SystemLoadPanel: ({ appName, apiUrl, universeUuid, anomalyData, dateTimeRange, metricMeasure, dbWaitEventType, ioWaitEventTypes, waitEventGrouping, capacityMetric, graphTitle, getClusterDetails, onEChartsDateSelect }: SystemLoadPanelProps) => JSX.Element;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AnomalyCategory, AnomalyGroup, AnomalyType, DbWaitEventType, MetricMeasure, NodeType } from '../../helpers/dtos';
|
|
2
|
+
export interface AnomalyViewConfig {
|
|
3
|
+
/** Values pre-selected on initial load. */
|
|
4
|
+
preselect?: {
|
|
5
|
+
/** Pre-select the affected node in the AZ/Node picker. */
|
|
6
|
+
affectedNode?: boolean;
|
|
7
|
+
/** Pre-select the affected region (also scopes the AZ/Node picker to it). */
|
|
8
|
+
affectedRegion?: boolean;
|
|
9
|
+
/** Pre-select a DB wait-event filter (ALL is the "no preselect" case — omit the field). */
|
|
10
|
+
dbWaitEventType?: Exclude<DbWaitEventType, typeof DbWaitEventType.ALL>;
|
|
11
|
+
/** Split the page opens on: OUTLIER (Top/Bottom-N) or OVERALL. */
|
|
12
|
+
split?: MetricMeasure.OVERALL | MetricMeasure.OUTLIER;
|
|
13
|
+
};
|
|
14
|
+
/** GenericHeader (scope selector bar) behavior. */
|
|
15
|
+
header?: {
|
|
16
|
+
/** Render the selector bar. Default false. */
|
|
17
|
+
show?: boolean;
|
|
18
|
+
/** Render the split/outlier selector row. Default true. */
|
|
19
|
+
showSplitSelector?: boolean;
|
|
20
|
+
};
|
|
21
|
+
/** AZ/Node picker filter: TSERVER (default) shows tservers only; `null` shows all node types. */
|
|
22
|
+
nodePickerFilter?: NodeType.TSERVER | null;
|
|
23
|
+
/** ASH classes the "IO" selector resolves to. Omit → [DiskIO, IO]. */
|
|
24
|
+
ioWaitEventTypes?: string[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Per-anomaly view presets (preselect / header / IO scope), nested by category → type. Only list a
|
|
28
|
+
* `type` when it differs from its category `default`; `default` covers unlisted (future) types.
|
|
29
|
+
*/
|
|
30
|
+
export declare const ANOMALY_VIEW_CONFIG: Partial<Record<AnomalyCategory, {
|
|
31
|
+
default?: AnomalyViewConfig;
|
|
32
|
+
types?: Partial<Record<AnomalyType, AnomalyViewConfig>>;
|
|
33
|
+
}>>;
|
|
34
|
+
/** Resolves an anomaly's config: per-type entry → category default → null. */
|
|
35
|
+
export declare const resolveAnomalyViewConfig: (anomaly: AnomalyGroup | null) => AnomalyViewConfig | null;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AnomalyViewProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Shared body for graph-only anomalies (main RCA graphs + Gantt, no per-node/query tables)
|
|
4
|
+
*/
|
|
5
|
+
export declare const GraphOnlyView: ({ metricMeasure, appName, dateTimeRange, universeQueryStatsData, amomalyGraphRequestParams, apiUrl, anomalyData, gantChartData, urlParams, getClusterDetails, onEChartsDateSelect, onSelectedIssue }: AnomalyViewProps) => JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AnomalyViewProps } from './types';
|
|
2
|
+
export interface NodeViewOptions {
|
|
3
|
+
/** Overlay the capacity ("Cores") reference line (CPU saturation only). */
|
|
4
|
+
showCapacityLine?: boolean;
|
|
5
|
+
/** Append the shared "Observed Anomaly" graphs below the table. */
|
|
6
|
+
showObservedGraphs?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const NodeAnomalyView: ({ appName, apiUrl, anomalyData, dateTimeRange, startTime, endTime, metricMeasure, dbWaitEventType, ioWaitEventTypes, urlParams, getClusterDetails, onChangeDbWaitEventType, onSplitTypeSelected, onOutlierTypeSelected, onNumNodesChanged, onEChartsDateSelect, onSelectedQuery, onNavigateToUrl, showCapacityLine, showObservedGraphs }: AnomalyViewProps & NodeViewOptions) => JSX.Element;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { AnomalyViewProps } from './types';
|
|
2
|
+
export declare const SqlAnomalyView: ({ appName, apiUrl, anomalyData, dateTimeRange, metricMeasure, urlParams, universeDetails, universeQueryStatsData, showPgssRpcStats, sqlTab, getClusterDetails, onEChartsDateSelect }: AnomalyViewProps) => JSX.Element;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { AnomalyViewProps } from './types';
|
|
2
|
+
export declare const TabletAnomalyView: ({ appName, apiUrl, anomalyData, dateTimeRange, startTime, endTime, metricMeasure, urlParams, tabletTab, getClusterDetails, onEChartsDateSelect, onSelectedQuery, onNavigateToUrl }: AnomalyViewProps) => JSX.Element | null;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { AnomalyGroup, AppName, ClusterDetails, GraphRequestParams, MetricMeasure, PAUrlParams, QueryPageParams, SplitMode, SqlTabs, TabletTabs, Universe, UrlParams } from '../../../helpers/dtos';
|
|
2
|
+
export interface AnomalyViewProps {
|
|
3
|
+
appName: AppName;
|
|
4
|
+
apiUrl: string;
|
|
5
|
+
anomalyData: AnomalyGroup | null;
|
|
6
|
+
dateTimeRange: {
|
|
7
|
+
startDateTime: Date;
|
|
8
|
+
endDateTime: Date;
|
|
9
|
+
};
|
|
10
|
+
startTime: string;
|
|
11
|
+
endTime: string;
|
|
12
|
+
metricMeasure: string;
|
|
13
|
+
dbWaitEventType: string;
|
|
14
|
+
ioWaitEventTypes: string[];
|
|
15
|
+
urlParams: UrlParams;
|
|
16
|
+
getClusterDetails: () => ClusterDetails;
|
|
17
|
+
onChangeDbWaitEventType: (waitEventType: string) => void;
|
|
18
|
+
onSplitTypeSelected: (metricMeasure: MetricMeasure) => void;
|
|
19
|
+
onOutlierTypeSelected: (outlierType: SplitMode) => void;
|
|
20
|
+
onNumNodesChanged: (numNodes: number) => void;
|
|
21
|
+
onEChartsDateSelect: (startDateTime: number, endDateTime: number) => void;
|
|
22
|
+
onSelectedQuery?: (queryId: string | null, params?: QueryPageParams) => void;
|
|
23
|
+
onNavigateToUrl?: (url: string) => void;
|
|
24
|
+
universeDetails: Universe;
|
|
25
|
+
universeQueryStatsData: any;
|
|
26
|
+
amomalyGraphRequestParams: GraphRequestParams[] | null;
|
|
27
|
+
gantChartData: any;
|
|
28
|
+
sqlTab: SqlTabs;
|
|
29
|
+
tabletTab: TabletTabs;
|
|
30
|
+
showPgssRpcStats?: boolean;
|
|
31
|
+
onSelectedIssue?: (troubleshootUuid: string | null, params?: PAUrlParams) => void;
|
|
32
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Dispatch, SetStateAction } from 'react';
|
|
2
|
+
import { AnomalyViewConfig } from '../SecondaryDashboard/anomalyViewConfig';
|
|
3
|
+
import { ClusterRegionSelection, ZoneNodeSelection } from './useClusterFilterState';
|
|
4
|
+
import { AnomalyGroup, MetricMeasure } from '../../helpers/dtos';
|
|
5
|
+
interface DateTimeRange {
|
|
6
|
+
startDateTime: Date;
|
|
7
|
+
endDateTime: Date;
|
|
8
|
+
}
|
|
9
|
+
export interface UseAnomalyPreselectionParams {
|
|
10
|
+
viewConfig: AnomalyViewConfig | null;
|
|
11
|
+
anomalyGroupData: AnomalyGroup | null;
|
|
12
|
+
universeUuid: string;
|
|
13
|
+
apiUrl: string;
|
|
14
|
+
dateTimeRange: DateTimeRange;
|
|
15
|
+
region: string;
|
|
16
|
+
node: string;
|
|
17
|
+
onClusterRegionSelected: (selection: ClusterRegionSelection) => void;
|
|
18
|
+
onZoneNodeSelected: (selection: ZoneNodeSelection) => void;
|
|
19
|
+
setMetricMeasure: Dispatch<SetStateAction<MetricMeasure>>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Applies all of an anomaly's initial-load pre-selections (affected node, affected region, and the
|
|
23
|
+
* split/measure) to the page-level cluster-filter + metric-measure state.
|
|
24
|
+
*/
|
|
25
|
+
export declare const useAnomalyPreselection: ({ viewConfig, anomalyGroupData, universeUuid, apiUrl, dateTimeRange, region, node, onClusterRegionSelected, onZoneNodeSelected, setMetricMeasure }: UseAnomalyPreselectionParams) => void;
|
|
26
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useHelperStyles: (props?: any) => import('@material-ui/styles').ClassNameMap<"icon" | "tooltip" | "disabled" | "tableHeaderCell" | "label" | "overrideMuiInput" | "selectBox" | "regularText" | "recommendation" | "tagGreen" | "flexRow" | "flexColumn" | "inProgressIcon" | "loadingBox" | "metricsLoadingBox" | "tabGroup" | "tabButton" | "selectedTab" | "tabPanel" | "noTabBorder" | "tabBox" | "metricsBox" | "detectionButton" | "floatRight" | "
|
|
1
|
+
export declare const useHelperStyles: (props?: any) => import('@material-ui/styles').ClassNameMap<"icon" | "tooltip" | "disabled" | "tableHeaderCell" | "label" | "overrideMuiInput" | "selectBox" | "regularText" | "recommendation" | "tagGreen" | "flexRow" | "flexColumn" | "inProgressIcon" | "loadingBox" | "metricsLoadingBox" | "tabGroup" | "tabButton" | "selectedTab" | "tabPanel" | "noTabBorder" | "tabBox" | "metricsBox" | "detectionButton" | "floatRight" | "searchInput" | "headerTitle" | "metaDataMarginBottom" | "regularMetadata" | "boxContainer" | "controlDivider" | "headerMetadataBox" | "causesBox" | "causeTabButton" | "causeTabLabelWrapper" | "causeText" | "descriptionText" | "tag" | "tagName" | "metadataName" | "breadCrumb" | "breadCrumbText" | "ybBreadcrumbWrapper" | "breadcrumbColor" | "breadcrumbDefaultColor" | "anomalyCategoryText" | "dateTimePicker" | "panelItemBody" | "rcaGantChartBox" | "tabPanelPrimary" | "overrideMuiTableContainer" | "overrideMuiTableContainerWeb" | "queryMetadataTable" | "overrideMuiTable" | "tableBorder" | "overrideMuiSelect" | "gridBox" | "gridBoxDouble" | "gridBoxSingle" | "gridBoxThree" | "dataBox" | "queryMetadataBox" | "anomalyTypeTag" | "anomalyTypeText" | "stickyHeader" | "infoIcon" | "filterContainer" | "filterLeftContainer" | "ybOverrideMuiInput" | "ybOverrideMuiSelect" | "ybSearchInput" | "ybSelectBox" | "ybSelectBoxTimezone" | "headerBox" | "headerText" | "noteTextContainer" | "noteText" | "noteTextBold" | "ghantChartContainer" | "secondRow" | "ybTabs" | "mainContainerBorder" | "mainContainer" | "headerContainer" | "loadFilterContainer" | "metadataContainer" | "tabletNodeLoadMetadataTableCell" | "ellipsisText" | "queryLoadMetadataTableCell" | "dividerStyle" | "metricSplitSelectorBox" | "tabsContainer" | "metricSplitSelectorContainer" | "deletedTabletsBox" | "processGraphDataContainer" | "emptyContainer" | "chartsMetricsBanner" | "chartsMetricsBannerContent" | "chartsMetricsBannerTitle" | "chartsMetricsBannerSubtitle" | "systemQueriesCheckbox" | "systemQueriesCheckboxWrap">;
|