@yugabytedb/perf-advisor-ui 1.0.164 → 1.0.166

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/README.md CHANGED
@@ -58,14 +58,13 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
58
58
 
59
59
  # Build and Publish UI
60
60
 
61
- ### `npm run changelog`
62
-
63
- 1. Updates version in package.json
64
- 2. Generates a section for adding notes in CHANGELOG file for latest version
61
+ Bump `version` in `package.json` by hand and append a section to the end of `CHANGELOG.md`
62
+ — it is ordered oldest-first. There is no changelog generator; commit titles here are
63
+ `[PLAT-nnnnn] ...` rather than conventional commits, so nothing can derive the entries.
65
64
 
66
65
  ### `npm run release`
67
66
 
68
- 1. Builds the app for production to the `dist` folder.\
69
- a. It correctly bundles React in production mode and optimizes the build for the best performance.
70
- b. The build is minified and the filenames include the hashes.\
71
- 2. Publishes the version to NPM registry using Yugabyte credentials.
67
+ 1. Runs `npm ci`, then publishes to the NPM registry using Yugabyte credentials.
68
+ 2. Publishing is gated by the `prepublishOnly` hook, which runs `typecheck`, `lint` and the
69
+ production build first, so a broken tree cannot be published. The same gate applies to a
70
+ bare `npm publish`.
package/dist/api.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';
2
- import { Anomaly, AnomalyDetectionStatus, AnomalyGroup, BackgroundTasksResponse, ClusterLoadResponseData, MetadataFields, GraphRequestParams, QueryPlanData, QueryStatsPagedBody, ClusterDetails, IndexPagedResponse, MaterializedViewPagedResponse, HaState, HaGroupRequest, HaPromoteRequest, RuntimeConfigData, TablePagedResponse } from './helpers/dtos';
2
+ import { Anomaly, AnomalyDetectionStatus, AnomalyGroup, BackgroundTasksResponse, ClusterLoadResponseData, ExportConfigData, MetadataFields, GraphRequestParams, QueryPlanData, QueryStatsPagedBody, ClusterDetails, IndexPagedResponse, MaterializedViewPagedResponse, HaState, HaGroupRequest, HaPromoteRequest, RuntimeConfigData, TablePagedResponse } from './helpers/dtos';
3
3
  export declare enum QUERY_KEY {
4
4
  fetchAnomalies = "fetchAnomalies",
5
5
  fetchGraphs = "fetchGraphs",
@@ -23,6 +23,9 @@ export declare enum QUERY_KEY {
23
23
  fetchSpecificRuntimeConfigs = "fetchSpecificRuntimeConfigs",
24
24
  fetchSpecificRuntimeConfigsKey = "fetchSpecificRuntimeConfigsKey",
25
25
  updateRuntimeConfig = "updateRuntimeConfig",
26
+ fetchExportConfigs = "fetchExportConfigs",
27
+ updateExportConfig = "updateExportConfig",
28
+ deleteExportConfig = "deleteExportConfig",
26
29
  fetchUniverseRuntimeConfigs = "fetchUniverseRuntimeConfigs",
27
30
  fetchAnomalyGroups = "fetchAnomalyGroups",
28
31
  fetchAnomalyGroupsByType = "fetchAnomalyGroupsByType",
@@ -31,6 +34,7 @@ export declare enum QUERY_KEY {
31
34
  fetchMetricsGraphs = "fetchMetricsGraphs",
32
35
  fetchLoadDbStatsPage = "fetchLoadDbStatsPage",
33
36
  fetchTabletsStatsPage = "fetchTabletsStatsPage",
37
+ fetchAnomalyTabletStats = "fetchAnomalyTabletStats",
34
38
  fetchNodeLoadStatsPage = "fetchNodeLoadStatsPage",
35
39
  sendTelemetryEvent = "sendTelemetryEvent",
36
40
  fetchBackgroundTasks = "fetchBackgroundTasks",
@@ -113,6 +117,9 @@ declare class ApiService {
113
117
  fetchUniverseById: (universeUuid: string, apiUrl?: string) => Promise<any>;
114
118
  fetchAnomalyDetectionStatus: (universeUuid: string, apiUrl?: string) => Promise<AnomalyDetectionStatus>;
115
119
  scheduleAnomalyDetectionStatus: (universeUuid: string, apiUrl?: string) => Promise<AnomalyDetectionStatus>;
120
+ fetchExportConfigs: (apiUrl?: string) => Promise<ExportConfigData[]>;
121
+ updateExportConfig: (config: ExportConfigData, apiUrl?: string) => Promise<ExportConfigData>;
122
+ deleteExportConfig: (configUuid: string, apiUrl?: string) => Promise<any>;
116
123
  fetchRuntimeConfigs: (scopeUuid?: string, apiUrl?: string) => Promise<string[]>;
117
124
  fetchSpecificRuntimeConfigs: (scopeUuid: string | undefined, keys: string[], apiUrl?: string) => Promise<string[]>;
118
125
  updateRuntimeConfig: (scopeUuid: string | undefined, configKey: string, configValue: string, apiUrl?: string) => Promise<any>;
@@ -0,0 +1,14 @@
1
+ import { ExportConfigData } from '../../helpers/dtos';
2
+ interface DeleteExportConfigProps {
3
+ data: ExportConfigData;
4
+ open: boolean;
5
+ onClose: () => void;
6
+ onActionPerformed: () => void;
7
+ apiUrl: string;
8
+ toast: {
9
+ success: (message: string) => void;
10
+ error: (message: string) => void;
11
+ };
12
+ }
13
+ export declare const DeleteExportConfig: ({ data, open, apiUrl, onClose, onActionPerformed, toast }: DeleteExportConfigProps) => JSX.Element;
14
+ export {};
@@ -0,0 +1,11 @@
1
+ import { AppName } from '../../helpers/dtos';
2
+ interface ExportConfigsProps {
3
+ apiUrl: string;
4
+ appName: AppName;
5
+ toast: {
6
+ success: (message: string) => void;
7
+ error: (message: string) => void;
8
+ };
9
+ }
10
+ export declare const ExportConfigs: ({ apiUrl, appName, toast }: ExportConfigsProps) => JSX.Element;
11
+ export {};
@@ -0,0 +1,14 @@
1
+ import { ExportConfigData } from '../../helpers/dtos';
2
+ interface UpdateExportConfigProps {
3
+ data: ExportConfigData | null;
4
+ open: boolean;
5
+ onClose: () => void;
6
+ onActionPerformed: () => void;
7
+ apiUrl: string;
8
+ toast: {
9
+ success: (message: string) => void;
10
+ error: (message: string) => void;
11
+ };
12
+ }
13
+ export declare const UpdateExportConfig: ({ data, open, apiUrl, onClose, onActionPerformed, toast }: UpdateExportConfigProps) => JSX.Element;
14
+ export {};
@@ -0,0 +1,45 @@
1
+ import { ExportConfigData } from '../../helpers/dtos';
2
+ interface ExportConfigColumnsParams {
3
+ onEdit: (data: ExportConfigData) => void;
4
+ onDelete: (data: ExportConfigData) => void;
5
+ isStandby: boolean;
6
+ standbyDisabledTooltip: string;
7
+ }
8
+ export declare const exportConfigColumns: ({ onEdit, onDelete, isStandby, standbyDisabledTooltip }: ExportConfigColumnsParams) => ({
9
+ name: string;
10
+ label: string;
11
+ options: {
12
+ filter: boolean;
13
+ sort: boolean;
14
+ customBodyRenderLite?: undefined;
15
+ customBodyRender?: undefined;
16
+ };
17
+ } | {
18
+ name: string;
19
+ label: string;
20
+ options: {
21
+ filter: boolean;
22
+ sort: boolean;
23
+ customBodyRenderLite: (index: number, data?: ExportConfigData[]) => JSX.Element;
24
+ customBodyRender?: undefined;
25
+ };
26
+ } | {
27
+ name: string;
28
+ label: string;
29
+ options: {
30
+ filter: boolean;
31
+ sort: boolean;
32
+ customBodyRender: (auth: ExportConfigData['collectionAuth']) => string;
33
+ customBodyRenderLite?: undefined;
34
+ };
35
+ } | {
36
+ name: string;
37
+ label: string;
38
+ options: {
39
+ filter: boolean;
40
+ sort: boolean;
41
+ customBodyRender: (included: boolean) => "Included" | "Not sent";
42
+ customBodyRenderLite?: undefined;
43
+ };
44
+ })[];
45
+ export {};
@@ -4,7 +4,8 @@ interface BindVariablesSectionProps {
4
4
  universeUuid: string;
5
5
  apiUrl: string;
6
6
  appName: AppName;
7
- gflagEnabled: boolean;
7
+ bindVariablesSupported: boolean;
8
+ bindVariablesEnabled: boolean;
8
9
  }
9
- export declare const BindVariablesSection: ({ bindVariables, universeUuid, apiUrl, appName, gflagEnabled }: BindVariablesSectionProps) => JSX.Element;
10
+ export declare const BindVariablesSection: ({ bindVariables, universeUuid, apiUrl, appName, bindVariablesSupported, bindVariablesEnabled }: BindVariablesSectionProps) => JSX.Element;
10
11
  export {};
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ interface AnomalyTabletNoticeProps {
3
+ message: string;
4
+ className?: string;
5
+ }
6
+ /**
7
+ * Info line shown when the tablet a hot / large tablet anomaly points at cannot be matched
8
+ * against the tablets of the selected time range.
9
+ */
10
+ export declare const AnomalyTabletNotice: ({ message, className }: AnomalyTabletNoticeProps) => JSX.Element;
11
+ export {};
@@ -1,6 +1,11 @@
1
1
  import { AppName, QueryPageParams, TabletResponseMetadata } from '../../../helpers/dtos';
2
+ import { AnomalyTabletStatus } from './types';
2
3
  interface TabletLevelQueryMetadataProps {
3
- anomalyTabletData: TabletResponseMetadata;
4
+ /** Tablet reported by the anomaly. Always displayed, even when it cannot be resolved. */
5
+ anomalyTabletId: string;
6
+ /** Stats for that exact tablet, or null when it is not in the tablets of the selected range. */
7
+ anomalyTabletData: TabletResponseMetadata | null;
8
+ anomalyTabletStatus: AnomalyTabletStatus;
4
9
  isHotTablet: boolean;
5
10
  universeUuid: string;
6
11
  apiUrl: string;
@@ -10,5 +15,5 @@ interface TabletLevelQueryMetadataProps {
10
15
  onSelectedQuery?: (queryId: string | null, params?: QueryPageParams) => void;
11
16
  onNavigateToUrl?: (url: string) => void;
12
17
  }
13
- export declare const TabletLevelQueryMetadata: ({ anomalyTabletData, isHotTablet, universeUuid, apiUrl, appName, startTime, endTime, onSelectedQuery, onNavigateToUrl }: TabletLevelQueryMetadataProps) => JSX.Element;
18
+ export declare const TabletLevelQueryMetadata: ({ anomalyTabletId, anomalyTabletData, anomalyTabletStatus, isHotTablet, universeUuid, apiUrl, appName, startTime, endTime, onSelectedQuery, onNavigateToUrl }: TabletLevelQueryMetadataProps) => JSX.Element;
14
19
  export {};
@@ -0,0 +1,20 @@
1
+ import { TabletResponseMetadata } from '../../../helpers/dtos';
2
+ export interface TabletStatsPagedBody {
3
+ entities: TabletResponseMetadata[];
4
+ hasNext: boolean;
5
+ hasPrev: boolean;
6
+ totalCount: number;
7
+ }
8
+ export interface TabletStatsPagedResponse {
9
+ data: TabletStatsPagedBody;
10
+ }
11
+ /**
12
+ * Whether the tablet reported by a hot / large tablet anomaly could be resolved against the
13
+ * tablets listed for the selected time range.
14
+ */
15
+ export declare enum AnomalyTabletStatus {
16
+ FOUND = "FOUND",
17
+ LOADING = "LOADING",
18
+ ABSENT = "ABSENT",
19
+ NOT_LOADED = "NOT_LOADED"
20
+ }
@@ -11,3 +11,4 @@ export * from './HighAvailability/StandbyBanner';
11
11
  export * from '../helpers/dtos';
12
12
  export * from '../helpers/useHaStandby';
13
13
  export * from '../api';
14
+ export * from './ExportConfigs/ExportConfigs';