ydb-embedded-ui 3.0.1 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +26 -0
- package/README.md +2 -0
- package/dist/components/DateRange/DateRange.scss +11 -0
- package/dist/components/DateRange/DateRange.tsx +75 -0
- package/dist/components/DateRange/index.ts +1 -0
- package/dist/components/Illustration/Illustration.tsx +4 -11
- package/dist/components/InfoViewer/InfoViewer.scss +2 -0
- package/dist/containers/Storage/DiskStateProgressBar/DiskStateProgressBar.tsx +1 -1
- package/dist/containers/Storage/StorageNodes/StorageNodes.tsx +16 -0
- package/dist/containers/Tenant/Diagnostics/Diagnostics.tsx +4 -5
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.ts +7 -7
- package/dist/containers/Tenant/Diagnostics/OverloadedShards/OverloadedShards.scss +27 -0
- package/dist/containers/Tenant/Diagnostics/{TopShards/TopShards.tsx → OverloadedShards/OverloadedShards.tsx} +75 -20
- package/dist/containers/Tenant/Diagnostics/OverloadedShards/i18n/en.json +4 -0
- package/dist/containers/Tenant/Diagnostics/OverloadedShards/i18n/index.ts +11 -0
- package/dist/containers/Tenant/Diagnostics/OverloadedShards/i18n/ru.json +4 -0
- package/dist/containers/Tenant/Diagnostics/OverloadedShards/index.ts +1 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.scss +16 -19
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.tsx +202 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/i18n/en.json +4 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/i18n/index.ts +11 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/i18n/ru.json +4 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/index.ts +1 -0
- package/dist/containers/UserSettings/UserSettings.tsx +1 -1
- package/dist/services/api.d.ts +7 -0
- package/dist/store/reducers/describe.ts +4 -1
- package/dist/store/reducers/executeTopQueries.ts +170 -0
- package/dist/store/reducers/settings.js +1 -1
- package/dist/store/reducers/shardsWorkload.ts +91 -25
- package/dist/store/reducers/storage.js +2 -0
- package/dist/store/reducers/{tablets.js → tablets.ts} +30 -17
- package/dist/store/state-url-mapping.js +16 -0
- package/dist/types/api/compute.ts +52 -0
- package/dist/types/api/consumer.ts +257 -0
- package/dist/types/api/enums.ts +2 -2
- package/dist/types/api/nodes.ts +5 -2
- package/dist/types/api/pdisk.ts +3 -0
- package/dist/types/api/schema.ts +1 -0
- package/dist/types/api/storage.ts +31 -28
- package/dist/types/api/tablet.ts +18 -2
- package/dist/types/api/tenant.ts +4 -1
- package/dist/types/api/topic.ts +157 -0
- package/dist/types/api/vdisk.ts +3 -0
- package/dist/types/store/executeTopQueries.ts +29 -0
- package/dist/types/store/schema.ts +3 -3
- package/dist/types/store/shardsWorkload.ts +11 -2
- package/dist/types/store/tablets.ts +42 -0
- package/dist/utils/getNodesColumns.js +8 -1
- package/dist/utils/query.ts +1 -1
- package/package.json +3 -3
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.js +0 -188
- package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.scss +0 -7
- package/dist/containers/Tenant/Diagnostics/TopShards/index.ts +0 -1
- package/dist/store/reducers/executeTopQueries.js +0 -66
- package/dist/types/api/consumers.ts +0 -3
@@ -1,7 +1,20 @@
|
|
1
|
-
import {
|
1
|
+
import type {Reducer} from 'redux';
|
2
2
|
import '../../services/api';
|
3
3
|
|
4
|
-
|
4
|
+
import type {ETabletState, EType} from '../../types/api/tablet';
|
5
|
+
import type {
|
6
|
+
ITabletsAction,
|
7
|
+
ITabletsApiRequestParams,
|
8
|
+
ITabletsState,
|
9
|
+
} from '../../types/store/tablets';
|
10
|
+
|
11
|
+
import {createRequestActionTypes, createApiRequest} from '../utils';
|
12
|
+
|
13
|
+
export const FETCH_TABLETS = createRequestActionTypes('tablets', 'FETCH_TABLETS');
|
14
|
+
|
15
|
+
const CLEAR_WAS_LOADING_TABLETS = 'tablets/CLEAR_WAS_LOADING_TABLETS';
|
16
|
+
const SET_STATE_FILTER = 'tablets/SET_STATE_FILTER';
|
17
|
+
const SET_TYPE_FILTER = 'tablets/SET_TYPE_FILTER';
|
5
18
|
|
6
19
|
const initialState = {
|
7
20
|
loading: true,
|
@@ -10,13 +23,12 @@ const initialState = {
|
|
10
23
|
typeFilter: [],
|
11
24
|
};
|
12
25
|
|
13
|
-
const tablets =
|
26
|
+
const tablets: Reducer<ITabletsState, ITabletsAction> = (state = initialState, action) => {
|
14
27
|
switch (action.type) {
|
15
28
|
case FETCH_TABLETS.REQUEST: {
|
16
29
|
return {
|
17
30
|
...state,
|
18
31
|
loading: true,
|
19
|
-
requestTime: new Date().getTime(),
|
20
32
|
};
|
21
33
|
}
|
22
34
|
case FETCH_TABLETS.SUCCESS: {
|
@@ -35,20 +47,20 @@ const tablets = function z(state = initialState, action) {
|
|
35
47
|
loading: false,
|
36
48
|
};
|
37
49
|
}
|
38
|
-
case
|
50
|
+
case CLEAR_WAS_LOADING_TABLETS: {
|
39
51
|
return {
|
40
52
|
...state,
|
41
53
|
wasLoaded: false,
|
42
54
|
loading: true,
|
43
55
|
};
|
44
56
|
}
|
45
|
-
case
|
57
|
+
case SET_STATE_FILTER: {
|
46
58
|
return {
|
47
59
|
...state,
|
48
60
|
stateFilter: action.data,
|
49
61
|
};
|
50
62
|
}
|
51
|
-
case
|
63
|
+
case SET_TYPE_FILTER: {
|
52
64
|
return {
|
53
65
|
...state,
|
54
66
|
typeFilter: action.data,
|
@@ -59,25 +71,26 @@ const tablets = function z(state = initialState, action) {
|
|
59
71
|
}
|
60
72
|
};
|
61
73
|
|
62
|
-
export const setStateFilter = (stateFilter) => {
|
74
|
+
export const setStateFilter = (stateFilter: ETabletState[]) => {
|
63
75
|
return {
|
64
|
-
type:
|
76
|
+
type: SET_STATE_FILTER,
|
65
77
|
data: stateFilter,
|
66
|
-
};
|
78
|
+
} as const;
|
67
79
|
};
|
68
80
|
|
69
|
-
export const setTypeFilter = (typeFilter) => {
|
81
|
+
export const setTypeFilter = (typeFilter: EType[]) => {
|
70
82
|
return {
|
71
|
-
type:
|
83
|
+
type: SET_TYPE_FILTER,
|
72
84
|
data: typeFilter,
|
73
|
-
};
|
85
|
+
} as const;
|
74
86
|
};
|
75
87
|
|
76
|
-
export const clearWasLoadingFlag = () =>
|
77
|
-
|
78
|
-
|
88
|
+
export const clearWasLoadingFlag = () =>
|
89
|
+
({
|
90
|
+
type: CLEAR_WAS_LOADING_TABLETS,
|
91
|
+
} as const);
|
79
92
|
|
80
|
-
export function getTabletsInfo(data) {
|
93
|
+
export function getTabletsInfo(data: ITabletsApiRequestParams) {
|
81
94
|
return createApiRequest({
|
82
95
|
request: window.api.getTabletsInfo(data),
|
83
96
|
actions: FETCH_TABLETS,
|
@@ -48,6 +48,22 @@ const paramSetup = {
|
|
48
48
|
generalTab: {
|
49
49
|
stateKey: 'tenant.diagnosticsTab',
|
50
50
|
},
|
51
|
+
shardsDateFrom: {
|
52
|
+
stateKey: 'shardsWorkload.filters.from',
|
53
|
+
type: 'number',
|
54
|
+
},
|
55
|
+
shardsDateTo: {
|
56
|
+
stateKey: 'shardsWorkload.filters.to',
|
57
|
+
type: 'number',
|
58
|
+
},
|
59
|
+
topQueriesDateFrom: {
|
60
|
+
stateKey: 'executeTopQueries.filters.from',
|
61
|
+
type: 'number',
|
62
|
+
},
|
63
|
+
topQueriesDateTo: {
|
64
|
+
stateKey: 'executeTopQueries.filters.to',
|
65
|
+
type: 'number',
|
66
|
+
},
|
51
67
|
},
|
52
68
|
};
|
53
69
|
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import {EFlag} from './enums';
|
2
|
+
import {TEndpoint, TLegacyNodeLocation, TPoolStats} from './nodes';
|
3
|
+
import {TMetrics} from './tenant';
|
4
|
+
|
5
|
+
// endpoint: viewer/json/compute
|
6
|
+
// source: https://github.com/ydb-platform/ydb/blob/main/ydb/core/viewer/protos/viewer.proto
|
7
|
+
|
8
|
+
export interface TComputeInfo {
|
9
|
+
Overall: EFlag;
|
10
|
+
Tenants?: TComputeTenantInfo[];
|
11
|
+
Errors?: string[];
|
12
|
+
}
|
13
|
+
|
14
|
+
interface TComputeTenantInfo {
|
15
|
+
Overall: EFlag;
|
16
|
+
Name: string;
|
17
|
+
Nodes?: TComputeNodeInfo[];
|
18
|
+
}
|
19
|
+
|
20
|
+
interface TComputeNodeInfo {
|
21
|
+
/** uint64 */
|
22
|
+
StartTime: string;
|
23
|
+
/** uint64 */
|
24
|
+
ChangeTime: string;
|
25
|
+
SystemLocation: TLegacyNodeLocation;
|
26
|
+
/** double */
|
27
|
+
LoadAverage: number[];
|
28
|
+
NumberOfCpus: number;
|
29
|
+
Overall: EFlag;
|
30
|
+
NodeId: number;
|
31
|
+
DataCenter: string;
|
32
|
+
Rack: string;
|
33
|
+
Host: string;
|
34
|
+
Version: string;
|
35
|
+
PoolStats?: TPoolStats[];
|
36
|
+
Endpoints?: TEndpoint[];
|
37
|
+
Roles?: string[];
|
38
|
+
/** uint64 */
|
39
|
+
MemoryUsed?: string;
|
40
|
+
/** uint64 */
|
41
|
+
MemoryLimit?: string;
|
42
|
+
Metrics: TMetrics;
|
43
|
+
Tablets?: TTabletStateInfo[];
|
44
|
+
}
|
45
|
+
|
46
|
+
// Tablets in compute nodes
|
47
|
+
// Types for tabletInfo and tablets inside nodes and storage endpoints are in tablet.ts
|
48
|
+
interface TTabletStateInfo {
|
49
|
+
Type: string;
|
50
|
+
State: EFlag;
|
51
|
+
Count: number;
|
52
|
+
}
|
@@ -0,0 +1,257 @@
|
|
1
|
+
/* eslint-disable camelcase */
|
2
|
+
|
3
|
+
/**
|
4
|
+
* endpoint: /json/describe_consumer
|
5
|
+
*
|
6
|
+
* source: https://github.com/ydb-platform/ydb/blob/main/ydb/public/api/protos/ydb_topic.proto
|
7
|
+
*
|
8
|
+
* Original proto file doesn't specify optional fields, so every field is considered optional
|
9
|
+
*/
|
10
|
+
export interface DescribeConsumerResult {
|
11
|
+
self?: Entry;
|
12
|
+
consumer?: Consumer;
|
13
|
+
partitions?: PartitionInfo[];
|
14
|
+
}
|
15
|
+
|
16
|
+
/** Partition info types differs for consumer and topic, although they are very similar */
|
17
|
+
export interface PartitionInfo {
|
18
|
+
/** int64 */
|
19
|
+
partition_id?: string;
|
20
|
+
|
21
|
+
/** Is partition open for write. */
|
22
|
+
active?: boolean;
|
23
|
+
|
24
|
+
/**
|
25
|
+
* int64
|
26
|
+
*
|
27
|
+
* Ids of partitions which was formed when this partition was split or merged.
|
28
|
+
*/
|
29
|
+
child_partition_ids?: string[];
|
30
|
+
|
31
|
+
/**
|
32
|
+
* int64
|
33
|
+
*
|
34
|
+
* Ids of partitions from which this partition was formed by split or merge.
|
35
|
+
*/
|
36
|
+
parent_partition_ids?: string[];
|
37
|
+
|
38
|
+
/** Stats for partition, filled only when include_stats in request is true. */
|
39
|
+
partition_stats?: PartitionStats;
|
40
|
+
|
41
|
+
/** Stats for consumer of this partition, filled only when include_stats in request is true. */
|
42
|
+
partition_consumer_stats?: PartitionConsumerStats;
|
43
|
+
}
|
44
|
+
|
45
|
+
interface PartitionConsumerStats {
|
46
|
+
/**
|
47
|
+
* int64
|
48
|
+
*
|
49
|
+
* Last read offset from this partition.
|
50
|
+
*/
|
51
|
+
last_read_offset?: string;
|
52
|
+
|
53
|
+
/**
|
54
|
+
* int64
|
55
|
+
*
|
56
|
+
* Committed offset for this partition.
|
57
|
+
*/
|
58
|
+
committed_offset?: string;
|
59
|
+
|
60
|
+
/** Reading this partition read session identifier. */
|
61
|
+
read_session_id?: string;
|
62
|
+
|
63
|
+
/**
|
64
|
+
* google.protobuf.Timestamp
|
65
|
+
*
|
66
|
+
* Timestamp of providing this partition to this session by server.
|
67
|
+
*/
|
68
|
+
partition_read_session_create_time?: string;
|
69
|
+
|
70
|
+
/**
|
71
|
+
* google.protobuf.Timestamp
|
72
|
+
*
|
73
|
+
* Timestamp of last read from this partition. */
|
74
|
+
last_read_time?: string;
|
75
|
+
|
76
|
+
/**
|
77
|
+
* google.protobuf.Duration
|
78
|
+
*
|
79
|
+
* Maximum of differences between timestamp of read and write timestamp for all messages, read during last minute.
|
80
|
+
*/
|
81
|
+
max_read_time_lag?: string;
|
82
|
+
|
83
|
+
/**
|
84
|
+
* google.protobuf.Duration
|
85
|
+
*
|
86
|
+
* Maximum of differences between write timestamp and create timestamp for all messages, read during last minute.
|
87
|
+
*/
|
88
|
+
max_write_time_lag?: string;
|
89
|
+
|
90
|
+
/** How much bytes were read during several windows statistics from this partiton. */
|
91
|
+
bytes_read?: MultipleWindowsStat;
|
92
|
+
|
93
|
+
/** Read session name, provided by client. */
|
94
|
+
reader_name?: string;
|
95
|
+
|
96
|
+
/** Host where read session connected. */
|
97
|
+
connection_node_id?: number;
|
98
|
+
}
|
99
|
+
|
100
|
+
export interface PartitionStats {
|
101
|
+
/** Partition contains messages with offsets in range [start, end). */
|
102
|
+
partition_offsets?: OffsetsRange;
|
103
|
+
|
104
|
+
/**
|
105
|
+
* int64
|
106
|
+
*
|
107
|
+
* Approximate size of partition.
|
108
|
+
*/
|
109
|
+
store_size_bytes?: string;
|
110
|
+
|
111
|
+
/**
|
112
|
+
* google.protobuf.Timestamp
|
113
|
+
*
|
114
|
+
* Timestamp of last write.
|
115
|
+
*/
|
116
|
+
last_write_time?: string;
|
117
|
+
|
118
|
+
/**
|
119
|
+
* google.protobuf.Duration
|
120
|
+
*
|
121
|
+
* Maximum of differences between write timestamp and create timestamp for all messages, written during last minute.
|
122
|
+
*/
|
123
|
+
max_write_time_lag?: string;
|
124
|
+
|
125
|
+
/** How much bytes were written during several windows in this partition. */
|
126
|
+
bytes_written?: MultipleWindowsStat;
|
127
|
+
|
128
|
+
/** Host where tablet for this partition works. Useful for debugging purposes. */
|
129
|
+
partition_node_id?: number;
|
130
|
+
}
|
131
|
+
|
132
|
+
interface OffsetsRange {
|
133
|
+
/** int64 */
|
134
|
+
start?: string;
|
135
|
+
/** int64 */
|
136
|
+
end?: string;
|
137
|
+
}
|
138
|
+
|
139
|
+
export interface Consumer {
|
140
|
+
/** Must have valid not empty name as a key. */
|
141
|
+
name?: string;
|
142
|
+
|
143
|
+
/** Consumer may be marked as 'important'. It means messages for this consumer will never expire due to retention. */
|
144
|
+
important?: boolean;
|
145
|
+
|
146
|
+
/**
|
147
|
+
* google.protobuf.Timestamp
|
148
|
+
*
|
149
|
+
* All messages with smaller server written_at timestamp will be skipped.
|
150
|
+
*/
|
151
|
+
read_from?: string;
|
152
|
+
|
153
|
+
/**
|
154
|
+
* List of supported codecs by this consumer.
|
155
|
+
*
|
156
|
+
* supported_codecs on topic must be contained inside this list.
|
157
|
+
*/
|
158
|
+
supported_codecs?: SupportedCodecs;
|
159
|
+
|
160
|
+
/** Attributes of consumer */
|
161
|
+
attributes?: Record<string, string>;
|
162
|
+
|
163
|
+
/** Filled only when requested statistics in Describe*Request. */
|
164
|
+
consumer_stats?: ConsumerStats;
|
165
|
+
}
|
166
|
+
|
167
|
+
interface ConsumerStats {
|
168
|
+
/**
|
169
|
+
* google.protobuf.Timestamp
|
170
|
+
*
|
171
|
+
* Minimal timestamp of last read from partitions.
|
172
|
+
*/
|
173
|
+
min_partitions_last_read_time?: string;
|
174
|
+
|
175
|
+
/**
|
176
|
+
* google.protobuf.Duration
|
177
|
+
*
|
178
|
+
* Maximum of differences between timestamp of read and write timestamp for all messages, read during last minute.
|
179
|
+
*/
|
180
|
+
max_read_time_lag?: string;
|
181
|
+
|
182
|
+
/**
|
183
|
+
* google.protobuf.Duration
|
184
|
+
*
|
185
|
+
* Maximum of differences between write timestamp and create timestamp for all messages, read during last minute.
|
186
|
+
*/
|
187
|
+
max_write_time_lag?: string;
|
188
|
+
|
189
|
+
/** Bytes read stastics. */
|
190
|
+
bytes_read?: MultipleWindowsStat;
|
191
|
+
}
|
192
|
+
|
193
|
+
export interface MultipleWindowsStat {
|
194
|
+
/** int64 */
|
195
|
+
per_minute?: string;
|
196
|
+
/** int64 */
|
197
|
+
per_hour?: string;
|
198
|
+
/** int64 */
|
199
|
+
per_day?: string;
|
200
|
+
}
|
201
|
+
|
202
|
+
export interface SupportedCodecs {
|
203
|
+
/** List of supported codecs. */
|
204
|
+
codecs?: number[];
|
205
|
+
}
|
206
|
+
|
207
|
+
export interface Entry {
|
208
|
+
/** For consumer will be topic-name/consumer-name */
|
209
|
+
name?: string;
|
210
|
+
|
211
|
+
owner?: string;
|
212
|
+
type?: Type;
|
213
|
+
effective_permissions?: Permissions[];
|
214
|
+
permissions?: Permissions[];
|
215
|
+
|
216
|
+
/**
|
217
|
+
* uint64
|
218
|
+
*
|
219
|
+
* Size of entry in bytes. Currently filled for:
|
220
|
+
* - TABLE;
|
221
|
+
* - DATABASE.
|
222
|
+
*
|
223
|
+
* Empty (zero) in other cases.
|
224
|
+
*/
|
225
|
+
size_bytes?: string;
|
226
|
+
|
227
|
+
/** Virtual timestamp when the object was created */
|
228
|
+
created_at?: VirtualTimestamp;
|
229
|
+
}
|
230
|
+
|
231
|
+
interface Permissions {
|
232
|
+
subject?: string;
|
233
|
+
permission_names?: string[];
|
234
|
+
}
|
235
|
+
|
236
|
+
interface VirtualTimestamp {
|
237
|
+
/** uint64 */
|
238
|
+
plan_step?: string;
|
239
|
+
/** uint64 */
|
240
|
+
tx_id?: string;
|
241
|
+
}
|
242
|
+
|
243
|
+
enum Type {
|
244
|
+
TYPE_UNSPECIFIED = 'TYPE_UNSPECIFIED',
|
245
|
+
DIRECTORY = 'DIRECTORY',
|
246
|
+
TABLE = 'TABLE',
|
247
|
+
PERS_QUEUE_GROUP = 'PERS_QUEUE_GROUP',
|
248
|
+
DATABASE = 'DATABASE',
|
249
|
+
RTMR_VOLUME = 'RTMR_VOLUME',
|
250
|
+
BLOCK_STORE_VOLUME = 'BLOCK_STORE_VOLUME',
|
251
|
+
COORDINATION_NODE = 'COORDINATION_NODE',
|
252
|
+
COLUMN_STORE = 'COLUMN_STORE ',
|
253
|
+
COLUMN_TABLE = 'COLUMN_TABLE ',
|
254
|
+
SEQUENCE = 'SEQUENCE ',
|
255
|
+
REPLICATION = 'REPLICATION ',
|
256
|
+
TOPIC = 'TOPIC ',
|
257
|
+
}
|
package/dist/types/api/enums.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
// Shows system status
|
2
|
-
// Currently is used in response types
|
3
|
-
//
|
2
|
+
// Currently is used in response types viewer/json/ storage, nodes, compute
|
3
|
+
// pdiskinfo, vdiskinfo, tabletinfo, tenantinfo
|
4
4
|
export enum EFlag {
|
5
5
|
Grey = 'Grey',
|
6
6
|
Green = 'Green',
|
package/dist/types/api/nodes.ts
CHANGED
@@ -2,6 +2,9 @@ import {EFlag} from './enums';
|
|
2
2
|
import {TPDiskStateInfo} from './pdisk';
|
3
3
|
import {TTabletStateInfo} from './tablet';
|
4
4
|
|
5
|
+
// endpoint: /viewer/json/nodes
|
6
|
+
// source: https://github.com/ydb-platform/ydb/blob/main/ydb/core/viewer/protos/viewer.proto
|
7
|
+
|
5
8
|
export interface TNodesInfo {
|
6
9
|
Overall: EFlag;
|
7
10
|
Nodes?: TNodeInfo[];
|
@@ -64,12 +67,12 @@ export interface TPoolStats {
|
|
64
67
|
Threads?: number;
|
65
68
|
}
|
66
69
|
|
67
|
-
interface TEndpoint {
|
70
|
+
export interface TEndpoint {
|
68
71
|
Name?: string;
|
69
72
|
Address?: string;
|
70
73
|
}
|
71
74
|
|
72
|
-
interface TLegacyNodeLocation {
|
75
|
+
export interface TLegacyNodeLocation {
|
73
76
|
DataCenter?: number;
|
74
77
|
Room?: number;
|
75
78
|
Rack?: number;
|
package/dist/types/api/pdisk.ts
CHANGED
package/dist/types/api/schema.ts
CHANGED
@@ -37,6 +37,7 @@ enum EStatus {
|
|
37
37
|
StatusResourceExhausted = 'StatusResourceExhausted',
|
38
38
|
}
|
39
39
|
|
40
|
+
// source: https://github.com/ydb-platform/ydb/blob/main/ydb/core/protos/flat_scheme_op.proto
|
40
41
|
// incomplete interface, only currently used fields are covered
|
41
42
|
export interface TPathDescription {
|
42
43
|
/** info about the path itself */
|
@@ -1,6 +1,37 @@
|
|
1
1
|
import {EFlag} from './enums';
|
2
2
|
import {TVDiskStateInfo} from './vdisk';
|
3
3
|
|
4
|
+
// endpoint: /viewer/json/storage
|
5
|
+
// source: https://github.com/ydb-platform/ydb/blob/main/ydb/core/viewer/protos/viewer.proto
|
6
|
+
|
7
|
+
export interface TStorageInfo {
|
8
|
+
Overall?: EFlag;
|
9
|
+
StoragePools?: TStoragePoolInfo[];
|
10
|
+
/** uint64 */
|
11
|
+
TotalGroups?: string;
|
12
|
+
/** uint64 */
|
13
|
+
FoundGroups?: string;
|
14
|
+
}
|
15
|
+
|
16
|
+
interface TStoragePoolInfo {
|
17
|
+
Overall?: EFlag;
|
18
|
+
Name?: string;
|
19
|
+
Kind?: string;
|
20
|
+
Groups?: (TBSGroupStateInfo & THiveStorageGroupStats)[];
|
21
|
+
/** uint64 */
|
22
|
+
AcquiredUnits?: string;
|
23
|
+
AcquiredIOPS?: number;
|
24
|
+
/** uint64 */
|
25
|
+
AcquiredThroughput?: string;
|
26
|
+
/** uint64 */
|
27
|
+
AcquiredSize?: string;
|
28
|
+
MaximumIOPS?: number;
|
29
|
+
/** uint64 */
|
30
|
+
MaximumThroughput?: string;
|
31
|
+
/** uint64 */
|
32
|
+
MaximumSize?: string;
|
33
|
+
}
|
34
|
+
|
4
35
|
export interface TBSGroupStateInfo {
|
5
36
|
GroupID?: number;
|
6
37
|
ErasureSpecies?: string;
|
@@ -43,31 +74,3 @@ interface THiveStorageGroupStats {
|
|
43
74
|
/** uint64 */
|
44
75
|
AvailableSize?: string;
|
45
76
|
}
|
46
|
-
|
47
|
-
interface TStoragePoolInfo {
|
48
|
-
Overall?: EFlag;
|
49
|
-
Name?: string;
|
50
|
-
Kind?: string;
|
51
|
-
Groups?: (TBSGroupStateInfo & THiveStorageGroupStats)[];
|
52
|
-
/** uint64 */
|
53
|
-
AcquiredUnits?: string;
|
54
|
-
AcquiredIOPS?: number;
|
55
|
-
/** uint64 */
|
56
|
-
AcquiredThroughput?: string;
|
57
|
-
/** uint64 */
|
58
|
-
AcquiredSize?: string;
|
59
|
-
MaximumIOPS?: number;
|
60
|
-
/** uint64 */
|
61
|
-
MaximumThroughput?: string;
|
62
|
-
/** uint64 */
|
63
|
-
MaximumSize?: string;
|
64
|
-
}
|
65
|
-
|
66
|
-
export interface TStorageInfo {
|
67
|
-
Overall?: EFlag;
|
68
|
-
StoragePools?: TStoragePoolInfo[];
|
69
|
-
/** uint64 */
|
70
|
-
TotalGroups?: string;
|
71
|
-
/** uint64 */
|
72
|
-
FoundGroups?: string;
|
73
|
-
}
|
package/dist/types/api/tablet.ts
CHANGED
@@ -1,5 +1,21 @@
|
|
1
1
|
import {EFlag} from './enums';
|
2
2
|
|
3
|
+
// endpoint: /viewer/json/tabletinfo
|
4
|
+
// source: https://github.com/ydb-platform/ydb/blob/main/ydb/core/protos/sys_view.proto
|
5
|
+
|
6
|
+
export interface TEvTabletStateResponse {
|
7
|
+
TabletStateInfo?: TTabletStateInfo[];
|
8
|
+
|
9
|
+
/** uint64 */
|
10
|
+
ResponseTime?: string;
|
11
|
+
/** uint64 */
|
12
|
+
ResponseDuration?: string;
|
13
|
+
/** uint64 */
|
14
|
+
ProcessDuration?: string;
|
15
|
+
|
16
|
+
Packed5?: unknown;
|
17
|
+
}
|
18
|
+
|
3
19
|
export interface TTabletStateInfo {
|
4
20
|
/** uint64 */
|
5
21
|
TabletId?: string;
|
@@ -37,7 +53,7 @@ interface TDomainKey {
|
|
37
53
|
PathId?: string;
|
38
54
|
}
|
39
55
|
|
40
|
-
enum EType {
|
56
|
+
export enum EType {
|
41
57
|
'Unknown' = 'Unknown',
|
42
58
|
'OldSchemeShard' = 'OldSchemeShard',
|
43
59
|
'OldDataShard' = 'OldDataShard',
|
@@ -79,7 +95,7 @@ enum EType {
|
|
79
95
|
'TypeInvalid' = 'TypeInvalid',
|
80
96
|
}
|
81
97
|
|
82
|
-
enum ETabletState {
|
98
|
+
export enum ETabletState {
|
83
99
|
'Created' = 'Created',
|
84
100
|
'ResolveStateStorage' = 'ResolveStateStorage',
|
85
101
|
'Candidate' = 'Candidate',
|
package/dist/types/api/tenant.ts
CHANGED
@@ -2,6 +2,9 @@ import {EFlag} from './enums';
|
|
2
2
|
import {TPoolStats, TSystemStateInfo} from './nodes';
|
3
3
|
import {TTabletStateInfo} from './tablet';
|
4
4
|
|
5
|
+
// endpoint: /viewer/json/tenantinfo
|
6
|
+
// source: https://github.com/ydb-platform/ydb/blob/main/ydb/core/viewer/protos/viewer.proto
|
7
|
+
|
5
8
|
export interface TTenants {
|
6
9
|
Tenants?: TTenant[];
|
7
10
|
}
|
@@ -51,7 +54,7 @@ interface THiveDomainStatsStateCount {
|
|
51
54
|
Count?: number;
|
52
55
|
}
|
53
56
|
|
54
|
-
interface TMetrics {
|
57
|
+
export interface TMetrics {
|
55
58
|
/** uint64 */
|
56
59
|
CPU?: string;
|
57
60
|
/** uint64 */
|