@yugabytedb/perf-advisor-ui 1.0.138 → 1.0.140

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.
@@ -21,6 +21,7 @@ export declare const ACTIVE_SESSION_HISTORY_EPS_GLOBAL = "active_session_history
21
21
  export declare const ACTIVE_SESSION_HISTORY_QUERY_EVENTS = "active_session_history_query_events";
22
22
  export declare const ACTIVE_SESSION_HISOTRY_EPS_CLIENT_NODE = "active_session_history_eps_client_node";
23
23
  export declare const CPU_COUNT = "cpu_count";
24
+ export declare const K8S_CPU_REQUESTS = "container_cpu_request";
24
25
  export declare const CPU_USAGE_BY_DATABASE = "cpu_usage_by_database";
25
26
  export declare const CPU_THROTTLED_BY_DATABASE = "cpu_throttled_by_database";
26
27
  export declare const CPU_USAGE_QOS_THRESHOLD = "cpu_usage_qos_threshold";
@@ -166,7 +167,6 @@ export declare const MetricOrigin: {
166
167
  readonly CUSTOMER: "customer";
167
168
  readonly UNIVERSE: "universe";
168
169
  };
169
- export declare const METRIC_TABS: readonly ["ysql_ops", "ycql_ops", "server", "per_process", "disk_io", "tserver", "master", "master_advanced", "lsmdb"];
170
170
  export declare const METRIC_TABS_TABLES: string[];
171
171
  export declare const METRIC_TABS_DATABASES: string[];
172
172
  export declare const METRIC_TABLES_RESOURCES_WITH_GRAPHS: {
@@ -216,6 +216,39 @@ export declare const METRIC_RESOURCES_WITH_GRAPHS: readonly [{
216
216
  readonly name: "lsmdb";
217
217
  readonly metrics: readonly ["lsm_rocksdb_seek_next_prev", "lsm_rocksdb_total_sst_per_node", "lsm_rocksdb_avg_num_sst_per_node", "lsm_rocksdb_latencies_get", "lsm_rocksdb_latencies_write", "lsm_rocksdb_latencies_seek", "lsm_rocksdb_latencies_mutex", "lsm_rocksdb_block_cache_hit_miss", "lsm_rocksdb_block_cache_usage", "lsm_rocksdb_blooms_checked_and_useful", "lsm_rocksdb_stalls", "lsm_rocksdb_write_rejections", "lsm_rocksdb_memory_rejections", "lsm_rocksdb_flush_size", "lsm_rocksdb_compaction", "lsm_rocksdb_compaction_tasks", "lsm_rocksdb_compaction_time", "lsm_rocksdb_compaction_numfiles", "lsm_rocksdb_mem_tracker_db_memtable", "docdb_transaction", "docdb_transaction_pool_cache", "tablet_splitting_stats", "automatic_split_manager_time"];
218
218
  }];
219
+ export declare const METRIC_K8S_RESOURCES_WITH_GRAPHS: readonly [{
220
+ readonly title: "YSQL";
221
+ readonly name: "ysql_ops";
222
+ readonly metrics: readonly ["ysql_server_rpc_per_second", "ysql_sql_latency", "ysql_connections", "ysql_connections_per_sec", "ysql_server_advanced_rpc_per_second", "ysql_sql_advanced_latency", "ysql_catalog_cache_misses", "ysql_conn_mgr_active_connections"];
223
+ }, {
224
+ readonly title: "YCQL";
225
+ readonly name: "ycql_ops";
226
+ readonly metrics: readonly ["cql_server_rpc_per_second", "cql_sql_latency", "cql_server_rpc_p99", "cql_sql_latency_breakdown", "cql_yb_local_vs_remote", "cql_yb_latency", "cql_reactor_latency", "tserver_rpc_queue_size_cql", "cql_response_sizes", "cql_yb_transaction", "cql_yb_rpc_connections"];
227
+ }, {
228
+ readonly title: "Container";
229
+ readonly name: "container";
230
+ readonly metrics: readonly ["container_cpu_usage", "container_memory_usage", "container_volume_stats", "container_volume_usage_percent"];
231
+ }, {
232
+ readonly title: "Tablet Server";
233
+ readonly name: "tserver";
234
+ readonly metrics: readonly ["tserver_rpcs_per_sec_per_node", "tserver_ops_latency", "tserver_handler_latency", "tserver_threads_running", "tserver_threads_started", "tserver_uptime_min", "tserver_memory", "tserver_consensus_rpcs_per_sec", "tserver_change_config", "tserver_remote_bootstraps", "tserver_consensus_rpcs_latency", "tserver_change_config_latency", "tserver_context_switches", "tserver_spinlock_server", "tserver_log_latency", "tserver_log_bytes_written", "tserver_log_bytes_read", "tserver_log_ops_second", "tserver_write_lock_latency", "tserver_tc_malloc_stats", "tserver_log_stats", "tserver_cache_reader_num_ops", "tserver_glog_info_messages", "tserver_rpc_queue_size_tserver", "tserver_cpu_util_secs", "tserver_yb_rpc_connections", "tserver_live_tablet_peers", "raft_leader", "tserver_max_follower_lag"];
235
+ }, {
236
+ readonly title: "Master Server";
237
+ readonly name: "master";
238
+ readonly metrics: readonly ["master_overall_rpc_rate", "master_latency", "master_uptime_min", "master_memory", "master_get_tablet_location", "master_tsservice_reads", "master_tsservice_reads_latency", "master_tsservice_writes", "master_tsservice_writes_latency", "master_ts_heartbeats", "tserver_rpc_queue_size_master", "master_consensus_update", "master_consensus_update_latency", "master_multiraft_consensus_update", "master_multiraft_consensus_update_latency", "master_table_ops", "master_tablet_split_candidates", "master_cpu_util_secs", "master_yb_rpc_connections", "master_leaderless_and_underreplicated_tablets", "master_max_follower_lag", "master_load_balancer_stats"];
239
+ }, {
240
+ readonly title: "Master Server Advanced";
241
+ readonly name: "master_advanced";
242
+ readonly metrics: readonly ["master_threads_running", "master_log_latency", "master_log_bytes_written", "master_log_bytes_read", "master_tc_malloc_stats", "master_glog_info_messages", "master_lsm_rocksdb_seek_next_prev", "master_lsm_rocksdb_num_seeks_per_node", "master_lsm_rocksdb_total_sst_per_node", "master_lsm_rocksdb_avg_num_sst_per_node", "master_lsm_rocksdb_block_cache_hit_miss", "master_lsm_rocksdb_block_cache_usage", "master_lsm_rocksdb_blooms_checked_and_useful", "master_lsm_rocksdb_flush_size", "master_lsm_rocksdb_compaction", "master_lsm_rocksdb_compaction_numfiles", "master_lsm_rocksdb_compaction_time"];
243
+ }, {
244
+ readonly title: "DocDB";
245
+ readonly name: "lsmdb";
246
+ readonly metrics: readonly ["lsm_rocksdb_seek_next_prev", "lsm_rocksdb_total_sst_per_node", "lsm_rocksdb_avg_num_sst_per_node", "lsm_rocksdb_latencies_get", "lsm_rocksdb_latencies_write", "lsm_rocksdb_latencies_seek", "lsm_rocksdb_latencies_mutex", "lsm_rocksdb_block_cache_hit_miss", "lsm_rocksdb_block_cache_usage", "lsm_rocksdb_blooms_checked_and_useful", "lsm_rocksdb_stalls", "lsm_rocksdb_write_rejections", "lsm_rocksdb_memory_rejections", "lsm_rocksdb_flush_size", "lsm_rocksdb_compaction", "lsm_rocksdb_compaction_tasks", "lsm_rocksdb_compaction_time", "lsm_rocksdb_compaction_numfiles", "lsm_rocksdb_mem_tracker_db_memtable", "docdb_transaction", "docdb_transaction_pool_cache", "tablet_splitting_stats", "automatic_split_manager_time"];
247
+ }];
248
+ export declare const METRIC_TABS: ("ysql_ops" | "ycql_ops" | "server" | "per_process" | "disk_io" | "tserver" | "master" | "master_advanced" | "lsmdb")[];
249
+ export declare const METRIC_TABS_K8S: ("container" | "ysql_ops" | "ycql_ops" | "tserver" | "master" | "master_advanced" | "lsmdb")[];
250
+ export declare const MASTER_NODE_METRIC_TAB_NAMES: ReadonlySet<string>;
251
+ export declare const TSERVER_NODE_METRIC_TAB_NAMES: ReadonlySet<string>;
219
252
  export declare const RCA_GANT_CHART = "gant-chart-anomalies";
220
253
  export declare const METRIC_NAMES: {
221
254
  ysql_server_rpc_per_second: string;
@@ -254,6 +287,10 @@ export declare const METRIC_NAMES: {
254
287
  network_errors: string;
255
288
  system_load_over_time: string;
256
289
  node_clock_skew: string;
290
+ container_cpu_usage: string;
291
+ container_memory_usage: string;
292
+ container_volume_stats: string;
293
+ container_volume_usage_percent: string;
257
294
  process_user_cpu_seconds: string;
258
295
  process_system_cpu_seconds: string;
259
296
  process_virtual_memory: string;
@@ -370,6 +407,7 @@ export declare const METRIC_NAMES: {
370
407
  table_mem_tracker_db_memtable: string;
371
408
  };
372
409
  export declare const METRICS_SESSION_STORAGE_KEY = "METRICS_NAMES";
410
+ export declare const METRICS_K8S_SESSION_STORAGE_KEY = "METRICS_K8S_NAMES";
373
411
  export declare const METRICS_OUTLIER_TABLES_STORAGE_KEY = "METRICS_OUTLIER_TABLES_NAMES";
374
412
  export declare const METRICS_OUTLIER_DATABASES_STORAGE_KEY = "METRICS_OUTLIER_DATABASES_NAMES";
375
413
  export declare const COLORS: string[];
@@ -8,6 +8,7 @@ export interface Universe {
8
8
  isPgssRpcStatsSupported?: boolean;
9
9
  qpmEnabled?: boolean;
10
10
  qpmSupported?: boolean;
11
+ kubernetes?: boolean;
11
12
  resources: Resources;
12
13
  universeConfig: UniverseConfig;
13
14
  universeDetails: any;
@@ -115,12 +116,18 @@ export declare enum MetricMeasure {
115
116
  OUTLIER_TABLES = "Outlier_Tables",
116
117
  OUTLIER_DB = "Outlier_Databases"
117
118
  }
119
+ export declare enum NodeType {
120
+ ALL = "ALL",
121
+ MASTER = "MASTER",
122
+ TSERVER = "TSERVER"
123
+ }
118
124
  export interface ClusterDetails {
119
125
  universeUuid: string;
120
126
  cluster: string;
121
127
  region: string;
122
128
  zone: string;
123
129
  node: string;
130
+ nodeType?: NodeType;
124
131
  metricMeasure: MetricMeasure;
125
132
  numNodes: number;
126
133
  outlierType: string;
@@ -204,6 +211,7 @@ export interface GraphMetadata {
204
211
  groupByControl: boolean;
205
212
  displayName?: string;
206
213
  aggregatedLineSettings?: AggregatedLineSettings;
214
+ mergeGroup?: string;
207
215
  }
208
216
  export interface GraphRequestParams {
209
217
  start: Date | string;
@@ -242,6 +250,7 @@ export interface GraphFilters {
242
250
  dbId?: string[];
243
251
  tableId?: string[];
244
252
  instanceName?: string[];
253
+ instanceType?: string[];
245
254
  clusterUuid?: string[];
246
255
  regionCode?: string[];
247
256
  azCode?: string[];
@@ -1,4 +1,4 @@
1
- import { Anomaly, AnomalyCategory, AppName, ClusterLoadOverallTabs, ClusterLoadSubTabs, GraphFilters, InsightsTabs, WaitEventClassification, GraphRequestParams, GraphType, MetricMeasure, QueryPageParams, AnomalyGroup, TransformedData, TransformedDbLoadData, TransformedNodeLoadData, TransformedTabletsData, BackgroundTasksResponse, TransformedBackgroundTasksResponse, AnomalyPossibleCauseData, UniverseNodeDetails, QueryPlanEntry, ClusterDetails } from './dtos';
1
+ import { Anomaly, AnomalyCategory, AppName, ClusterLoadOverallTabs, ClusterLoadSubTabs, GraphFilters, InsightsTabs, WaitEventClassification, GraphRequestParams, GraphType, MetricMeasure, QueryPageParams, AnomalyGroup, TransformedData, TransformedDbLoadData, TransformedNodeLoadData, TransformedTabletsData, BackgroundTasksResponse, TransformedBackgroundTasksResponse, AnomalyPossibleCauseData, UniverseNodeDetails, QueryPlanEntry, ClusterDetails, NodeType } from './dtos';
2
2
  export declare const formatData: (data: any) => any;
3
3
  export declare const formatUniverseNodeDetails: (universeNodesDetails: UniverseNodeDetails) => {
4
4
  primaryZoneMapping: any;
@@ -54,9 +54,15 @@ export declare const getOperations: (metricMeasure: string, metricData: any, gra
54
54
  groupByOperations: any;
55
55
  };
56
56
  export declare const calculateDateDifference: (startDate: Date, endDate: Date) => number;
57
- export declare const applyClusterFilters: (filters: GraphFilters, details: Pick<ClusterDetails, 'cluster' | 'region' | 'zone' | 'node'>) => void;
58
- export declare const buildClusterUrlParams: (details: Pick<ClusterDetails, 'cluster' | 'region' | 'zone' | 'node'>) => URLSearchParams;
59
- export declare const buildTopKMetricParams: (clusterDetails: ClusterDetails, metricsTabNumber: number) => GraphRequestParams[] | undefined;
57
+ export declare const applyClusterFilters: (filters: GraphFilters, details: Pick<ClusterDetails, 'cluster' | 'region' | 'zone' | 'node' | 'nodeType'>) => void;
58
+ export declare const buildClusterUrlParams: (details: Pick<ClusterDetails, 'cluster' | 'region' | 'zone' | 'node' | 'nodeType'>) => URLSearchParams;
59
+ export type MetricTabResource = {
60
+ readonly title: string;
61
+ readonly name: string;
62
+ readonly metrics: readonly string[];
63
+ };
64
+ export declare const filterMetricResourcesByNodeType: (resources: readonly MetricTabResource[], nodeType?: NodeType) => readonly MetricTabResource[];
65
+ export declare const buildTopKMetricParams: (clusterDetails: ClusterDetails, metricsTabNumber: number, isK8sUniverse?: boolean) => GraphRequestParams[] | undefined;
60
66
  export declare const buildAnomalyGraphParams: (clusterDetails: ClusterDetails, graphParamsCopy: GraphRequestParams[]) => GraphRequestParams[];
61
67
  export declare const buildHistoricalQueryParams: (clusterDetails: ClusterDetails, urlParams: QueryPageParams | null, graphNames: readonly string[], anomalyData?: AnomalyGroup | null, ashGroupBy?: WaitEventClassification) => GraphRequestParams[];
62
68
  export declare const getStepSeconds: (startTime: string | null, endTime: string | null) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yugabytedb/perf-advisor-ui",
3
- "version": "1.0.138",
3
+ "version": "1.0.140",
4
4
  "type": "module",
5
5
  "main": "dist/esm/index.js",
6
6
  "module": "dist/esm/index.js",