@yugabytedb/perf-advisor-ui 1.0.134 → 1.0.136

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +22 -1
  2. package/dist/api.d.ts +96 -0
  3. package/dist/common/ChartCard/ChartCard.d.ts +20 -0
  4. package/dist/common/ChartCard/ChartCard.styles.d.ts +1 -0
  5. package/dist/common/ChartCard/ChartTypeSelector.d.ts +8 -0
  6. package/dist/common/ChartCard/WaitEventTypeSelector.d.ts +8 -0
  7. package/dist/common/ChartCard/buildOptions.d.ts +3 -0
  8. package/dist/common/ChartCard/defaults.d.ts +9 -0
  9. package/dist/common/ChartCard/helpers/anomalyOverlay.d.ts +2 -0
  10. package/dist/common/ChartCard/helpers/axes.d.ts +43 -0
  11. package/dist/common/ChartCard/helpers/index.d.ts +11 -0
  12. package/dist/common/ChartCard/helpers/interactions.d.ts +6 -0
  13. package/dist/common/ChartCard/helpers/legend.d.ts +41 -0
  14. package/dist/common/ChartCard/helpers/series.d.ts +9 -0
  15. package/dist/common/ChartCard/helpers/tooltip.d.ts +27 -0
  16. package/dist/common/ChartCard/index.d.ts +8 -0
  17. package/dist/common/ChartCard/types.d.ts +171 -0
  18. package/dist/common/CopyToClipboardButton/CopyToClipboardButton.d.ts +8 -0
  19. package/dist/common/PAHeader/MetricSplitSelector.d.ts +8 -0
  20. package/dist/common/PAHeader/OutlierSelector.d.ts +13 -0
  21. package/dist/common/PAHeader/QueryTypeSelector.d.ts +8 -0
  22. package/dist/common/PAHeader/YBClusterRegionSelector.d.ts +9 -0
  23. package/dist/common/PAHeader/YBZoneNodeSelector.d.ts +11 -0
  24. package/dist/common/PerfAdvisorCodeBlock/PerfAdvisorCodeBlock.d.ts +23 -0
  25. package/dist/common/YBCheckbox/YBCheckboxField.d.ts +6 -0
  26. package/dist/common/YBCodeBlock/codeBlock.d.ts +1 -0
  27. package/dist/common/YBErrorIndicator/YBErrorIndicator.d.ts +8 -0
  28. package/dist/common/YBInput/YBInputField.d.ts +7 -0
  29. package/dist/common/YBPagination/YBInfinitePagination.d.ts +16 -0
  30. package/dist/common/YBPanelItem/YBPanelItem.d.ts +11 -0
  31. package/dist/common/YBTable/AnomaliesTableFooter.d.ts +4 -0
  32. package/dist/common/YBTable/TableHelper.d.ts +9 -0
  33. package/dist/common/YBToggle/YBToggleField.d.ts +6 -0
  34. package/dist/common/index.d.ts +14 -0
  35. package/dist/components/ConfigureUniverse/ConfigureUniverseMetadata.d.ts +8 -0
  36. package/dist/components/ConfigureUniverse/RemoveUniverseMetadata.d.ts +10 -0
  37. package/dist/components/ConfigureUniverse/UniverseListMetadata.d.ts +14 -0
  38. package/dist/components/GanttChart/GanttChart.d.ts +3 -0
  39. package/dist/components/GanttChart/adapters/anomalyAdapter.d.ts +5 -0
  40. package/dist/components/GanttChart/adapters/backgroundJobsAdapter.d.ts +3 -0
  41. package/dist/components/GanttChart/adapters/qpmAdapter.d.ts +4 -0
  42. package/dist/components/GanttChart/adapters/showMoreAnomalyAdapter.d.ts +3 -0
  43. package/dist/components/GanttChart/adapters/singleLevelAnomalyAdapter.d.ts +3 -0
  44. package/dist/components/GanttChart/components/Bar.d.ts +11 -0
  45. package/dist/components/GanttChart/components/ColumnHeader.d.ts +9 -0
  46. package/dist/components/GanttChart/components/GanttRefetchProgress.d.ts +2 -0
  47. package/dist/components/GanttChart/components/GroupPanel.d.ts +15 -0
  48. package/dist/components/GanttChart/components/GroupRow.d.ts +17 -0
  49. package/dist/components/GanttChart/components/TimeAxis.d.ts +12 -0
  50. package/dist/components/GanttChart/components/TimelinePanel.d.ts +24 -0
  51. package/dist/components/GanttChart/config.d.ts +36 -0
  52. package/dist/components/GanttChart/hooks/useGanttRows.d.ts +9 -0
  53. package/dist/components/GanttChart/hooks/useTimeScale.d.ts +12 -0
  54. package/dist/components/GanttChart/index.d.ts +9 -0
  55. package/dist/components/GanttChart/types.d.ts +111 -0
  56. package/dist/components/GanttChart/utils/mergeIntervals.d.ts +10 -0
  57. package/dist/components/GanttChart/utils/severity.d.ts +19 -0
  58. package/dist/components/GanttChart/utils/timeFormatters.d.ts +12 -0
  59. package/dist/components/GanttChart/utils/truncateLabel.d.ts +16 -0
  60. package/dist/components/Header/BreadCrumbsHeader.d.ts +16 -0
  61. package/dist/components/Header/DateSelectorHeader.d.ts +21 -0
  62. package/dist/components/Header/DbLoadHeader.d.ts +14 -0
  63. package/dist/components/Header/GenericHeader.d.ts +30 -0
  64. package/dist/components/Header/MetadataHeader.d.ts +16 -0
  65. package/dist/components/Header/TimezoneSelector.d.ts +9 -0
  66. package/dist/components/Header/metadata/AnomalyMetadataFields.d.ts +12 -0
  67. package/dist/components/Header/metadata/MetadataField.d.ts +22 -0
  68. package/dist/components/Header/metadata/index.d.ts +4 -0
  69. package/dist/components/Header/metadata/sqlMetadataFields.d.ts +4 -0
  70. package/dist/components/PrimaryDashboard/AshGate.d.ts +7 -0
  71. package/dist/components/PrimaryDashboard/BackgroundJobs.d.ts +15 -0
  72. package/dist/components/PrimaryDashboard/ClusterOverallLoadChart.d.ts +23 -0
  73. package/dist/components/PrimaryDashboard/ColumnSelectorDrawer.d.ts +10 -0
  74. package/dist/components/PrimaryDashboard/DbCPUActivity/CPUByDatabaseChart.d.ts +21 -0
  75. package/dist/components/PrimaryDashboard/DbCPUActivity/CPUByDatabaseMetadata.d.ts +13 -0
  76. package/dist/components/PrimaryDashboard/DbCPUActivity/DbCPUActivityDashboard.d.ts +13 -0
  77. package/dist/components/PrimaryDashboard/DbCPUActivity/DbCPUActivityView.d.ts +13 -0
  78. package/dist/components/PrimaryDashboard/DbLoadMetadata.d.ts +22 -0
  79. package/dist/components/PrimaryDashboard/DbNodeLoadChart.d.ts +22 -0
  80. package/dist/components/PrimaryDashboard/DbStatsTable/databaseStatsColumns.d.ts +51 -0
  81. package/dist/components/PrimaryDashboard/DbStatsTable/useDatabaseStatsTable.d.ts +62 -0
  82. package/dist/components/PrimaryDashboard/DetectedAnomalies.d.ts +19 -0
  83. package/dist/components/PrimaryDashboard/EChartsOptionsGenerator.d.ts +208 -0
  84. package/dist/components/PrimaryDashboard/ExportQueriesModal/BundleColumnsPicker.d.ts +9 -0
  85. package/dist/components/PrimaryDashboard/ExportQueriesModal/BundleDetailsPanel.d.ts +6 -0
  86. package/dist/components/PrimaryDashboard/ExportQueriesModal/ExportFormTab.d.ts +15 -0
  87. package/dist/components/PrimaryDashboard/ExportQueriesModal/RecentExportsTab.d.ts +10 -0
  88. package/dist/components/PrimaryDashboard/ExportQueriesModal/constants.d.ts +12 -0
  89. package/dist/components/PrimaryDashboard/ExportQueriesModal/helpers.d.ts +9 -0
  90. package/dist/components/PrimaryDashboard/ExportQueriesModal/index.d.ts +2 -0
  91. package/dist/components/PrimaryDashboard/ExportQueriesModal/recentExportColumns.d.ts +16 -0
  92. package/dist/components/PrimaryDashboard/ExportQueriesModal/types.d.ts +43 -0
  93. package/dist/components/PrimaryDashboard/HistoricalQueryData.d.ts +25 -0
  94. package/dist/components/PrimaryDashboard/PerfAdvisorBanner.d.ts +8 -0
  95. package/dist/components/PrimaryDashboard/PerfAdvisorEntry.d.ts +14 -0
  96. package/dist/components/PrimaryDashboard/PerfAdvisorTabs.d.ts +30 -0
  97. package/dist/components/PrimaryDashboard/ProcessTopKData.d.ts +11 -0
  98. package/dist/components/PrimaryDashboard/QueryEventsChart.d.ts +7 -0
  99. package/dist/components/PrimaryDashboard/QueryExportDropdown.d.ts +13 -0
  100. package/dist/components/PrimaryDashboard/ShowMoreAnomalies.d.ts +22 -0
  101. package/dist/components/PrimaryDashboard/chartConfigs/clusterLoadConfig.d.ts +8 -0
  102. package/dist/components/PrimaryDashboard/chartConfigs/cpuByDatabaseConfig.d.ts +9 -0
  103. package/dist/components/PrimaryDashboard/chartConfigs/dbNodeLoadConfig.d.ts +9 -0
  104. package/dist/components/PrimaryDashboard/chartConfigs/index.d.ts +7 -0
  105. package/dist/components/PrimaryDashboard/chartConfigs/shared.d.ts +8 -0
  106. package/dist/components/PrimaryDashboard/chartTitles.d.ts +2 -0
  107. package/dist/components/PrimaryDashboard/useChartData.d.ts +29 -0
  108. package/dist/components/RuntimeConfigs/ResetRuntimeConfig.d.ts +14 -0
  109. package/dist/components/RuntimeConfigs/RuntimeConfigs.d.ts +11 -0
  110. package/dist/components/RuntimeConfigs/UpdateRuntimeConfig.d.ts +14 -0
  111. package/dist/components/SecondaryDashboard/AnomalyPossibleCause.d.ts +7 -0
  112. package/dist/components/SecondaryDashboard/AnomalyRouter.d.ts +30 -0
  113. package/dist/components/SecondaryDashboard/DrilldownView/CpuSaturationDrilldown.d.ts +17 -0
  114. package/dist/components/SecondaryDashboard/DrilldownView/HistoricalQueryMetricGraphGrid.d.ts +22 -0
  115. package/dist/components/SecondaryDashboard/DrilldownView/NodeDrilldown.d.ts +23 -0
  116. package/dist/components/SecondaryDashboard/DrilldownView/OtherDrilldown.d.ts +20 -0
  117. package/dist/components/SecondaryDashboard/DrilldownView/QPMExportButton.d.ts +8 -0
  118. package/dist/components/SecondaryDashboard/DrilldownView/QPMPlanSelector.d.ts +9 -0
  119. package/dist/components/SecondaryDashboard/DrilldownView/QueryPlanManagement.d.ts +16 -0
  120. package/dist/components/SecondaryDashboard/DrilldownView/SqlDrilldown.d.ts +20 -0
  121. package/dist/components/SecondaryDashboard/DrilldownView/TabletDrilldown.d.ts +15 -0
  122. package/dist/components/SecondaryDashboard/GraphView.d.ts +39 -0
  123. package/dist/components/SecondaryDashboard/Metadata/AnomalyRCAGraphs.d.ts +25 -0
  124. package/dist/components/SecondaryDashboard/Metadata/NodeLoadMetadata.d.ts +13 -0
  125. package/dist/components/SecondaryDashboard/Metadata/QueriesMetadata.d.ts +20 -0
  126. package/dist/components/SecondaryDashboard/Metadata/QueryLevelTabletMetadata.d.ts +14 -0
  127. package/dist/components/SecondaryDashboard/Metadata/SizeBarChart.d.ts +6 -0
  128. package/dist/components/SecondaryDashboard/Metadata/TabletLevelQueryMetadata.d.ts +14 -0
  129. package/dist/components/SecondaryDashboard/Metadata/TabletMetadata.d.ts +18 -0
  130. package/dist/components/SecondaryDashboard/MetricsAnalysisEntry.d.ts +13 -0
  131. package/dist/components/SecondaryDashboard/MetricsSelectorDrawer.d.ts +17 -0
  132. package/dist/components/SecondaryDashboard/ProcessGraphData.d.ts +21 -0
  133. package/dist/components/SecondaryDashboard/QPMGanttChart.d.ts +14 -0
  134. package/dist/components/SecondaryDashboard/TopKMetricsView.d.ts +21 -0
  135. package/dist/components/hooks/useClusterFilterState.d.ts +27 -0
  136. package/dist/components/hooks/usePrevious.d.ts +1 -0
  137. package/dist/components/index.d.ts +10 -0
  138. package/dist/components/styles.d.ts +1 -0
  139. package/dist/contexts/ExportBundlesContext.d.ts +19 -0
  140. package/dist/esm/index.js +48571 -124378
  141. package/dist/esm/index.js.map +1 -1
  142. package/dist/helpers/anomalyRecommendationRenderer.d.ts +2 -0
  143. package/dist/helpers/columnPreferences.d.ts +11 -0
  144. package/dist/helpers/config.d.ts +2 -0
  145. package/dist/helpers/constants.d.ts +543 -0
  146. package/dist/helpers/dateUtils.d.ts +45 -0
  147. package/dist/helpers/downloadUtils.d.ts +72 -0
  148. package/dist/helpers/dtos.d.ts +862 -0
  149. package/dist/helpers/errorHandlingUtils.d.ts +1 -0
  150. package/dist/helpers/exportBundlesStorage.d.ts +47 -0
  151. package/dist/helpers/objectUtils.d.ts +11 -0
  152. package/dist/helpers/qpmStatus.d.ts +7 -0
  153. package/dist/helpers/utils.d.ts +240 -0
  154. package/dist/index.d.ts +8 -0
  155. package/dist/providers/YBThemeWrapper.d.ts +12 -0
  156. package/dist/theme/mainTheme.d.ts +14 -0
  157. package/dist/theme/variables.d.ts +50 -0
  158. package/package.json +34 -28
  159. package/dist/cjs/index.js +0 -19
  160. package/dist/cjs/index.js.map +0 -1
  161. package/dist/types.d.ts +0 -1870
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+ import { InfiniteQueryObserverResult, FetchNextPageOptions } from 'react-query';
3
+ interface YBInfinitePaginationProps<T> {
4
+ dataPrefetchFn: (options?: FetchNextPageOptions | undefined) => Promise<InfiniteQueryObserverResult<T, unknown>>;
5
+ page: number;
6
+ rowsPerPage?: number;
7
+ rowsPerPageOptions?: number[];
8
+ total: number;
9
+ showRecordsPerPage?: boolean;
10
+ recordsPerPageCaption?: string | React.ReactNode;
11
+ onPageChange: (newPage: number) => void;
12
+ onPageSizeChange: (newSize: string | number) => void;
13
+ hasMoreData?: boolean;
14
+ }
15
+ export declare const YBInfinitePagination: <T>({ dataPrefetchFn, page, onPageChange, onPageSizeChange, hasMoreData, total, rowsPerPageOptions, rowsPerPage, showRecordsPerPage, recordsPerPageCaption }: YBInfinitePaginationProps<T>) => React.ReactElement;
16
+ export {};
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ export interface YBPanelItemProps {
3
+ noBackground?: boolean;
4
+ className?: any;
5
+ bodyClassName?: any;
6
+ children?: any;
7
+ header?: any;
8
+ body: any;
9
+ title?: string;
10
+ }
11
+ export declare const YBPanelItem: ({ noBackground, className, bodyClassName, children, body, header, title }: YBPanelItemProps) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { ReactNode } from 'react';
2
+ import { FetchNextPageOptions, InfiniteQueryObserverResult } from 'react-query';
3
+ export type CustomFooterFunction = (count: number, page: number, rowsPerPage: number, changeRowsPerPage: (newPage: string | number) => void, changePage: (newPage: number) => void) => ReactNode;
4
+ export declare const getCustomFooterComponent: <T>(fetchNextPage: (options?: FetchNextPageOptions) => Promise<InfiniteQueryObserverResult<T, unknown>>, pageSizeCaptionText: string, dataLength: number, hasNextPage?: boolean) => CustomFooterFunction | undefined;
@@ -0,0 +1,9 @@
1
+ import { AppName, QueryPageParams } from '../../components';
2
+ export declare const handleRowClick: ({ rowData, appName, onClose, onSelectedQuery, isDbQueryLoadMetadata, onNavigateToUrl }: {
3
+ rowData: string[];
4
+ appName: AppName;
5
+ onClose: () => void;
6
+ onSelectedQuery?: ((queryId: string, params: QueryPageParams) => void) | undefined;
7
+ isDbQueryLoadMetadata?: boolean | undefined;
8
+ onNavigateToUrl?: ((url: string) => void) | undefined;
9
+ }) => void;
@@ -0,0 +1,6 @@
1
+ import { ReactElement } from 'react';
2
+ import { FieldValues, UseControllerProps } from 'react-hook-form';
3
+ import { YBToggleProps } from '@yugabyte-ui-library/core';
4
+ type YBInputFieldProps<T extends FieldValues> = UseControllerProps<T> & YBToggleProps;
5
+ export declare const YBToggleField: <T extends FieldValues>(props: YBInputFieldProps<T>) => ReactElement;
6
+ export {};
@@ -0,0 +1,14 @@
1
+ export { useCodeBlockStyles } from './YBCodeBlock/codeBlock';
2
+ export { YBErrorIndicator } from './YBErrorIndicator/YBErrorIndicator';
3
+ export { YBInputField } from './YBInput/YBInputField';
4
+ export { YBInfinitePagination } from './YBPagination/YBInfinitePagination';
5
+ export { YBPanelItem } from './YBPanelItem/YBPanelItem';
6
+ export { getCustomFooterComponent } from './YBTable/AnomaliesTableFooter';
7
+ export { YBToggleField } from './YBToggle/YBToggleField';
8
+ export { MetricSplitSelector } from './PAHeader/MetricSplitSelector';
9
+ export { OutlierSelector } from './PAHeader/OutlierSelector';
10
+ export { ZoneNodeSelector } from './PAHeader/YBZoneNodeSelector';
11
+ export { ClusterRegionSelector } from './PAHeader/YBClusterRegionSelector';
12
+ export { YBCheckboxField } from './YBCheckbox/YBCheckboxField';
13
+ export { PerfAdvisorCodeBlock } from './PerfAdvisorCodeBlock/PerfAdvisorCodeBlock';
14
+ export { CopyToClipboardButton } from './CopyToClipboardButton/CopyToClipboardButton';
@@ -0,0 +1,8 @@
1
+ import { AppName } from '../../helpers/dtos';
2
+ interface TroubleshootConfigurationProps {
3
+ apiUrl: string;
4
+ customerUuid: string;
5
+ appName: AppName;
6
+ }
7
+ export declare const ConfigureUniverseMetadata: ({ apiUrl, customerUuid, appName }: TroubleshootConfigurationProps) => JSX.Element;
8
+ export {};
@@ -0,0 +1,10 @@
1
+ import { MetadataFields } from '../../helpers/dtos';
2
+ interface RemoveUniverseMetadataProps {
3
+ data: MetadataFields;
4
+ open: boolean;
5
+ apiUrl: string;
6
+ onClose: () => void;
7
+ onActionPerformed: () => void;
8
+ }
9
+ export declare const RemoveUniverseMetadata: ({ data, open, apiUrl, onClose, onActionPerformed }: RemoveUniverseMetadataProps) => JSX.Element;
10
+ export {};
@@ -0,0 +1,14 @@
1
+ import { MetadataFields } from '../../helpers/dtos';
2
+ export declare enum AppStatus {
3
+ ACTIVE = "Active",
4
+ INACTIVE = "Inactive"
5
+ }
6
+ interface UniverseListMetadataProps {
7
+ metadata: MetadataFields[];
8
+ universeList: any[];
9
+ customerUuid: string;
10
+ apiUrl: string;
11
+ onActionPerformed: () => void;
12
+ }
13
+ export declare const UniverseListMetadata: ({ metadata, apiUrl, customerUuid, universeList, onActionPerformed }: UniverseListMetadataProps) => JSX.Element;
14
+ export {};
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { GanttChartProps } from './types';
3
+ export declare const GanttChart: React.FC<GanttChartProps>;
@@ -0,0 +1,5 @@
1
+ import { GanttAdapterResult } from '../types';
2
+ import { AnomalyResponse } from '../../../helpers/dtos';
3
+ export declare function anomalyAdapter(data: AnomalyResponse | null, colorMap: Record<string, string>, options?: {
4
+ showMore?: boolean;
5
+ }): GanttAdapterResult;
@@ -0,0 +1,3 @@
1
+ import { TransformedBackgroundTasksResponse } from '../../../helpers/dtos';
2
+ import { GanttAdapterResult } from '../types';
3
+ export declare function backgroundJobsAdapter(data: TransformedBackgroundTasksResponse | null | undefined, colorMap: Record<string, string>): GanttAdapterResult;
@@ -0,0 +1,4 @@
1
+ import { ProcessedQueryPlan } from '../../../helpers/utils';
2
+ import { GanttAdapterResult, ColumnConfig } from '../types';
3
+ export declare const QPM_COLUMN_CONFIG: ColumnConfig;
4
+ export declare function qpmAdapter(plans: ProcessedQueryPlan[] | null | undefined): GanttAdapterResult;
@@ -0,0 +1,3 @@
1
+ import { AnomalyGroup } from '../../../helpers/dtos';
2
+ import { GanttAdapterResult } from '../types';
3
+ export declare function showMoreAnomalyAdapter(groups: AnomalyGroup[] | null | undefined, colorMap: Record<string, string>): GanttAdapterResult;
@@ -0,0 +1,3 @@
1
+ import { AnomalyGroup } from '../../../helpers/dtos';
2
+ import { GanttAdapterResult } from '../types';
3
+ export declare function singleLevelAnomalyAdapter(groups: AnomalyGroup[] | null | undefined, colorMap: Record<string, string>): GanttAdapterResult;
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+ interface BarProps {
3
+ x: number;
4
+ width: number;
5
+ y: number;
6
+ height: number;
7
+ color: string;
8
+ onClick?: () => void;
9
+ }
10
+ export declare const Bar: React.NamedExoticComponent<BarProps>;
11
+ export {};
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ import { ColumnConfig } from '../types';
3
+ interface ColumnHeaderProps {
4
+ labelWidth: number;
5
+ columnConfig: ColumnConfig;
6
+ }
7
+ export declare function getColumnHeaderHeight(columnConfig?: ColumnConfig): number;
8
+ export declare const ColumnHeader: React.NamedExoticComponent<ColumnHeaderProps>;
9
+ export {};
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const GanttRefetchProgress: FC;
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ import { GanttRow, LabelConfig, RowLayout, ColumnConfig } from '../types';
3
+ interface GroupPanelProps {
4
+ rows: GanttRow[];
5
+ rowLayouts: RowLayout[];
6
+ expandedSet: Set<string>;
7
+ labelWidth: number;
8
+ labelConfigOverrides?: Record<number, Partial<LabelConfig>>;
9
+ columnConfig?: ColumnConfig;
10
+ onToggle: (rowId: string) => void;
11
+ onRowClick?: (row: GanttRow) => void;
12
+ onScroll: (e: React.UIEvent<HTMLDivElement>) => void;
13
+ }
14
+ export declare const GroupPanel: React.ForwardRefExoticComponent<GroupPanelProps & React.RefAttributes<HTMLDivElement>>;
15
+ export {};
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+ import { GanttRow, LabelConfig, RowLayout, ColumnDef } from '../types';
3
+ interface GroupRowProps {
4
+ row: GanttRow;
5
+ expanded: boolean;
6
+ layout: RowLayout;
7
+ labelConfig: LabelConfig;
8
+ onToggle: (rowId: string) => void;
9
+ onClick?: (row: GanttRow) => void;
10
+ showTopSeparator: boolean;
11
+ isFirstRow: boolean;
12
+ isLastRow: boolean;
13
+ columnDefs?: ColumnDef[];
14
+ columnGap?: number;
15
+ }
16
+ export declare const GroupRow: React.NamedExoticComponent<GroupRowProps>;
17
+ export {};
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+ import { Tick } from '../hooks/useTimeScale';
3
+ interface TimeAxisProps {
4
+ ticks: Tick[];
5
+ timezone: string;
6
+ intervalMs: number;
7
+ rowsHeight: number;
8
+ width: number;
9
+ }
10
+ declare const AXIS_HEIGHT: number;
11
+ export declare const TimeAxis: React.NamedExoticComponent<TimeAxisProps>;
12
+ export { AXIS_HEIGHT };
@@ -0,0 +1,24 @@
1
+ import { default as React } from 'react';
2
+ import { Tick } from '../hooks/useTimeScale';
3
+ import { GanttItem, GanttRow, RowLayout } from '../types';
4
+ interface TimelinePanelProps {
5
+ rows: GanttRow[];
6
+ rowLayouts: RowLayout[];
7
+ items: GanttItem[];
8
+ ticks: Tick[];
9
+ intervalMs: number;
10
+ timeToX: (date: Date) => number;
11
+ xToTime: (x: number) => Date;
12
+ barHeight: number;
13
+ timezone: string;
14
+ width: number;
15
+ headerHeight?: number;
16
+ showCrosshair?: boolean;
17
+ onBarClick?: (row: GanttRow, item: GanttItem) => void;
18
+ onToggle?: (rowId: string) => void;
19
+ onScroll: (e: React.UIEvent<HTMLDivElement>) => void;
20
+ enableDragZoom?: boolean;
21
+ onTimeRangeSelect?: (start: number, end: number) => void;
22
+ }
23
+ export declare const TimelinePanel: React.ForwardRefExoticComponent<TimelinePanelProps & React.RefAttributes<HTMLDivElement>>;
24
+ export {};
@@ -0,0 +1,36 @@
1
+ import { RowConfig, LabelConfig, RowLayout, GanttRow, ColumnConfig } from './types';
2
+ export declare const LABEL_PRESETS: {
3
+ level3SansSerif: {
4
+ 3: {
5
+ fontSize: number;
6
+ fontWeight: number;
7
+ lineHeight: string;
8
+ letterSpacing: number;
9
+ fontFamily: string;
10
+ };
11
+ };
12
+ level1Monospace: {
13
+ 1: {
14
+ fontSize: number;
15
+ fontWeight: number;
16
+ fontFamily: string;
17
+ letterSpacing: number;
18
+ };
19
+ };
20
+ qpmMonospace: {
21
+ 1: {
22
+ width: number;
23
+ fontSize: number;
24
+ fontWeight: number;
25
+ fontFamily: string;
26
+ letterSpacing: number;
27
+ color: string;
28
+ };
29
+ };
30
+ };
31
+ export declare const DEFAULT_BAR_HEIGHT = 8;
32
+ export declare const DEFAULT_TIMEZONE: string;
33
+ export declare function getRowConfig(level: number, overrides?: Record<number, Partial<RowConfig>>): RowConfig;
34
+ export declare function getLabelConfig(level: number, overrides?: Record<number, Partial<LabelConfig>>): LabelConfig;
35
+ export declare function getColumnsWidth(columnConfig?: ColumnConfig): number;
36
+ export declare function computeRowLayouts(rows: GanttRow[], overrides?: Record<number, Partial<RowConfig>>): RowLayout[];
@@ -0,0 +1,9 @@
1
+ import { GanttItem, GanttRow } from '../types';
2
+ interface UseGanttRowsResult {
3
+ visibleRows: GanttRow[];
4
+ visibleItems: GanttItem[];
5
+ expandedSet: Set<string>;
6
+ toggleExpand: (rowId: string) => void;
7
+ }
8
+ export declare function useGanttRows(rows: GanttRow[], items: GanttItem[], expandAll?: boolean): UseGanttRowsResult;
9
+ export {};
@@ -0,0 +1,12 @@
1
+ export interface Tick {
2
+ date: Date;
3
+ x: number;
4
+ }
5
+ interface TimeScaleResult {
6
+ timeToX: (date: Date) => number;
7
+ xToTime: (x: number) => Date;
8
+ ticks: Tick[];
9
+ intervalMs: number;
10
+ }
11
+ export declare function useTimeScale(startTime: Date, endTime: Date, width: number): TimeScaleResult;
12
+ export {};
@@ -0,0 +1,9 @@
1
+ export { GanttChart } from './GanttChart';
2
+ export { GanttRefetchProgress } from './components/GanttRefetchProgress';
3
+ export type { GanttRow, GanttItem, GanttConfig, GanttChartProps, GanttRowBadge, GanttAdapterResult, RowConfig, LabelConfig, ColumnDef, HeaderGroup, ColumnConfig } from './types';
4
+ export { LABEL_PRESETS } from './config';
5
+ export { anomalyAdapter } from './adapters/anomalyAdapter';
6
+ export { showMoreAnomalyAdapter } from './adapters/showMoreAnomalyAdapter';
7
+ export { singleLevelAnomalyAdapter } from './adapters/singleLevelAnomalyAdapter';
8
+ export { backgroundJobsAdapter } from './adapters/backgroundJobsAdapter';
9
+ export { qpmAdapter, QPM_COLUMN_CONFIG } from './adapters/qpmAdapter';
@@ -0,0 +1,111 @@
1
+ import { default as React } from 'react';
2
+ export interface GanttRowBadge {
3
+ text: string;
4
+ variant: string;
5
+ }
6
+ export interface TooltipContent {
7
+ header: string;
8
+ body: string;
9
+ }
10
+ export interface GanttRowPrefix {
11
+ text: string;
12
+ borderColor: string;
13
+ textColor: string;
14
+ tooltip?: TooltipContent;
15
+ }
16
+ export interface StatusDotConfig {
17
+ color: string;
18
+ tooltip?: TooltipContent;
19
+ }
20
+ export interface GanttRow {
21
+ id: string;
22
+ label: string;
23
+ level: number;
24
+ parentId?: string;
25
+ category?: string;
26
+ expandable: boolean;
27
+ displayLabel?: string;
28
+ badge?: GanttRowBadge;
29
+ prefix?: GanttRowPrefix;
30
+ usePrefixLayout?: boolean;
31
+ statusDot?: StatusDotConfig;
32
+ defaultExpanded?: boolean;
33
+ collapsible?: boolean;
34
+ copyable?: boolean;
35
+ metadata?: Record<string, unknown>;
36
+ columns?: Record<string, React.ReactNode>;
37
+ columnTooltips?: Record<string, string>;
38
+ }
39
+ export interface GanttItem {
40
+ id: string;
41
+ rowId: string;
42
+ start: Date;
43
+ end: Date;
44
+ color?: string;
45
+ }
46
+ export interface RowConfig {
47
+ height: number;
48
+ indent: number;
49
+ gap: number;
50
+ sectionGap: number;
51
+ }
52
+ export interface LabelConfig {
53
+ width: number;
54
+ fontSize: number;
55
+ fontWeight: number;
56
+ fontFamily?: string;
57
+ lineHeight?: string;
58
+ letterSpacing?: number;
59
+ color?: string;
60
+ }
61
+ export interface RowLayout {
62
+ height: number;
63
+ marginBottom: number;
64
+ yOffset: number;
65
+ indent: number;
66
+ gap: number;
67
+ }
68
+ export interface ColumnDef {
69
+ id: string;
70
+ header: string;
71
+ width: number;
72
+ align?: 'left' | 'center' | 'right';
73
+ }
74
+ export interface HeaderGroup {
75
+ id: string;
76
+ label: string;
77
+ columnIds: string[];
78
+ }
79
+ export interface ColumnConfig {
80
+ columns: ColumnDef[];
81
+ headerGroups?: HeaderGroup[];
82
+ labelHeader?: string;
83
+ columnGap?: number;
84
+ }
85
+ export interface GanttConfig {
86
+ startTime: Date;
87
+ endTime: Date;
88
+ timezone?: string;
89
+ barHeight?: number;
90
+ rowConfig?: Record<number, Partial<RowConfig>>;
91
+ labelConfig?: Record<number, Partial<LabelConfig>>;
92
+ colors?: Record<string, string>;
93
+ columnConfig?: ColumnConfig;
94
+ }
95
+ export interface GanttChartProps {
96
+ rows: GanttRow[];
97
+ items: GanttItem[];
98
+ config: GanttConfig;
99
+ loading?: boolean;
100
+ expandAll?: boolean;
101
+ showCrosshair?: boolean;
102
+ onRowClick?: (row: GanttRow, item?: GanttItem) => void;
103
+ onToggleExpand?: (rowId: string) => void;
104
+ enableDragZoom?: boolean;
105
+ onTimeRangeSelect?: (start: number, end: number) => void;
106
+ className?: string;
107
+ }
108
+ export interface GanttAdapterResult {
109
+ rows: GanttRow[];
110
+ items: GanttItem[];
111
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Merges a list of potentially overlapping time intervals into the smallest
3
+ * set of non-overlapping intervals. Used to consolidate child anomaly spans
4
+ * into a single merged bar for parent rows.
5
+ */
6
+ export interface TimeInterval {
7
+ startTime: string;
8
+ endTime: string;
9
+ }
10
+ export declare function mergeIntervals(intervals: TimeInterval[]): TimeInterval[];
@@ -0,0 +1,19 @@
1
+ import { TooltipContent } from '../types';
2
+ export declare enum Severity {
3
+ CRITICAL = "CRITICAL",
4
+ WARNING = "WARNING",
5
+ LOW = "LOW",
6
+ NONE = "NONE"
7
+ }
8
+ export declare const SEVERITY_CONFIG: Record<Severity, {
9
+ borderColor: string;
10
+ textColor: string;
11
+ minPercent: number;
12
+ }>;
13
+ export declare function getSeverityFromPercent(percent: number): Severity;
14
+ export declare function getSeverityBorderColor(severity: Severity): string;
15
+ export declare function getSeverityTextColor(severity: Severity): string;
16
+ export declare function shouldShowStatusDot(severity: Severity): boolean;
17
+ export declare function getHighestSeverity(severities: Severity[]): Severity;
18
+ export declare function getStatusDotTooltip(severity: Severity): TooltipContent | undefined;
19
+ export declare function getPrefixTooltip(loadPercent: number): TooltipContent;
@@ -0,0 +1,12 @@
1
+ import { Tick } from '../hooks/useTimeScale';
2
+ export interface MonthBoundary {
3
+ label: string;
4
+ x: number;
5
+ }
6
+ /**
7
+ * Scans ticks and returns a label + x position for each month boundary,
8
+ * i.e. wherever the month changes between consecutive ticks.
9
+ */
10
+ export declare function getMonthBoundaries(ticks: Tick[], timezone: string): MonthBoundary[];
11
+ export declare function formatTickLabel(date: Date, timezone: string, intervalMs: number): string;
12
+ export declare function formatCrosshairLabel(date: Date, timezone: string): string;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Label truncation utility — shortens long row labels to fit the GroupPanel.
3
+ * Node/app categories truncate from the start (keeping the unique suffix),
4
+ * while other categories truncate from the end.
5
+ */
6
+ /**
7
+ * Truncates a label based on category: node/app-based categories truncate from
8
+ * the start (keeping the unique suffix), others truncate from the end.
9
+ */
10
+ interface TruncateLabelProps {
11
+ label: string;
12
+ maxChars?: number;
13
+ category?: string;
14
+ }
15
+ export declare function truncateLabel({ label, maxChars, category }: TruncateLabelProps): string;
16
+ export {};
@@ -0,0 +1,16 @@
1
+ import { AnomalyGroup, AppName, PAUrlParams, QueryPageParams } from '../../helpers/dtos';
2
+ interface BreadCrumbsHeaderProps {
3
+ appName: AppName;
4
+ isDrilldownView?: boolean;
5
+ queryObject?: any;
6
+ isHistoricalQueryView: boolean;
7
+ showStandaloneAnomalies: boolean;
8
+ anomalyData: AnomalyGroup | null;
9
+ showDetails: boolean;
10
+ onSelectedQuery?: (queryId: string | null, params?: QueryPageParams) => void;
11
+ onSelectedIssue?: (troubleshootUuid: string | null, params?: PAUrlParams) => void;
12
+ onShowDetails: (hasClicked: boolean) => void;
13
+ onNavigateToUrl?: (url: string) => void;
14
+ }
15
+ export declare const BreadCrumbsHeader: ({ appName, anomalyData, showDetails, isDrilldownView, isHistoricalQueryView, showStandaloneAnomalies, queryObject, onSelectedQuery, onSelectedIssue, onShowDetails, onNavigateToUrl }: BreadCrumbsHeaderProps) => JSX.Element;
16
+ export {};
@@ -0,0 +1,21 @@
1
+ import { AppName, InsightsTabs, ClusterLoadSubTabs } from '../../helpers/dtos';
2
+ export declare const MAX_LOOKBACK_DAYS = 15;
3
+ interface DateSelectorHeaderProps {
4
+ appName: AppName;
5
+ filterDuration: string;
6
+ startDateTime: Date;
7
+ endDateTime: Date;
8
+ isDrilldownView?: boolean;
9
+ isTopKMetricsView?: boolean;
10
+ metricMeasure: string;
11
+ currentTab?: InsightsTabs;
12
+ showStandaloneAnomalies?: boolean;
13
+ clusterLoadSubTab?: ClusterLoadSubTabs | null;
14
+ onSelectedFilterDuration: (selectedOption: string) => void;
15
+ onStartDateChange: (startDate: Date | string | null) => void;
16
+ onEndDateChange: (endDate: Date | string | null) => void;
17
+ onRefresh: () => void;
18
+ onTimezoneChange?: (timezone: string) => void;
19
+ }
20
+ export declare const DateSelectorHeader: ({ appName, filterDuration, startDateTime, endDateTime, isDrilldownView, isTopKMetricsView, showStandaloneAnomalies, onSelectedFilterDuration, metricMeasure, currentTab, clusterLoadSubTab, onStartDateChange, onEndDateChange, onRefresh, onTimezoneChange }: DateSelectorHeaderProps) => JSX.Element;
21
+ export {};
@@ -0,0 +1,14 @@
1
+ import { SplitMode } from '../../helpers/dtos';
2
+ interface DbLoadHeaderProps {
3
+ outlierType: SplitMode;
4
+ numNodes: number;
5
+ waitEventType: string;
6
+ isDbClusterLoadView?: boolean;
7
+ showOutlierSelector?: boolean;
8
+ showWaitEventTypeSelector?: boolean;
9
+ onChangeDbWaitEventType: (waitEventType: string) => void;
10
+ onOutlierTypeSelected: (selectedOption: SplitMode) => void;
11
+ onNumNodesChanged: (numNodes: number) => void;
12
+ }
13
+ export declare const DbLoadHeader: ({ outlierType, numNodes, waitEventType, isDbClusterLoadView, showOutlierSelector, showWaitEventTypeSelector, onChangeDbWaitEventType, onOutlierTypeSelected, onNumNodesChanged }: DbLoadHeaderProps) => JSX.Element | null;
14
+ export {};
@@ -0,0 +1,30 @@
1
+ import { AnomalyGroup, AppName, MetricMeasure, QueryTypeMode, SplitMode } from '../../helpers/dtos';
2
+ import { ClusterRegionSelection, ZoneNodeSelection } from '../hooks/useClusterFilterState';
3
+ interface GenericHeaderProps {
4
+ appName: AppName;
5
+ startDateTime: Date;
6
+ endDateTime: Date;
7
+ apiUrl: string;
8
+ universeUuid: string;
9
+ clusterRegionItem: string;
10
+ zoneNodeItem: string;
11
+ isPrimaryCluster: boolean;
12
+ cluster: string;
13
+ region: string;
14
+ queryType?: QueryTypeMode;
15
+ metricMeasure: string;
16
+ outlierType: SplitMode;
17
+ numNodes: number;
18
+ isDrilldownView?: boolean;
19
+ showMetricAggregator?: boolean;
20
+ showSplitSelector?: boolean;
21
+ onZoneNodeSelected: (selection: ZoneNodeSelection) => void;
22
+ onClusterRegionSelected: (selection: ClusterRegionSelection) => void;
23
+ anomalyData: AnomalyGroup | null;
24
+ onOutlierTypeSelected: (selectedOption: SplitMode) => void;
25
+ onSplitTypeSelected: (selectedOption: MetricMeasure) => void;
26
+ onNumNodesChanged: (numNodes: number) => void;
27
+ onQueryTypeSelected?: (selectedOption: QueryTypeMode) => void;
28
+ }
29
+ export declare const GenericHeader: ({ appName, startDateTime, endDateTime, apiUrl, universeUuid, anomalyData, clusterRegionItem, zoneNodeItem, isPrimaryCluster, cluster, region, metricMeasure, outlierType, numNodes, isDrilldownView, onZoneNodeSelected, onClusterRegionSelected, onOutlierTypeSelected, onSplitTypeSelected, onQueryTypeSelected, onNumNodesChanged, showMetricAggregator, showSplitSelector }: GenericHeaderProps) => JSX.Element;
30
+ export {};
@@ -0,0 +1,16 @@
1
+ import { AnomalyGroup } from '../../helpers/dtos';
2
+ interface MetadataHeaderProps {
3
+ isDrilldownView?: boolean;
4
+ isHistoricalQueryView: boolean;
5
+ queryObject?: any;
6
+ universeQueryStatsData?: any;
7
+ anomalyData: AnomalyGroup | null;
8
+ showDetails: boolean;
9
+ startDateTime: Date;
10
+ endDateTime: Date;
11
+ apiUrl: string;
12
+ universeUuid: string;
13
+ onShowDetails: (hasClicked: boolean) => void;
14
+ }
15
+ export declare const MetadataHeader: ({ anomalyData, isHistoricalQueryView, isDrilldownView, queryObject, showDetails, startDateTime, endDateTime, apiUrl, universeUuid, universeQueryStatsData, onShowDetails }: MetadataHeaderProps) => JSX.Element;
16
+ export {};
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ interface TimezoneSelectorProps {
3
+ value: string;
4
+ onChange: (timezone: string) => void;
5
+ dataTestId?: string;
6
+ className?: string;
7
+ }
8
+ export declare const TimezoneSelector: ({ value, onChange, dataTestId, className }: TimezoneSelectorProps) => JSX.Element;
9
+ export {};
@@ -0,0 +1,12 @@
1
+ import { AnomalyGroup, QueryPlanData } from '../../../helpers/dtos';
2
+ interface AnomalyMetadataFieldsProps {
3
+ anomalyData: AnomalyGroup;
4
+ anomalyCategory: string | undefined;
5
+ isAnomalyTabletType: boolean;
6
+ universeQueryStatsData?: QueryPlanData[];
7
+ regionName: string;
8
+ zoneName: string;
9
+ }
10
+ /** Assembles the anomaly (non-historical) metadata columns for a given category. */
11
+ export declare const AnomalyMetadataFields: (props: AnomalyMetadataFieldsProps) => JSX.Element;
12
+ export {};
@@ -0,0 +1,22 @@
1
+ import { ReactNode } from 'react';
2
+ export interface MetadataFieldConfig {
3
+ key: string;
4
+ label: ReactNode;
5
+ value?: ReactNode;
6
+ /** Full value shown in a tooltip on hover (used when the value is truncated). */
7
+ tooltip?: string;
8
+ /**
9
+ * regular -> regularMetadata span (anomaly drilldown columns)
10
+ * tag -> anomalyTypeTag/anomalyTypeText chip (the ANOMALY column)
11
+ * plain -> bare value, no metadata class (historical query columns)
12
+ */
13
+ valueVariant?: 'regular' | 'tag' | 'plain';
14
+ /** When defined, render a copy icon that copies this text. */
15
+ copyText?: string;
16
+ copyAltText?: string;
17
+ /** Layout overrides used by the historical query columns. */
18
+ flex?: number;
19
+ alignItems?: 'flex-start';
20
+ }
21
+ /** A single labeled metadata column (label on top, value below). */
22
+ export declare const MetadataField: ({ label, value, tooltip, valueVariant, copyText, copyAltText, flex, alignItems }: Omit<MetadataFieldConfig, 'key'>) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ export { MetadataField } from './MetadataField';
2
+ export type { MetadataFieldConfig } from './MetadataField';
3
+ export { buildSqlMetadataFields } from './sqlMetadataFields';
4
+ export { AnomalyMetadataFields } from './AnomalyMetadataFields';