locust-ui 1.0.0-beta
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/LICENSE +21 -0
- package/README.md +169 -0
- package/lib/assets/favicon.png +0 -0
- package/lib/types/App.d.ts +2 -0
- package/lib/types/HtmlReport.d.ts +1 -0
- package/lib/types/assets/Logo.d.ts +4 -0
- package/lib/types/components/DataTable/DataTable.d.ts +13 -0
- package/lib/types/components/ExceptionsTable/ExceptionsTable.d.ts +10 -0
- package/lib/types/components/FailuresTable/FailuresTable.d.ts +10 -0
- package/lib/types/components/FallbackRender/FallbackRender.d.ts +6 -0
- package/lib/types/components/Form/Form.d.ts +9 -0
- package/lib/types/components/Form/Select.d.ts +13 -0
- package/lib/types/components/Layout/Footer/About.d.ts +2 -0
- package/lib/types/components/Layout/Footer/Footer.d.ts +2 -0
- package/lib/types/components/Layout/Layout.d.ts +7 -0
- package/lib/types/components/Layout/Navbar/DarkLightToggle.d.ts +2 -0
- package/lib/types/components/Layout/Navbar/Navbar.d.ts +2 -0
- package/lib/types/components/Layout/Navbar/SwarmMonitor.d.ts +11 -0
- package/lib/types/components/LineChart/LineChart.constants.d.ts +14 -0
- package/lib/types/components/LineChart/LineChart.d.ts +7 -0
- package/lib/types/components/LineChart/LineChart.types.d.ts +37 -0
- package/lib/types/components/LineChart/LineChart.utils.d.ts +69 -0
- package/lib/types/components/LogViewer/LogDisplay.d.ts +4 -0
- package/lib/types/components/LogViewer/LogViewer.d.ts +2 -0
- package/lib/types/components/LogViewer/LogViewer.utils.d.ts +1 -0
- package/lib/types/components/LogViewer/WorkerLogs.d.ts +5 -0
- package/lib/types/components/LogViewer/useLogViewer.d.ts +4 -0
- package/lib/types/components/Modal/Modal.d.ts +8 -0
- package/lib/types/components/Reports/Reports.d.ts +8 -0
- package/lib/types/components/ResponseTimeTable/ResponseTimeTable.d.ts +7 -0
- package/lib/types/components/StateButtons/EditButton.d.ts +2 -0
- package/lib/types/components/StateButtons/NewTestButton.d.ts +2 -0
- package/lib/types/components/StateButtons/ResetButton.d.ts +2 -0
- package/lib/types/components/StateButtons/StateButtons.d.ts +2 -0
- package/lib/types/components/StateButtons/StopButton.d.ts +2 -0
- package/lib/types/components/StatsTable/StatsTable.d.ts +23 -0
- package/lib/types/components/SwarmCharts/SwarmCharts.d.ts +10 -0
- package/lib/types/components/SwarmForm/SwarmCustomParameters.d.ts +7 -0
- package/lib/types/components/SwarmForm/SwarmEditForm.d.ts +14 -0
- package/lib/types/components/SwarmForm/SwarmForm.d.ts +13 -0
- package/lib/types/components/SwarmForm/SwarmUserClassPicker.d.ts +18 -0
- package/lib/types/components/SwarmRatios/SwarmRatios.d.ts +10 -0
- package/lib/types/components/Table/Table.d.ts +23 -0
- package/lib/types/components/Tabs/Tabs.constants.d.ts +72 -0
- package/lib/types/components/Tabs/Tabs.d.ts +23 -0
- package/lib/types/components/ViewColumnSelector/ViewColumnSelector.d.ts +10 -0
- package/lib/types/components/WorkersTable/WorkersTable.d.ts +10 -0
- package/lib/types/constants/auth.d.ts +3 -0
- package/lib/types/constants/logs.d.ts +1 -0
- package/lib/types/constants/swarm.d.ts +14 -0
- package/lib/types/constants/theme.d.ts +6 -0
- package/lib/types/hooks/useCreateTheme.d.ts +1 -0
- package/lib/types/hooks/useFetchExceptions.d.ts +1 -0
- package/lib/types/hooks/useFetchStats.d.ts +1 -0
- package/lib/types/hooks/useFetchTasks.d.ts +1 -0
- package/lib/types/hooks/useInterval.d.ts +4 -0
- package/lib/types/hooks/useNotifications.d.ts +4 -0
- package/lib/types/hooks/useSelectViewColumns.d.ts +8 -0
- package/lib/types/hooks/useSortByField.d.ts +9 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/lib.d.ts +51 -0
- package/lib/types/pages/Auth.d.ts +3 -0
- package/lib/types/pages/Dashboard.d.ts +18 -0
- package/lib/types/pages/HtmlReport.d.ts +3 -0
- package/lib/types/redux/api/swarm.d.ts +11 -0
- package/lib/types/redux/hooks.d.ts +7 -0
- package/lib/types/redux/slice/logViewer.slice.d.ts +17 -0
- package/lib/types/redux/slice/notification.slice.d.ts +14 -0
- package/lib/types/redux/slice/root.slice.d.ts +87 -0
- package/lib/types/redux/slice/swarm.slice.d.ts +52 -0
- package/lib/types/redux/slice/theme.slice.d.ts +18 -0
- package/lib/types/redux/slice/ui.slice.d.ts +90 -0
- package/lib/types/redux/slice/url.slice.d.ts +20 -0
- package/lib/types/redux/store.d.ts +75 -0
- package/lib/types/redux/utils.d.ts +3 -0
- package/lib/types/styles/theme.d.ts +4 -0
- package/lib/types/types/auth.types.d.ts +10 -0
- package/lib/types/types/swarm.types.d.ts +46 -0
- package/lib/types/types/tab.types.d.ts +9 -0
- package/lib/types/types/table.types.d.ts +6 -0
- package/lib/types/types/ui.types.d.ts +96 -0
- package/lib/types/utils/array.d.ts +1 -0
- package/lib/types/utils/date.d.ts +1 -0
- package/lib/types/utils/number.d.ts +2 -0
- package/lib/types/utils/object.d.ts +6 -0
- package/lib/types/utils/string.d.ts +8 -0
- package/lib/types/utils/url.d.ts +6 -0
- package/lib/webui.js +60304 -0
- package/package.json +85 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ISortByFieldOptions } from '../../hooks/useSortByField';
|
|
2
|
+
import { ITableStructure } from '../../types/table.types';
|
|
3
|
+
|
|
4
|
+
interface ITable<Row> extends ISortByFieldOptions<Row> {
|
|
5
|
+
rows: Row[];
|
|
6
|
+
structure: ITableStructure[];
|
|
7
|
+
children?: React.ReactElement;
|
|
8
|
+
onTableHeadClick?: (event: React.MouseEvent<HTMLElement>) => void;
|
|
9
|
+
currentSortField?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ITableRowProps {
|
|
12
|
+
className?: string;
|
|
13
|
+
text?: string;
|
|
14
|
+
structureKey?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface ITableRowContent {
|
|
17
|
+
content: string | number;
|
|
18
|
+
formatter?: (content: string | number) => string;
|
|
19
|
+
round?: number;
|
|
20
|
+
markdown?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export default function Table<Row extends Record<string, any> = Record<string, string | number>>({ rows, structure, hasTotalRow, defaultSortKey, }: ITable<Row>): import("react").JSX.Element;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { default as LogViewer } from '../LogViewer/LogViewer';
|
|
2
|
+
import { IRootState } from '../../redux/store';
|
|
3
|
+
import { ITab } from '../../types/tab.types';
|
|
4
|
+
|
|
5
|
+
export declare const tabConfig: {
|
|
6
|
+
stats: {
|
|
7
|
+
component: import('../../react-redux').ConnectedComponent<typeof import('../StatsTable/StatsTable').StatsTable, {
|
|
8
|
+
tableStructure?: import('../../../../types/table.types').ITableStructure[] | undefined;
|
|
9
|
+
context?: import('../../react').Context<import('../../react-redux').ReactReduxContextValue<any, import('../../redux').UnknownAction> | null> | undefined;
|
|
10
|
+
store?: import('../../redux').Store<any, import('../../redux').UnknownAction, unknown> | undefined;
|
|
11
|
+
}>;
|
|
12
|
+
key: string;
|
|
13
|
+
title: string;
|
|
14
|
+
};
|
|
15
|
+
charts: {
|
|
16
|
+
component: import('../../react-redux').ConnectedComponent<typeof import('../SwarmCharts/SwarmCharts').SwarmCharts, {
|
|
17
|
+
context?: import('../../react').Context<import('../../react-redux').ReactReduxContextValue<any, import('../../redux').UnknownAction> | null> | undefined;
|
|
18
|
+
store?: import('../../redux').Store<any, import('../../redux').UnknownAction, unknown> | undefined;
|
|
19
|
+
}>;
|
|
20
|
+
key: string;
|
|
21
|
+
title: string;
|
|
22
|
+
};
|
|
23
|
+
failures: {
|
|
24
|
+
component: import('../../react-redux').ConnectedComponent<typeof import('../FailuresTable/FailuresTable').FailuresTable, {
|
|
25
|
+
context?: import('../../react').Context<import('../../react-redux').ReactReduxContextValue<any, import('../../redux').UnknownAction> | null> | undefined;
|
|
26
|
+
store?: import('../../redux').Store<any, import('../../redux').UnknownAction, unknown> | undefined;
|
|
27
|
+
}>;
|
|
28
|
+
key: string;
|
|
29
|
+
title: string;
|
|
30
|
+
};
|
|
31
|
+
exceptions: {
|
|
32
|
+
component: import('../../react-redux').ConnectedComponent<typeof import('../ExceptionsTable/ExceptionsTable').ExceptionsTable, {
|
|
33
|
+
context?: import('../../react').Context<import('../../react-redux').ReactReduxContextValue<any, import('../../redux').UnknownAction> | null> | undefined;
|
|
34
|
+
store?: import('../../redux').Store<any, import('../../redux').UnknownAction, unknown> | undefined;
|
|
35
|
+
}>;
|
|
36
|
+
key: string;
|
|
37
|
+
title: string;
|
|
38
|
+
};
|
|
39
|
+
ratios: {
|
|
40
|
+
component: import('../../react-redux').ConnectedComponent<typeof import('../SwarmRatios/SwarmRatios').SwarmRatios, {
|
|
41
|
+
context?: import('../../react').Context<import('../../react-redux').ReactReduxContextValue<any, import('../../redux').UnknownAction> | null> | undefined;
|
|
42
|
+
store?: import('../../redux').Store<any, import('../../redux').UnknownAction, unknown> | undefined;
|
|
43
|
+
}>;
|
|
44
|
+
key: string;
|
|
45
|
+
title: string;
|
|
46
|
+
};
|
|
47
|
+
reports: {
|
|
48
|
+
component: import('../../react-redux').ConnectedComponent<({ extendedCsvFiles, statsHistoryEnabled, }: Pick<import('../../../../redux/slice/swarm.slice').ISwarmState, "extendedCsvFiles" | "statsHistoryEnabled">) => import("react").JSX.Element, {
|
|
49
|
+
context?: import('../../react').Context<import('../../react-redux').ReactReduxContextValue<any, import('../../redux').UnknownAction> | null> | undefined;
|
|
50
|
+
store?: import('../../redux').Store<any, import('../../redux').UnknownAction, unknown> | undefined;
|
|
51
|
+
}>;
|
|
52
|
+
key: string;
|
|
53
|
+
title: string;
|
|
54
|
+
};
|
|
55
|
+
logs: {
|
|
56
|
+
component: typeof LogViewer;
|
|
57
|
+
key: string;
|
|
58
|
+
title: string;
|
|
59
|
+
};
|
|
60
|
+
workers: {
|
|
61
|
+
component: import('../../react-redux').ConnectedComponent<({ workers }: {
|
|
62
|
+
workers?: import('../../../../types/ui.types').ISwarmWorker[] | undefined;
|
|
63
|
+
}) => import("react").JSX.Element, {
|
|
64
|
+
context?: import('../../react').Context<import('../../react-redux').ReactReduxContextValue<any, import('../../redux').UnknownAction> | null> | undefined;
|
|
65
|
+
store?: import('../../redux').Store<any, import('../../redux').UnknownAction, unknown> | undefined;
|
|
66
|
+
}>;
|
|
67
|
+
key: string;
|
|
68
|
+
title: string;
|
|
69
|
+
shouldDisplayTab: (state: IRootState) => boolean;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
export declare const baseTabs: ITab[];
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { INotificationState } from '../../redux/slice/notification.slice';
|
|
2
|
+
import { IUrlState } from '../../redux/slice/url.slice';
|
|
3
|
+
import { ITab } from '../../types/tab.types';
|
|
4
|
+
|
|
5
|
+
interface IStateProps {
|
|
6
|
+
extendedTabs?: ITab[];
|
|
7
|
+
tabs?: ITab[];
|
|
8
|
+
}
|
|
9
|
+
interface ITabs extends IStateProps {
|
|
10
|
+
currentTabIndexFromQuery: number;
|
|
11
|
+
notification: INotificationState;
|
|
12
|
+
setNotification: (payload: INotificationState) => void;
|
|
13
|
+
setUrl: (payload: IUrlState) => void;
|
|
14
|
+
tabs: ITab[];
|
|
15
|
+
}
|
|
16
|
+
declare function Tabs({ currentTabIndexFromQuery, notification, setNotification, setUrl, tabs }: ITabs): import("react").JSX.Element;
|
|
17
|
+
declare const _default: import('../../react-redux').ConnectedComponent<typeof Tabs, {
|
|
18
|
+
extendedTabs?: ITab<string>[] | undefined;
|
|
19
|
+
tabs?: ITab<string>[] | undefined;
|
|
20
|
+
context?: import('../../react').Context<import('../../react-redux').ReactReduxContextValue<any, import('../../redux').UnknownAction> | null> | undefined;
|
|
21
|
+
store?: import('../../redux').Store<any, import('../../redux').UnknownAction, unknown> | undefined;
|
|
22
|
+
}>;
|
|
23
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ITableStructure } from '../../types/table.types';
|
|
2
|
+
|
|
3
|
+
interface IViewColumnSelector {
|
|
4
|
+
structure: ITableStructure[];
|
|
5
|
+
selectedColumns: string[];
|
|
6
|
+
addColumn: (column: string) => void;
|
|
7
|
+
removeColumn: (column: string) => void;
|
|
8
|
+
}
|
|
9
|
+
declare function ViewColumnSelector({ structure, selectedColumns, addColumn, removeColumn, }: IViewColumnSelector): import("react").JSX.Element;
|
|
10
|
+
export default ViewColumnSelector;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ISwarmWorker } from '../../types/ui.types';
|
|
2
|
+
|
|
3
|
+
declare function WorkersTable({ workers }: {
|
|
4
|
+
workers?: ISwarmWorker[];
|
|
5
|
+
}): import("react").JSX.Element;
|
|
6
|
+
declare const _default: import('../../react-redux').ConnectedComponent<typeof WorkersTable, {
|
|
7
|
+
context?: import('../../react').Context<import('../../react-redux').ReactReduxContextValue<any, import('../../redux').UnknownAction> | null> | undefined;
|
|
8
|
+
store?: import('../../redux').Store<any, import('../../redux').UnknownAction, unknown> | undefined;
|
|
9
|
+
}>;
|
|
10
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const LOG_VIEWER_KEY = "logViewer";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ISwarmState } from '../redux/slice/swarm.slice';
|
|
2
|
+
import { IReport, IReportTemplateArgs } from '../types/swarm.types';
|
|
3
|
+
|
|
4
|
+
export declare const SWARM_STATE: {
|
|
5
|
+
READY: string;
|
|
6
|
+
RUNNING: string;
|
|
7
|
+
STOPPED: string;
|
|
8
|
+
SPAWNING: string;
|
|
9
|
+
CLEANUP: string;
|
|
10
|
+
STOPPING: string;
|
|
11
|
+
MISSING: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const swarmTemplateArgs: ISwarmState | IReportTemplateArgs;
|
|
14
|
+
export declare const htmlReportProps: IReport | false;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function useCreateTheme(): import('../@mui/material').Theme;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function useFetchExceptions(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function useSwarmUi(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function useFetchTasks(): void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ITableStructure } from '../types/table.types';
|
|
2
|
+
|
|
3
|
+
export default function useSelectViewColumns(defaultStructure: ITableStructure[]): {
|
|
4
|
+
selectedColumns: string[];
|
|
5
|
+
addColumn: (column: string) => void;
|
|
6
|
+
removeColumn: (column: string) => void;
|
|
7
|
+
filteredStructure: ITableStructure[];
|
|
8
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface ISortByFieldOptions<Row> {
|
|
2
|
+
hasTotalRow?: boolean;
|
|
3
|
+
defaultSortKey?: keyof Row;
|
|
4
|
+
}
|
|
5
|
+
export default function useSortByField<Row>(rows: Row[], { hasTotalRow, defaultSortKey }?: ISortByFieldOptions<Row>): {
|
|
6
|
+
onTableHeadClick: (event: React.MouseEvent<HTMLElement>) => void;
|
|
7
|
+
sortedRows: Row[];
|
|
8
|
+
currentSortField: keyof Row | undefined;
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ITab } from './types/tab.types';
|
|
2
|
+
|
|
3
|
+
export { default as Table } from './components/Table/Table';
|
|
4
|
+
export { default as LineChart } from './components/LineChart/LineChart';
|
|
5
|
+
export { baseTabs } from './components/Tabs/Tabs.constants';
|
|
6
|
+
export { default as useInterval } from './hooks/useInterval';
|
|
7
|
+
export { roundToDecimalPlaces } from './utils/number';
|
|
8
|
+
export { SWARM_STATE } from './constants/swarm';
|
|
9
|
+
export { default as Select } from './components/Form/Select';
|
|
10
|
+
export { default as SwarmForm } from './components/SwarmForm/SwarmForm';
|
|
11
|
+
export { default as Tabs } from './components/Tabs/Tabs';
|
|
12
|
+
export { default as Layout } from './components/Layout/Layout';
|
|
13
|
+
export { default as useLogViewer } from './components/LogViewer/useLogViewer';
|
|
14
|
+
export { default as useFetchExceptions } from './hooks/useFetchStats';
|
|
15
|
+
export { default as useFetchTasks } from './hooks/useFetchStats';
|
|
16
|
+
export { default as Navbar } from './components/Layout/Navbar/Navbar';
|
|
17
|
+
export { default as useCreateTheme } from './hooks/useCreateTheme';
|
|
18
|
+
export { tabConfig } from './components/Tabs/Tabs.constants';
|
|
19
|
+
export { store } from './redux/store';
|
|
20
|
+
export type { IRootState } from './redux/store';
|
|
21
|
+
export type { ITab } from './types/tab.types';
|
|
22
|
+
export interface IExtendedTableStructure<StatKey> {
|
|
23
|
+
key: StatKey | 'name' | 'method';
|
|
24
|
+
title: string;
|
|
25
|
+
}
|
|
26
|
+
export interface IExtendedTable<ExtendedTabKey, StatKey> {
|
|
27
|
+
key: ExtendedTabKey;
|
|
28
|
+
structure: IExtendedTableStructure<StatKey>[];
|
|
29
|
+
}
|
|
30
|
+
export interface IExtendedReport {
|
|
31
|
+
href: string;
|
|
32
|
+
title: string;
|
|
33
|
+
}
|
|
34
|
+
export type IStatData<StatKey extends string> = {
|
|
35
|
+
[key in StatKey]: string;
|
|
36
|
+
} & {
|
|
37
|
+
name: string;
|
|
38
|
+
safeName: string;
|
|
39
|
+
};
|
|
40
|
+
export interface IExtendedStat<ExtendedTabKey, StatKey extends string> {
|
|
41
|
+
key: ExtendedTabKey;
|
|
42
|
+
data: IStatData<StatKey>[];
|
|
43
|
+
}
|
|
44
|
+
export interface ILocustUi<ExtendedTabKey, StatKeys extends string> {
|
|
45
|
+
extendedTabs?: ITab<ExtendedTabKey>[];
|
|
46
|
+
extendedTables?: IExtendedTable<ExtendedTabKey, StatKeys>[];
|
|
47
|
+
extendedReports?: IExtendedReport[];
|
|
48
|
+
extendedStats?: IExtendedStat<ExtendedTabKey, StatKeys>[];
|
|
49
|
+
tabs?: ITab[];
|
|
50
|
+
}
|
|
51
|
+
export default function LocustUi<ExtendedTabKey extends string = string, StatKey extends string = string>({ extendedTabs, extendedTables, extendedReports, extendedStats, tabs, }: ILocustUi<ExtendedTabKey, StatKey>): import("react").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ITab } from '../types/tab.types';
|
|
2
|
+
import { SwarmState } from '../types/ui.types';
|
|
3
|
+
|
|
4
|
+
interface IDashboard {
|
|
5
|
+
isModalOpen?: boolean;
|
|
6
|
+
swarmState: SwarmState;
|
|
7
|
+
extendedTabs?: ITab[];
|
|
8
|
+
tabs?: ITab[];
|
|
9
|
+
}
|
|
10
|
+
declare function Dashboard({ swarmState, tabs, extendedTabs }: IDashboard): import("react").JSX.Element;
|
|
11
|
+
declare const _default: import('../react-redux').ConnectedComponent<typeof Dashboard, {
|
|
12
|
+
extendedTabs?: ITab<string>[] | undefined;
|
|
13
|
+
tabs?: ITab<string>[] | undefined;
|
|
14
|
+
isModalOpen?: boolean | undefined;
|
|
15
|
+
context?: import('../react').Context<import('../react-redux').ReactReduxContextValue<any, import('../redux').UnknownAction> | null> | undefined;
|
|
16
|
+
store?: import('../redux').Store<any, import('../redux').UnknownAction, unknown> | undefined;
|
|
17
|
+
}>;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { IReport } from '../types/swarm.types';
|
|
2
|
+
|
|
3
|
+
export default function HtmlReport({ locustfile, showDownloadLink, startTime, endTime, charts, host, exceptionsStatistics, requestsStatistics, failuresStatistics, responseTimeStatistics, tasks, }: IReport): import("react").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IStatsResponse, ISwarmExceptionsResponse, ISwarmRatios, ILogsResponse } from '../../types/ui.types';
|
|
2
|
+
|
|
3
|
+
export declare const api: import('../../@reduxjs/toolkit/query/react').Api<import('../../@reduxjs/toolkit/query/react').BaseQueryFn<string | import('../../@reduxjs/toolkit/query/react').FetchArgs, unknown, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryMeta>, {
|
|
4
|
+
getStats: import('../../@reduxjs/toolkit/query/react').QueryDefinition<void, import('../../@reduxjs/toolkit/query/react').BaseQueryFn<string | import('../../@reduxjs/toolkit/query/react').FetchArgs, unknown, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryMeta>, never, IStatsResponse, "api">;
|
|
5
|
+
getTasks: import('../../@reduxjs/toolkit/query/react').QueryDefinition<void, import('../../@reduxjs/toolkit/query/react').BaseQueryFn<string | import('../../@reduxjs/toolkit/query/react').FetchArgs, unknown, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryMeta>, never, ISwarmRatios, "api">;
|
|
6
|
+
getExceptions: import('../../@reduxjs/toolkit/query/react').QueryDefinition<void, import('../../@reduxjs/toolkit/query/react').BaseQueryFn<string | import('../../@reduxjs/toolkit/query/react').FetchArgs, unknown, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryMeta>, never, ISwarmExceptionsResponse, "api">;
|
|
7
|
+
getLogs: import('../../@reduxjs/toolkit/query/react').QueryDefinition<void, import('../../@reduxjs/toolkit/query/react').BaseQueryFn<string | import('../../@reduxjs/toolkit/query/react').FetchArgs, unknown, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryMeta>, never, ILogsResponse, "api">;
|
|
8
|
+
startSwarm: import('../../@reduxjs/toolkit/query/react').MutationDefinition<any, import('../../@reduxjs/toolkit/query/react').BaseQueryFn<string | import('../../@reduxjs/toolkit/query/react').FetchArgs, unknown, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryMeta>, never, any, "api">;
|
|
9
|
+
updateUserSettings: import('../../@reduxjs/toolkit/query/react').MutationDefinition<any, import('../../@reduxjs/toolkit/query/react').BaseQueryFn<string | import('../../@reduxjs/toolkit/query/react').FetchArgs, unknown, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryMeta>, never, any, "api">;
|
|
10
|
+
}, "api", never, typeof import('../../@reduxjs/toolkit/query/react').coreModuleName | typeof import('../../@reduxjs/toolkit/query/react').reactHooksModuleName>;
|
|
11
|
+
export declare const useGetStatsQuery: import('../../@reduxjs/toolkit/dist/query/react/buildHooks').UseQuery<import('../../@reduxjs/toolkit/query/react').QueryDefinition<void, import('../../@reduxjs/toolkit/query/react').BaseQueryFn<string | import('../../@reduxjs/toolkit/query/react').FetchArgs, unknown, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryMeta>, never, IStatsResponse, "api">>, useGetTasksQuery: import('../../@reduxjs/toolkit/dist/query/react/buildHooks').UseQuery<import('../../@reduxjs/toolkit/query/react').QueryDefinition<void, import('../../@reduxjs/toolkit/query/react').BaseQueryFn<string | import('../../@reduxjs/toolkit/query/react').FetchArgs, unknown, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryMeta>, never, ISwarmRatios, "api">>, useGetExceptionsQuery: import('../../@reduxjs/toolkit/dist/query/react/buildHooks').UseQuery<import('../../@reduxjs/toolkit/query/react').QueryDefinition<void, import('../../@reduxjs/toolkit/query/react').BaseQueryFn<string | import('../../@reduxjs/toolkit/query/react').FetchArgs, unknown, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryMeta>, never, ISwarmExceptionsResponse, "api">>, useGetLogsQuery: import('../../@reduxjs/toolkit/dist/query/react/buildHooks').UseQuery<import('../../@reduxjs/toolkit/query/react').QueryDefinition<void, import('../../@reduxjs/toolkit/query/react').BaseQueryFn<string | import('../../@reduxjs/toolkit/query/react').FetchArgs, unknown, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryMeta>, never, ILogsResponse, "api">>, useStartSwarmMutation: import('../../@reduxjs/toolkit/dist/query/react/buildHooks').UseMutation<import('../../@reduxjs/toolkit/query/react').MutationDefinition<any, import('../../@reduxjs/toolkit/query/react').BaseQueryFn<string | import('../../@reduxjs/toolkit/query/react').FetchArgs, unknown, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryMeta>, never, any, "api">>, useUpdateUserSettingsMutation: import('../../@reduxjs/toolkit/dist/query/react/buildHooks').UseMutation<import('../../@reduxjs/toolkit/query/react').MutationDefinition<any, import('../../@reduxjs/toolkit/query/react').BaseQueryFn<string | import('../../@reduxjs/toolkit/query/react').FetchArgs, unknown, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query/react').FetchBaseQueryMeta>, never, any, "api">>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Dispatch, ActionCreator } from '../@reduxjs/toolkit';
|
|
2
|
+
import { TypedUseSelectorHook } from '../react-redux';
|
|
3
|
+
import { IRootState, Action } from './store';
|
|
4
|
+
|
|
5
|
+
export declare const useSelector: TypedUseSelectorHook<IRootState>;
|
|
6
|
+
export declare const useDispatch: () => Dispatch;
|
|
7
|
+
export declare function useAction<T extends ActionCreator<Action>>(action: T, dispatch?: any): (payload?: Parameters<T>[0]) => void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PayloadAction } from '../../@reduxjs/toolkit';
|
|
2
|
+
import { ILogsResponse } from '../../types/ui.types';
|
|
3
|
+
|
|
4
|
+
export interface ILogViewerState extends ILogsResponse {
|
|
5
|
+
}
|
|
6
|
+
export type LogViewerAction = PayloadAction<ILogViewerState>;
|
|
7
|
+
export declare const logViewerActions: import('../../@reduxjs/toolkit').CaseReducerActions<{
|
|
8
|
+
setLogs: (state: ILogViewerState, { payload }: {
|
|
9
|
+
payload: ILogViewerState;
|
|
10
|
+
type: string;
|
|
11
|
+
}) => ILogViewerState & (boolean | ILogViewerState | import('../../notification.slice').INotificationState | Partial<import('../../swarm.slice').ISwarmState> | Partial<import('../../ui.slice').IUiState> | Partial<import('../../url.slice').IUrlState> | undefined);
|
|
12
|
+
}, "logViewer">;
|
|
13
|
+
declare const _default: import('..').Reducer<{
|
|
14
|
+
master: string[];
|
|
15
|
+
workers: {};
|
|
16
|
+
}>;
|
|
17
|
+
export default _default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PayloadAction } from '../../@reduxjs/toolkit';
|
|
2
|
+
|
|
3
|
+
export interface INotificationState {
|
|
4
|
+
[key: string]: boolean;
|
|
5
|
+
}
|
|
6
|
+
export type NotificationAction = PayloadAction<INotificationState>;
|
|
7
|
+
export declare const notificationActions: import('../../@reduxjs/toolkit').CaseReducerActions<{
|
|
8
|
+
setNotification: (state: INotificationState, { payload }: {
|
|
9
|
+
payload: INotificationState;
|
|
10
|
+
type: string;
|
|
11
|
+
}) => INotificationState & (boolean | import('../../logViewer.slice').ILogViewerState | INotificationState | Partial<import('../../swarm.slice').ISwarmState> | Partial<import('../../ui.slice').IUiState> | Partial<import('../../url.slice').IUrlState> | undefined);
|
|
12
|
+
}, "notification">;
|
|
13
|
+
declare const _default: import('..').Reducer<{}>;
|
|
14
|
+
export default _default;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { PayloadAction } from '../../@reduxjs/toolkit';
|
|
2
|
+
import { ILogViewerState, LogViewerAction } from './logViewer.slice';
|
|
3
|
+
import { INotificationState, NotificationAction } from './notification.slice';
|
|
4
|
+
import { ISwarmState, SwarmAction } from './swarm.slice';
|
|
5
|
+
import { IThemeState, ThemeAction } from './theme.slice';
|
|
6
|
+
import { IUiState, UiAction } from './ui.slice';
|
|
7
|
+
import { IUrlState, UrlAction } from './url.slice';
|
|
8
|
+
|
|
9
|
+
export interface IRootState {
|
|
10
|
+
logViewer: ILogViewerState;
|
|
11
|
+
notification: INotificationState;
|
|
12
|
+
swarm: ISwarmState;
|
|
13
|
+
theme: IThemeState;
|
|
14
|
+
ui: IUiState;
|
|
15
|
+
url: IUrlState;
|
|
16
|
+
}
|
|
17
|
+
export type Action = LogViewerAction | NotificationAction | SwarmAction | ThemeAction | UiAction | UrlAction | PayloadAction<undefined>;
|
|
18
|
+
declare const rootReducer: import('..').Reducer<{
|
|
19
|
+
api: import('../../@reduxjs/toolkit/query').CombinedState<{
|
|
20
|
+
getStats: import('../../@reduxjs/toolkit/query').QueryDefinition<void, import('../../@reduxjs/toolkit/query').BaseQueryFn<string | import('../../@reduxjs/toolkit/query').FetchArgs, unknown, import('../../@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query').FetchBaseQueryMeta>, never, import('../../../../types/ui.types').IStatsResponse, "api">;
|
|
21
|
+
getTasks: import('../../@reduxjs/toolkit/query').QueryDefinition<void, import('../../@reduxjs/toolkit/query').BaseQueryFn<string | import('../../@reduxjs/toolkit/query').FetchArgs, unknown, import('../../@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query').FetchBaseQueryMeta>, never, import('../../../../types/ui.types').ISwarmRatios, "api">;
|
|
22
|
+
getExceptions: import('../../@reduxjs/toolkit/query').QueryDefinition<void, import('../../@reduxjs/toolkit/query').BaseQueryFn<string | import('../../@reduxjs/toolkit/query').FetchArgs, unknown, import('../../@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query').FetchBaseQueryMeta>, never, import('../../../../types/ui.types').ISwarmExceptionsResponse, "api">;
|
|
23
|
+
getLogs: import('../../@reduxjs/toolkit/query').QueryDefinition<void, import('../../@reduxjs/toolkit/query').BaseQueryFn<string | import('../../@reduxjs/toolkit/query').FetchArgs, unknown, import('../../@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query').FetchBaseQueryMeta>, never, import('../../../../types/ui.types').ILogsResponse, "api">;
|
|
24
|
+
startSwarm: import('../../@reduxjs/toolkit/query').MutationDefinition<any, import('../../@reduxjs/toolkit/query').BaseQueryFn<string | import('../../@reduxjs/toolkit/query').FetchArgs, unknown, import('../../@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query').FetchBaseQueryMeta>, never, any, "api">;
|
|
25
|
+
updateUserSettings: import('../../@reduxjs/toolkit/query').MutationDefinition<any, import('../../@reduxjs/toolkit/query').BaseQueryFn<string | import('../../@reduxjs/toolkit/query').FetchArgs, unknown, import('../../@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query').FetchBaseQueryMeta>, never, any, "api">;
|
|
26
|
+
}, never, "api">;
|
|
27
|
+
logViewer: {
|
|
28
|
+
master: string[];
|
|
29
|
+
workers: {};
|
|
30
|
+
};
|
|
31
|
+
notification: {};
|
|
32
|
+
swarm: ISwarmState;
|
|
33
|
+
theme: {
|
|
34
|
+
isDarkMode: boolean;
|
|
35
|
+
};
|
|
36
|
+
ui: {
|
|
37
|
+
totalRps: number;
|
|
38
|
+
failRatio: number;
|
|
39
|
+
startTime: string;
|
|
40
|
+
stats: import('../../../../types/ui.types').ISwarmStat[];
|
|
41
|
+
errors: import('../../../../types/ui.types').ISwarmError[];
|
|
42
|
+
exceptions: import('../../../../types/ui.types').ISwarmException[];
|
|
43
|
+
charts: import('../../../../types/ui.types').ICharts;
|
|
44
|
+
ratios: import('../../../../types/ui.types').ISwarmRatios;
|
|
45
|
+
userCount: number;
|
|
46
|
+
};
|
|
47
|
+
url: {
|
|
48
|
+
query: {
|
|
49
|
+
[key: string]: string;
|
|
50
|
+
} | null;
|
|
51
|
+
};
|
|
52
|
+
}, import('..').UnknownAction, Partial<{
|
|
53
|
+
api: import('../../@reduxjs/toolkit/query').CombinedState<{
|
|
54
|
+
getStats: import('../../@reduxjs/toolkit/query').QueryDefinition<void, import('../../@reduxjs/toolkit/query').BaseQueryFn<string | import('../../@reduxjs/toolkit/query').FetchArgs, unknown, import('../../@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query').FetchBaseQueryMeta>, never, import('../../../../types/ui.types').IStatsResponse, "api">;
|
|
55
|
+
getTasks: import('../../@reduxjs/toolkit/query').QueryDefinition<void, import('../../@reduxjs/toolkit/query').BaseQueryFn<string | import('../../@reduxjs/toolkit/query').FetchArgs, unknown, import('../../@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query').FetchBaseQueryMeta>, never, import('../../../../types/ui.types').ISwarmRatios, "api">;
|
|
56
|
+
getExceptions: import('../../@reduxjs/toolkit/query').QueryDefinition<void, import('../../@reduxjs/toolkit/query').BaseQueryFn<string | import('../../@reduxjs/toolkit/query').FetchArgs, unknown, import('../../@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query').FetchBaseQueryMeta>, never, import('../../../../types/ui.types').ISwarmExceptionsResponse, "api">;
|
|
57
|
+
getLogs: import('../../@reduxjs/toolkit/query').QueryDefinition<void, import('../../@reduxjs/toolkit/query').BaseQueryFn<string | import('../../@reduxjs/toolkit/query').FetchArgs, unknown, import('../../@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query').FetchBaseQueryMeta>, never, import('../../../../types/ui.types').ILogsResponse, "api">;
|
|
58
|
+
startSwarm: import('../../@reduxjs/toolkit/query').MutationDefinition<any, import('../../@reduxjs/toolkit/query').BaseQueryFn<string | import('../../@reduxjs/toolkit/query').FetchArgs, unknown, import('../../@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query').FetchBaseQueryMeta>, never, any, "api">;
|
|
59
|
+
updateUserSettings: import('../../@reduxjs/toolkit/query').MutationDefinition<any, import('../../@reduxjs/toolkit/query').BaseQueryFn<string | import('../../@reduxjs/toolkit/query').FetchArgs, unknown, import('../../@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('../../@reduxjs/toolkit/query').FetchBaseQueryMeta>, never, any, "api">;
|
|
60
|
+
}, never, "api"> | undefined;
|
|
61
|
+
logViewer: {
|
|
62
|
+
master: string[];
|
|
63
|
+
workers: {};
|
|
64
|
+
} | undefined;
|
|
65
|
+
notification: {} | undefined;
|
|
66
|
+
swarm: ISwarmState | undefined;
|
|
67
|
+
theme: {
|
|
68
|
+
isDarkMode: boolean;
|
|
69
|
+
} | undefined;
|
|
70
|
+
ui: {
|
|
71
|
+
totalRps: number;
|
|
72
|
+
failRatio: number;
|
|
73
|
+
startTime: string;
|
|
74
|
+
stats: import('../../../../types/ui.types').ISwarmStat[];
|
|
75
|
+
errors: import('../../../../types/ui.types').ISwarmError[];
|
|
76
|
+
exceptions: import('../../../../types/ui.types').ISwarmException[];
|
|
77
|
+
charts: import('../../../../types/ui.types').ICharts;
|
|
78
|
+
ratios: import('../../../../types/ui.types').ISwarmRatios;
|
|
79
|
+
userCount: number;
|
|
80
|
+
} | undefined;
|
|
81
|
+
url: {
|
|
82
|
+
query: {
|
|
83
|
+
[key: string]: string;
|
|
84
|
+
} | null;
|
|
85
|
+
} | undefined;
|
|
86
|
+
}>>;
|
|
87
|
+
export default rootReducer;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { PayloadAction } from '../../@reduxjs/toolkit';
|
|
2
|
+
import { IExtraOptions, IHistory, ISwarmUser } from '../../types/swarm.types';
|
|
3
|
+
import { ITab } from '../../types/tab.types';
|
|
4
|
+
import { ITableStructure } from '../../types/table.types';
|
|
5
|
+
|
|
6
|
+
export interface ISwarmState {
|
|
7
|
+
availableShapeClasses: string[];
|
|
8
|
+
availableUserClasses: string[];
|
|
9
|
+
availableUserTasks: {
|
|
10
|
+
[key: string]: string[];
|
|
11
|
+
};
|
|
12
|
+
extraOptions: IExtraOptions;
|
|
13
|
+
extendedTabs?: ITab[];
|
|
14
|
+
extendedTables?: {
|
|
15
|
+
key: string;
|
|
16
|
+
structure: ITableStructure[];
|
|
17
|
+
}[];
|
|
18
|
+
extendedCsvFiles?: {
|
|
19
|
+
href: string;
|
|
20
|
+
title: string;
|
|
21
|
+
}[];
|
|
22
|
+
history: IHistory[];
|
|
23
|
+
host: string;
|
|
24
|
+
isDistributed: boolean;
|
|
25
|
+
isShape: boolean | null;
|
|
26
|
+
locustfile: string;
|
|
27
|
+
numUsers: number | null;
|
|
28
|
+
overrideHostWarning: boolean;
|
|
29
|
+
percentilesToChart: number[];
|
|
30
|
+
percentilesToStatistics: number[];
|
|
31
|
+
runTime?: string | number;
|
|
32
|
+
showUserclassPicker: boolean;
|
|
33
|
+
spawnRate: number | null;
|
|
34
|
+
state: string;
|
|
35
|
+
statsHistoryEnabled: boolean;
|
|
36
|
+
tasks: string;
|
|
37
|
+
userCount: number | string;
|
|
38
|
+
users: {
|
|
39
|
+
[key: string]: ISwarmUser;
|
|
40
|
+
};
|
|
41
|
+
version: string;
|
|
42
|
+
workerCount: number;
|
|
43
|
+
}
|
|
44
|
+
export type SwarmAction = PayloadAction<Partial<ISwarmState>>;
|
|
45
|
+
export declare const swarmActions: import('../../@reduxjs/toolkit').CaseReducerActions<{
|
|
46
|
+
setSwarm: (state: ISwarmState, { payload }: {
|
|
47
|
+
payload: Partial<ISwarmState>;
|
|
48
|
+
type: string;
|
|
49
|
+
}) => ISwarmState & (boolean | import('../../logViewer.slice').ILogViewerState | import('../../notification.slice').INotificationState | Partial<ISwarmState> | Partial<import('../../ui.slice').IUiState> | Partial<import('../../url.slice').IUrlState> | undefined);
|
|
50
|
+
}, "swarm">;
|
|
51
|
+
declare const _default: import('..').Reducer<ISwarmState>;
|
|
52
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PayloadAction } from '../../@reduxjs/toolkit';
|
|
2
|
+
|
|
3
|
+
export interface IThemeState {
|
|
4
|
+
isDarkMode: boolean;
|
|
5
|
+
}
|
|
6
|
+
export type ThemeAction = PayloadAction<boolean>;
|
|
7
|
+
export declare const themeActions: import('../../@reduxjs/toolkit').CaseReducerActions<{
|
|
8
|
+
setIsDarkMode: (state: import('../../immer').WritableDraft<{
|
|
9
|
+
isDarkMode: boolean;
|
|
10
|
+
}>, { payload }: {
|
|
11
|
+
payload: any;
|
|
12
|
+
type: string;
|
|
13
|
+
}) => void;
|
|
14
|
+
}, "theme">;
|
|
15
|
+
declare const _default: import('..').Reducer<{
|
|
16
|
+
isDarkMode: boolean;
|
|
17
|
+
}>;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { PayloadAction } from '../../@reduxjs/toolkit';
|
|
2
|
+
import { ICharts, ISwarmError, ISwarmStat, ISwarmRatios, ISwarmException, ISwarmWorker, IExtendedStat } from '../../types/ui.types';
|
|
3
|
+
|
|
4
|
+
export interface IUiState {
|
|
5
|
+
extendedStats?: IExtendedStat[];
|
|
6
|
+
totalRps: number;
|
|
7
|
+
failRatio: number;
|
|
8
|
+
startTime: string;
|
|
9
|
+
stats: ISwarmStat[];
|
|
10
|
+
errors: ISwarmError[];
|
|
11
|
+
workers?: ISwarmWorker[];
|
|
12
|
+
exceptions: ISwarmException[];
|
|
13
|
+
ratios: ISwarmRatios;
|
|
14
|
+
charts: ICharts;
|
|
15
|
+
userCount: number;
|
|
16
|
+
}
|
|
17
|
+
export type UiAction = PayloadAction<Partial<IUiState>>;
|
|
18
|
+
export declare const uiActions: import('../../@reduxjs/toolkit').CaseReducerActions<{
|
|
19
|
+
setUi: (state: IUiState, { payload }: {
|
|
20
|
+
payload: Partial<IUiState>;
|
|
21
|
+
type: string;
|
|
22
|
+
}) => IUiState & (boolean | import('../../logViewer.slice').ILogViewerState | import('../../notification.slice').INotificationState | Partial<import('../../swarm.slice').ISwarmState> | Partial<IUiState> | Partial<import('../../url.slice').IUrlState> | undefined);
|
|
23
|
+
updateCharts: (state: import('../../immer').WritableDraft<{
|
|
24
|
+
totalRps: number;
|
|
25
|
+
failRatio: number;
|
|
26
|
+
startTime: string;
|
|
27
|
+
stats: ISwarmStat[];
|
|
28
|
+
errors: ISwarmError[];
|
|
29
|
+
exceptions: ISwarmException[];
|
|
30
|
+
charts: ICharts;
|
|
31
|
+
ratios: ISwarmRatios;
|
|
32
|
+
userCount: number;
|
|
33
|
+
}>, { payload }: {
|
|
34
|
+
payload: any;
|
|
35
|
+
type: string;
|
|
36
|
+
}) => {
|
|
37
|
+
charts: ICharts;
|
|
38
|
+
totalRps: number;
|
|
39
|
+
failRatio: number;
|
|
40
|
+
startTime: string;
|
|
41
|
+
stats: import('../../immer').WritableDraft<ISwarmStat>[];
|
|
42
|
+
errors: import('../../immer').WritableDraft<ISwarmError>[];
|
|
43
|
+
exceptions: import('../../immer').WritableDraft<ISwarmException>[];
|
|
44
|
+
ratios: import('../../immer').WritableDraft<ISwarmRatios>;
|
|
45
|
+
userCount: number;
|
|
46
|
+
};
|
|
47
|
+
updateChartMarkers: (state: import('../../immer').WritableDraft<{
|
|
48
|
+
totalRps: number;
|
|
49
|
+
failRatio: number;
|
|
50
|
+
startTime: string;
|
|
51
|
+
stats: ISwarmStat[];
|
|
52
|
+
errors: ISwarmError[];
|
|
53
|
+
exceptions: ISwarmException[];
|
|
54
|
+
charts: ICharts;
|
|
55
|
+
ratios: ISwarmRatios;
|
|
56
|
+
userCount: number;
|
|
57
|
+
}>, { payload }: {
|
|
58
|
+
payload: any;
|
|
59
|
+
type: string;
|
|
60
|
+
}) => {
|
|
61
|
+
charts: {
|
|
62
|
+
markers: any[];
|
|
63
|
+
currentRps: ((string | number)[] | import('../../types/ui.types').NullChartValue)[];
|
|
64
|
+
currentFailPerSec: ([string, number] | import('../../types/ui.types').NullChartValue)[];
|
|
65
|
+
totalAvgResponseTime: ([string, number] | import('../../types/ui.types').NullChartValue)[];
|
|
66
|
+
userCount: ([string, number] | import('../../types/ui.types').NullChartValue)[];
|
|
67
|
+
time: string[];
|
|
68
|
+
};
|
|
69
|
+
totalRps: number;
|
|
70
|
+
failRatio: number;
|
|
71
|
+
startTime: string;
|
|
72
|
+
stats: import('../../immer').WritableDraft<ISwarmStat>[];
|
|
73
|
+
errors: import('../../immer').WritableDraft<ISwarmError>[];
|
|
74
|
+
exceptions: import('../../immer').WritableDraft<ISwarmException>[];
|
|
75
|
+
ratios: import('../../immer').WritableDraft<ISwarmRatios>;
|
|
76
|
+
userCount: number;
|
|
77
|
+
};
|
|
78
|
+
}, "ui">;
|
|
79
|
+
declare const _default: import('..').Reducer<{
|
|
80
|
+
totalRps: number;
|
|
81
|
+
failRatio: number;
|
|
82
|
+
startTime: string;
|
|
83
|
+
stats: ISwarmStat[];
|
|
84
|
+
errors: ISwarmError[];
|
|
85
|
+
exceptions: ISwarmException[];
|
|
86
|
+
charts: ICharts;
|
|
87
|
+
ratios: ISwarmRatios;
|
|
88
|
+
userCount: number;
|
|
89
|
+
}>;
|
|
90
|
+
export default _default;
|