- id: 1
  name: QPS:total
  unit: "1"
  expr: 'label_replace(sum(rate(tidb_executor_statement_total{cluster_id=~".*{tidb_cluster_id}"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Key
  - Workload
  sub_metrics:
  - "QPS:by_type"
  description: QPS
  panel: Performance Overview - QPS

- id: 1
  name: QPS:by_type
  unit: "1"
  expr: 'label_replace(sum(rate(tidb_executor_statement_total{ cluster_id=~".*{tidb_cluster_id}"}[2m])) by (type), "name", "$1", "type", "(.*)")'
  component: TiDB
  type: 
  - Workload
  only_sub: True
  description: QPS
  panel: Performance Overview - QPS

- id: 2
  name: Connnection_count:total
  unit: "1"
  expr: 'label_replace(sum(tidb_server_connections{cluster_id=~".*{tidb_cluster_id}"}),"name","total","","")'
  component: TiDB
  type: 
  - Key
  - Workload
  sub_metrics:
  - "Connnection_count:by_instance"
  description: connection_count
  panel: Performance Overview - Connection Count

- id: 2
  name: Connnection_count:by_instance
  unit: "1"
  expr: 'label_replace(sum(tidb_server_connections{cluster_id=~".*{tidb_cluster_id}"}) by (instance), "name", "$1", "instance", "(.*)")'
  component: TiDB
  type: 
  - Workload
  only_sub: True
  description: connection_count
  panel: Performance Overview - Connection Count

- id: 3
  name: Active_connection_count:total
  unit: "1"
  expr: 'label_replace(sum(rate(tidb_server_handle_query_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", sql_type!="internal"}[2m])),"name","total","","")'
  component: TiDB
  type:
  - Key
  - Workload
  description: Active_connection
  panel: Performance Overview - Connection Count

- id: 4
  name: Disconnection_count:total
  unit: "1"
  expr: 'label_replace(sum(rate(tidb_server_disconnection_total{cluster_id=~".*{tidb_cluster_id}", result="undetermined|error"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Perf_basic
  description: Disconnection
  panel: TiDB - Disconnection Count

- id: 5
  name: CPS:total
  unit: "1"
  expr: 'label_replace(sum(rate(tidb_server_query_total{cluster_id=~".*{tidb_cluster_id}"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Key
  - Workload
  sub_metrics:
  - "CPS:by_type"
  description: CPS_by_Type
  panel: Performance Overview - CPS by Type

- id: 5
  name: CPS:by_type
  unit: "1"
  expr: 'label_replace(sum(rate(tidb_server_query_total{cluster_id=~".*{tidb_cluster_id}"}[2m])) by (type), "name", "$1", "type", "(.*)")'
  component: TiDB 
  type: 
  - Workload
  only_sub: True
  description: CPS_by_Type
  panel: Performance Overview - CPS by Type

- id: 6
  name: Plan_cache_OPS:total
  unit: "1"
  expr: 'label_replace(sum(rate(tidb_server_plan_cache_total{cluster_id=~".*{tidb_cluster_id}"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Workload
  description: Queries_Using_Plan_Cache_OPS
  panel: Performance Overview - Queries Using Plan Cache OPS

- id: 7
  name: Database_time:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_server_handle_query_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", sql_type!="internal"}[2m])),"name","Database_time","", "")'
  component: TiDB
  type:
  - Key
  - Perf_basic
  - Perf_phase
  - Perf_type
  description: Database_Time_by_SQL_Type
  panel: Performance Overview - Database Time by SQL Type

- id: 7
  name: Database_time:by_type
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_server_handle_query_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", sql_type!="internal"}[2m])) by (sql_type),"name","$1","sql_type", "(.*)")'
  component: TiDB
  type: 
  - Perf_type
  description: Database_Time_by_SQL_Type
  panel: Performance Overview - Database Time by SQL Type

- id: 8
  name: Get_token_time:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_server_get_token_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}"}[2m])) / 1000000,"name","total","","")'
  component: TiDB
  type: 
  - Perf_phase
  description: P99_Get_Token_Duration
  panel: Performance Overview - Database Time by SQL Phase

- id: 8
  name: Parse_time:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_session_parse_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", sql_type="general"}[2m])),"name","total","","")' 
  component: TiDB
  type: 
  - Perf_phase
  description: Parse_Duration
  panel: Performance Overview - Database Time by SQL Phase

- id: 8
  name: Compile_time:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_session_compile_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", sql_type="general"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Perf_phase
  description: Compile_Duration
  panel: Performance Overview - Database Time by SQL Phase

- id: 8
  name: Execute_time:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_session_execute_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", sql_type="general"}[2m])),"name","total","","")' 
  component: TiDB
  type: 
  - Perf_phase
  description: Execute_duration
  panel: Performance Overview - Database Time by SQL Phase

- id: 9
  name: SQL_execute_time:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_tikvclient_request_seconds_sum{cluster_id=~".*{tidb_cluster_id}", store!="0"}[2m])), "name", "total", "", "")'
  component: TiDB
  type: 
  - Perf_sqlexecute
  description: 
  panel: Performance Overview - SQL Execute Time Overview

- id: 9
  name: SQL_execute_time:by_type
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_tikvclient_request_seconds_sum{cluster_id=~".*{tidb_cluster_id}", store!="0"}[2m])) by (type), "name", "$1", "type", "(.*)")'
  component: TiDB
  type: 
  - Perf_sqlexecute
  description: 
  panel: Performance Overview - SQL Execute Time Overview

- id: 9
  name: Wait_start_TSO_time:total
  unit: "s"
  expr: 'label_replace(sum(rate(pd_client_cmd_handle_cmds_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", type="wait"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Perf_sqlexecute
  description: SQL_Execute_Time_Overview
  panel: Performance Overview - SQL Execute Time Overview

- id: 10
  name: QPS_failed:total
  unit: "1"
  expr: 'label_replace(sum(rate(tidb_server_execute_error_total{cluster_id=~".*{tidb_cluster_id}"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Perf_basic
  description: Failed_Query_OPM_Detail
  panel: Performance Overview - QPS

- id: 11
  name: Avg_cluster_duration:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_server_handle_query_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", sql_type!="internal"}[2m])) / sum(rate(tidb_server_handle_query_duration_seconds_count{cluster_id=~".*{tidb_cluster_id}", sql_type!="internal"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Key
  - Perf_basic
  description: Duration
  panel: Performance Overview - Duration

- id: 11
  name: Avg_cluster_duration:by_type
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_server_handle_query_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", sql_type!="internal"}[2m])) by(sql_type) / sum(rate(tidb_server_handle_query_duration_seconds_count{cluster_id=~".*{tidb_cluster_id}", sql_type!="internal"}[2m])) by(sql_type),"name","$1","sql_type","(.*)")'
  component: TiDB
  type: 
  - Perf_durbytype
  description: Duration
  panel: Performance Overview - Duration

- id: 11
  name: P99_cluster_duration:total
  unit: "s"
  expr: 'label_replace(histogram_quantile(0.99, sum(rate(tidb_server_handle_query_duration_seconds_bucket{cluster_id=~".*{tidb_cluster_id}", sql_type!="internal"}[2m])) by (le)), "name", "total", "", "")'
  component: TiDB
  type: 
  - Key
  description: Duration
  panel: Performance Overview - Duration

- id: 12
  name: Avg_idle_connection_duration_in_txn:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_server_conn_idle_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", in_txn="1"}[2m])) / sum(rate(tidb_server_conn_idle_duration_seconds_count{cluster_id=~".*{tidb_cluster_id}", in_txn="1"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Perf_detailed
  description: Connection_Idle_Duration
  panel: Performance Overview - Connection Idle Duration

- id: 12
  name: Avg_idle_connection_duration_not_in_txn:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_server_conn_idle_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", in_txn="0"}[2m])) / sum(rate(tidb_server_conn_idle_duration_seconds_count{cluster_id=~".*{tidb_cluster_id}", in_txn="0"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Perf_detailed
  description: Connection_Idle_Duration
  panel: Performance Overview - Connection Idle Duration

- id: 13
  name: P99_get_token_duration:total
  unit: "s"
  expr: 'label_replace(histogram_quantile(0.99, sum(rate(tidb_server_get_token_duration_seconds_bucket{cluster_id=~".*{tidb_cluster_id}"}[1m])) by (le)) / 1000000,"name","total","","")'
  component: TiDB
  type: 
  - Perf_detailed
  description: P99_Get_Token_Duration
  panel: TiDB - Executor

- id: 14
  name: Avg_parse_duration:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_session_parse_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", sql_type="general"}[2m])) / sum(rate(tidb_session_parse_duration_seconds_count{cluster_id=~".*{tidb_cluster_id}", sql_type="general"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Perf_detailed
  description: Parse_Duration
  panel: Performance Overview - Parse Duration

- id: 15
  name: Avg_compile_duration:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_session_compile_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", sql_type="general"}[2m])) / sum(rate(tidb_session_compile_duration_seconds_count{cluster_id=~".*{tidb_cluster_id}", sql_type="general"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Perf_detailed
  description: Compile_Duration
  panel: Performance Overview -  Compile Duration

- id: 16
  name: Avg_execute_duration:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_session_execute_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}", sql_type="general"}[2m])) / sum(rate(tidb_session_execute_duration_seconds_count{cluster_id=~".*{tidb_cluster_id}", sql_type="general"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Perf_detailed
  description: Execute_duration
  panel: Performance Overview - Execute Duration

- id: 17
  name: KV_request_OPS:total
  unit: "1"
  expr: 'label_replace(sum(rate(tidb_tikvclient_request_seconds_count{cluster_id=~".*{tidb_cluster_id}"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Perf_detailed
  description: KV_request_OPS
  panel: Performance Overview - KV/TSO Request OPS

- id: 18
  name: Avg_KV_request_duration:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_tikvclient_request_seconds_sum{cluster_id=~".*{tidb_cluster_id}", store!="0"}[2m])) / sum(rate(tidb_tikvclient_request_seconds_count{cluster_id=~".*{tidb_cluster_id}", store!="0"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Perf_detailed
  description: Avg_TiDB_KV_Request_Duration
  panel: Performance Overview - Avg TiDB KV Request Duration

- id: 19
  name: Avg_TiKV_gRPC_duration:total
  unit: "s"
  expr: 'label_replace(sum(rate(tikv_grpc_msg_duration_seconds_sum{cluster_id=~".*{tidb_cluster_id}"}[2m])) / sum(rate(tikv_grpc_msg_duration_seconds_count{cluster_id=~".*{tidb_cluster_id}"}[2m])),"name","total","","")'
  component: TiKV
  type: 
  - Perf_detailed
  description: Avg_TiKV_GRPC_Duration
  panel: Performance Overview - Avg TiKV GRPC Duration

- id: 20
  name: TSO_request_OPS:total
  unit: "1"
  expr: 'label_replace(sum(rate(pd_client_request_handle_requests_duration_seconds_count{cluster_id=~".*{tidb_cluster_id}", type="tso"}[2m])),"name","total","","")'
  component: TiDB
  type: 
  - Perf_detailed
  description: TSO_request_OPS
  panel: Performance Overview - KV/TSO Request OPS

- id: 21
  name: Avg_PD_wait_duration:total
  unit: "s"
  expr: 'label_replace(sum(rate(pd_client_cmd_handle_cmds_duration_seconds_sum{ cluster_id=~".*{tidb_cluster_id}", type="wait"}[2m])) / sum(rate(pd_client_cmd_handle_cmds_duration_seconds_count{ cluster_id=~".*{tidb_cluster_id}", type="wait"}[2m])),"name","total","","")'
  component: PD 
  type: 
  - Perf_detailed
  description: PD_TSO_Wait_Duration
  panel: Performance Overview - PD TSO Wait/RPC Duration

- id: 22
  name: Avg_PD_grpc_duration:total
  unit: "s"
  expr: 'label_replace(sum(rate(pd_client_request_handle_requests_duration_seconds_sum{ cluster_id=~".*{tidb_cluster_id}", type="tso"}[2m])) / sum(rate(pd_client_request_handle_requests_duration_seconds_count{ cluster_id=~".*{tidb_cluster_id}", type="tso"}[2m])),"name","total","","")'
  component: PD
  type: 
  - Perf_detailed
  description: PD_TSO_RPC_Duration
  panel: Performance Overview - PD TSO Wait/RPC Duration

- id: 23
  name: TiDB_memory_usage:by_instance
  unit: "Bytes"
  expr: 'label_replace(process_resident_memory_bytes{cluster_id=~".*{tidb_cluster_id}", component="tidb"}, "name", "$1", "instance", "(.*)")'
  component: TiDB
  type: 
  - Resource
  only_sub: True
  description: TiDB_Memory
  panel: TiDB - Server - Memory Usage

- id: 23
  name: TiDB_memory_delta:total
  unit: "Bytes"
  expr: 'label_replace((max(process_resident_memory_bytes{cluster_id=~".*{tidb_cluster_id}", component="tidb"})-min(process_resident_memory_bytes{cluster_id=~".*{tidb_cluster_id}", component="tidb"})), "name", "TiDB_memory_delta", "", "")'
  component: TiDB
  type: 
  - Resource
  sub_metrics:
  - "TiDB_memory_usage:by_instance"
  description: TiDB_Memory
  panel: TiDB - Server - Memory Usage

- id: 23
  name: TiDB_memory_max:total
  unit: "Bytes"
  expr: 'label_replace(max(process_resident_memory_bytes{cluster_id=~".*{tidb_cluster_id}", component="tidb"}), "name", "TiDB_memory_max", "", "")'
  component: TiDB
  type: 
  - Resource
  description: TiDB_Memory
  panel: TiDB - Server - Memory Usage

- id: 24
  name: TiDB_CPU_usage:by_instance
  unit: "%"
  expr: 'label_replace(rate(process_cpu_seconds_total{ cluster_id=~".*{tidb_cluster_id}",component="tidb"}[2m]) * 100, "name", "$1", "instance", "(.*)")'
  component: TiDB
  type: 
  - Resource
  only_sub: True
  description: TiDB_CPU
  panel: TiDB - Server - CPU Usage

- id: 24
  name: TiDB_CPU_delta:total
  unit: "%"
  expr: 'label_replace((max(rate(process_cpu_seconds_total{ cluster_id=~".*{tidb_cluster_id}",component="tidb"}[2m]))-min(rate(process_cpu_seconds_total{ cluster_id=~".*{tidb_cluster_id}",component="tidb"}[2m]))) * 100, "name", "tidb_cpu_delta", "", "")'
  component: TiDB
  type: 
  - Resource
  sub_metrics:
  - "TiDB_CPU_usage:by_instance"
  description: TiDB_CPU
  panel: TiDB - Server - CPU Usage

- id: 24
  name: TiDB_CPU_max:total
  unit: "%"
  expr: 'label_replace(max(rate(process_cpu_seconds_total{ cluster_id=~".*{tidb_cluster_id}",component="tidb"}[2m])) * 100, "name", "tidb_cpu_max", "", "")'
  component: TiDB
  type: 
  - Key
  - Resource
  description: TiDB_CPU
  panel: TiDB - Server - CPU Usage

- id: 25
  name: TiKV_memory_usage:by_instance
  unit: "Bytes"
  expr: 'label_replace(process_resident_memory_bytes{cluster_id=~".*{tidb_cluster_id}", component="tikv"}, "name", "$1", "instance", "(.*)")'
  component: TiKV
  type: 
  - Resource
  only_sub: True
  description: TiKV_Memory
  panel: TiKV Details - Cluster - Memory

- id: 25
  name: TiKV_memory_delta:total
  unit: "Bytes"
  expr: 'label_replace((max(process_resident_memory_bytes{cluster_id=~".*{tidb_cluster_id}", component="tikv"})-min(process_resident_memory_bytes{cluster_id=~".*{tidb_cluster_id}", component="tikv"})), "name", "tikv_memory_delta", "", "")'
  component: TiKV
  type: 
  - Resource
  sub_metrics:
  - "TiKV_memory_usage:by_instance"
  description: TiKV_Memory
  panel: TiKV Details - Cluster - Memory

- id: 25
  name: TiKV_memory_max:total
  unit: "Bytes"
  expr: 'label_replace(max(process_resident_memory_bytes{cluster_id=~".*{tidb_cluster_id}", component="tikv"}), "name", "tikv_memory_max", "", "")'
  component: TiKV
  type: 
  - Resource
  description: TiKV_Memory
  panel: TiKV Details - Cluster - Memory

- id: 26
  name: TiKV_CPU_usage:by_instance
  unit: "%"
  expr: 'label_replace(sum(rate(tikv_thread_cpu_seconds_total{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance) * 100, "name", "$1", "instance", "(.*)")'
  component: TiKV
  type: 
  - Resource
  only_sub: True
  description: TiKV_CPU
  panel: TiKV Details - Cluster - CPU

- id: 26
  name: TiKV_CPU_delta:total
  unit: "%"
  expr: 'label_replace((max(sum(rate(tikv_thread_cpu_seconds_total{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance))-min(sum(rate(tikv_thread_cpu_seconds_total{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance))) * 100, "name", "tikv_cpu_delta", "", "")'
  component: TiKV
  type: 
  - Resource
  sub_metrics:
  - "TiKV_CPU_usage:by_instance"
  description: TiKV_CPU
  panel: TiKV Details - Cluster - CPU

- id: 26
  name: TiKV_CPU_max:total
  unit: "%"
  expr: 'label_replace(max(sum(rate(tikv_thread_cpu_seconds_total{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)) * 100, "name", "tikv_cpu_max", "", "")'
  component: TiKV
  type: 
  - Key
  - Resource
  description: TiKV_CPU
  panel: TiKV Details - Cluster - CPU

- id: 27
  name: TiKV_IO_MBps:by_instance
  unit: "Bps"
  expr: 'label_replace(sum(rate(tikv_engine_flow_bytes{cluster_id=~".*{tidb_cluster_id}", db="kv", type=~"bytes_read|iter_bytes_read|wal_file_bytes"}[2m])) by (instance), "name", "$1", "instance", "(.*)")'
  component: TiKV
  type: 
  - Resource
  only_sub: True
  description: TiKV_Disk_IO_MBPS
  panel: TiKV Details - Cluster - MBps

- id: 27
  name: TiKV_IO_MBps_delta:total
  unit: "Bps"
  expr: 'label_replace((max(sum(rate(tikv_engine_flow_bytes{cluster_id=~".*{tidb_cluster_id}", db="kv", type=~"bytes_read|iter_bytes_read|wal_file_bytes"}[2m])) by (instance))-min(sum(rate(tikv_engine_flow_bytes{cluster_id=~".*{tidb_cluster_id}", db="kv", type=~"bytes_read|iter_bytes_read|wal_file_bytes"}[2m])) by (instance))), "name", "tikv_io_delta", "", "")'
  component: TiKV
  type: 
  - Resource
  sub_metrics:
  - "TiKV_IO_MBps:by_instance"
  description: TiKV_Disk_IO_MBPS
  panel: TiKV Details - Cluster - MBps

- id: 27
  name: TiKV_IO_MBps_max:total
  unit: "Bps"
  expr: 'label_replace(max(sum(rate(tikv_engine_flow_bytes{cluster_id=~".*{tidb_cluster_id}", db="kv", type=~"bytes_read|iter_bytes_read|wal_file_bytes"}[2m]))by(instance)), "name", "tikv_io_max", "", "")'
  component: TiKV
  type: 
  - Key
  - Resource
  description: TiKV_Disk_IO_MBPS
  panel: TiKV Details - Cluster - MBps

- id: 29
  name: TiKV_disk_usage:by_instance
  unit: "%"
  expr: 'label_replace(sum(tikv_engine_size_bytes{cluster_id=~".*{tidb_cluster_id}"}) by (instance) / sum(tikv_store_size_bytes{cluster_id=~".*{tidb_cluster_id}", type="capacity"}) by (instance) * 100, "name", "$1", "instance", "(.*)")'
  component: TiKV
  type: 
  - Resource
  only_sub: True
  description: TiKV_Storage_Usage
  panel: TiKV Details --> Cluster --> Store Size & Capacity

- id: 29
  name: TiKV_disk_usage_delta:total
  unit: "%"
  expr: 'label_replace((max(sum(tikv_engine_size_bytes{cluster_id=~".*{tidb_cluster_id}"}) by (instance) / sum(tikv_store_size_bytes{cluster_id=~".*{tidb_cluster_id}", type="capacity"}) by (instance))-min(sum(tikv_engine_size_bytes{cluster_id=~".*{tidb_cluster_id}"}) by (instance) / sum(tikv_store_size_bytes{cluster_id=~".*{tidb_cluster_id}", type="capacity"}) by (instance))) * 100, "name", "tikv_disg_usage_delta", "", "")'
  component: TiKV
  type: 
  - Resource
  sub_metrics:
  - "TiKV_disk_usage:by_instance"
  description: TiKV_Storage_Usage
  panel: TiKV Details --> Cluster --> Store Size & Capacity

- id: 29
  name: TiKV_disk_usage_max:total
  unit: "%"
  expr: 'label_replace(max(sum(tikv_engine_size_bytes{cluster_id=~".*{tidb_cluster_id}"}) by (instance) / sum(tikv_store_size_bytes{cluster_id=~".*{tidb_cluster_id}", type="capacity"}) by (instance)) * 100, "name", "tikv_disk_usage_max", "", "")'
  component: TiKV
  type: 
  - Key
  - Resource
  description: TiKV_Storage_Usage
  panel: TiKV Details --> Cluster --> Store Size & Capacity

- id: 31
  name: PD_CPU_usage:by_instance
  unit: "%"
  expr: 'label_replace(irate(process_cpu_seconds_total{cluster_id=~".*{tidb_cluster_id}",job=~".*pd.*"}[2m]) * 100, "name", "$1", "instance", "(.*)")'
  component: PD
  type: 
  - Resource
  only_sub: True
  description: PD_CPU
  panel: PD - Cluster - CPU Usage

- id: 31
  name: PD_CPU_usage_delta:total
  unit: "%"
  expr: 'label_replace((max(irate(process_cpu_seconds_total{cluster_id=~".*{tidb_cluster_id}",job=~".*pd.*"}[2m]))-min(irate(process_cpu_seconds_total{cluster_id=~".*{tidb_cluster_id}",job=~".*pd.*"}[2m]))) * 100, "name", "pd_cpu_delta", "", "")'
  component: PD
  type: 
  - Resource
  sub_metrics:
  - "PD_CPU_usage:by_instance"
  description: PD_CPU
  panel: PD - Cluster - CPU Usage

- id: 31
  name: PD_CPU_usage_max:total
  unit: "%"
  expr: 'label_replace(max(irate(process_cpu_seconds_total{cluster_id=~".*{tidb_cluster_id}",job=~".*pd.*"}[2m])) * 100, "name", "pd_cpu_max", "", "")'
  component: PD
  type: 
  - Resource
  description: PD_CPU
  panel: PD - Cluster - CPU Usage

- id: 32
  name: KV_Request_Time:total
  unit: "s"
  expr: 'label_replace(sum(rate(tidb_tikvclient_request_time_counter{cluster_id=~".*{tidb_cluster_id}"}[2m])), "name", "total", "", "")'
  component: TiDB
  type:
  - Perf_kvrequest
  sub_metrics:
  - "KV_Request_Time:by_instance"
  description: KV_request_time
  panel: TiDB

- id: 32
  name: KV_Request_Time:by_instance
  unit: "s"
  expr: 'label_replace(label_replace(label_replace(sum(rate(tidb_tikvclient_request_time_counter{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance,type,source), "name1", "$1", "instance", "(.*)"), "name2", "$1", "type", "(.*)"), "name3", "$1", "source", "(.*)")'
  component: TiDB
  type:
  - Perf_kvrequest
  #description: KV_request_time
  only_sub: True
  description:
  panel: TiDB

- id: 33
  name: KV_Request_OPS:total
  unit: "1"
  expr: 'label_replace(sum(rate(tidb_tikvclient_request_counter{cluster_id=~".*{tidb_cluster_id}"}[2m])), "name", "total", "", "")'
  component: TiDB
  type:
  - Perf_kvrequest
  sub_metrics:
  - "KV_Request_OPS:by_instance"
  description: KV_request_ops
  panel: TiDB

- id: 33
  name: KV_Request_OPS:by_instance
  unit: "1"
  expr: 'label_replace(label_replace(label_replace(sum(rate(tidb_tikvclient_request_counter{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance,type,source), "name1", "$1", "instance", "(.*)"), "name2", "$1", "type", "(.*)"), "name3", "$1", "source", "(.*)")'
  component: TiDB
  type:
  - Perf_kvrequest
  #description: KV_request_ops
  only_sub: True
  description:
  panel: TiDB

# TiFlash
- id: 34
  name: TiFlash_memory_usage:by_instance
  unit: "Bytes"
  expr: 'label_replace(tiflash_proxy_process_resident_memory_bytes{cluster_id=~".*{tidb_cluster_id}",component="tiflash"},"name","$1","instance","(.*)")'
  component: TiFlash
  type: 
  - Resource
  only_sub: True
  description: TiFlash_Memory
  panel: TiFlash Summary

- id: 34
  name: TiFlash_memory_delta:total
  unit: "Bytes"
  expr: 'label_replace((max(tiflash_proxy_process_resident_memory_bytes{cluster_id=~".*{tidb_cluster_id}",component="tiflash"})-min(tiflash_proxy_process_resident_memory_bytes{cluster_id=~".*{tidb_cluster_id}",component="tiflash"})), "name", "TiFlash_memory_delta", "", "")'
  component: TiFlash
  type: 
  - Resource
  sub_metrics:
  - "TiFlash_memory_usage:by_instance"
  description: TiFlash_Memory
  panel: TiFlash Summary

- id: 34
  name: TiFlash_memory_max:total
  unit: "Bytes"
  expr: 'label_replace(max(tiflash_proxy_process_resident_memory_bytes{cluster_id=~".*{tidb_cluster_id}",component="tiflash"}), "name", "TiFlash_memory_max", "", "")'
  component: TiFlash
  type: 
  - Resource
  description: TiFlash_Memory
  panel: TiFlash Summary

- id: 35
  name: TiFlash_CPU_usage:by_instance
  unit: "%"
  expr: 'label_replace(rate(tiflash_proxy_process_cpu_seconds_total{cluster_id=~".*{tidb_cluster_id}",component="tiflash"}[2m])*100,"name","$1","instance","(.*)")'
  component: TiFlash
  type: 
  - Resource
  only_sub: True
  description: TiFlash_CPU
  panel: TiFlash Summary

- id: 35
  name: TiFlash_CPU_delta:total
  unit: "%"
  expr: 'label_replace((max(rate(tiflash_proxy_process_cpu_seconds_total{cluster_id=~".*{tidb_cluster_id}",component="tiflash"}[2m]))-min(rate(tiflash_proxy_process_cpu_seconds_total{cluster_id=~".*{tidb_cluster_id}",component="tiflash"}[2m]))) * 100, "name", "TiFlash_cpu_delta", "", "")'
  component: TiFlash
  type: 
  - Resource
  sub_metrics:
  - "TiFlash_CPU_usage:by_instance"
  description: TiFlash_CPU
  panel: TiFlash Summary

- id: 35
  name: TiFlash_CPU_max:total
  unit: "%"
  expr: 'label_replace(max(rate(tiflash_proxy_process_cpu_seconds_total{cluster_id=~".*{tidb_cluster_id}",component="tiflash"}[2m])) * 100, "name", "TiFlash_cpu_max", "", "")'
  component: TiFlash
  type: 
  - Key
  - Resource
  description: TiFlash_CPU
  panel: TiFlash Summary

- id: 36
  name: TiFlash_IO_MBps:by_instance
  unit: "Bps"
  expr: 'label_replace(sum(rate(tiflash_system_profile_event_ReadBufferFromFileDescriptorReadBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_PSMReadBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_ReadBufferAIOReadBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_WriteBufferFromFileDescriptorWriteBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_PSMWriteBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_WriteBufferAIOWriteBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance), "name", "$1", "instance", "(.*)")'
  component: TiFlash
  type: 
  - Resource
  only_sub: True
  description: TiFlash_Disk_IO_MBPS
  panel: TiFlash Summary

- id: 36
  name: TiFlash_IO_MBps_delta:total
  unit: "Bps"
  expr: 'label_replace(max(sum(rate(tiflash_system_profile_event_ReadBufferFromFileDescriptorReadBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_PSMReadBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_ReadBufferAIOReadBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_WriteBufferFromFileDescriptorWriteBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_PSMWriteBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_WriteBufferAIOWriteBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance))-min(sum(rate(tiflash_system_profile_event_ReadBufferFromFileDescriptorReadBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_PSMReadBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_ReadBufferAIOReadBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_WriteBufferFromFileDescriptorWriteBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_PSMWriteBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_WriteBufferAIOWriteBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)), "name", "TiFlash_io_delta", "", "")'
  component: TiFlash
  type: 
  - Resource
  sub_metrics:
  - "TiFlash_IO_MBps:by_instance"
  description: TiFlash_Disk_IO_MBPS
  panel: TiFlash Summary

- id: 36
  name: TiFlash_IO_MBps_max:total
  unit: "Bps"
  expr: 'label_replace(max(sum(rate(tiflash_system_profile_event_ReadBufferFromFileDescriptorReadBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_PSMReadBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_ReadBufferAIOReadBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_WriteBufferFromFileDescriptorWriteBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_PSMWriteBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)+sum(rate(tiflash_system_profile_event_WriteBufferAIOWriteBytes{cluster_id=~".*{tidb_cluster_id}"}[2m]))by(instance)), "name", "TiFlash_io_max", "", "")'
  component: TiFlash
  type: 
  - Key
  - Resource
  description: TiFlash_Disk_IO_MBPS
  panel: TiFlash Summary

- id: 37
  name: TiFlash_disk_usage:by_instance
  unit: "%"
  expr: 'label_replace(sum(tiflash_system_current_metric_StoreSizeUsed{cluster_id=~".*{tidb_cluster_id}"})by(instance)/sum(tiflash_system_current_metric_StoreSizeCapacity{cluster_id=~".*{tidb_cluster_id}"})by(instance)*100, "name", "$1", "instance", "(.*)")'
  component: TiFlash
  type: 
  - Resource
  only_sub: True
  description: TiFlash_Storage_Usage
  panel: TiFlash Summary

- id: 37
  name: TiFlash_disk_usage_delta:total
  unit: "%"
  expr: 'label_replace((max(sum(tiflash_system_current_metric_StoreSizeUsed{cluster_id=~".*{tidb_cluster_id}"})by(instance)/sum(tiflash_system_current_metric_StoreSizeCapacity{cluster_id=~".*{tidb_cluster_id}"})by(instance))-min(sum(tiflash_system_current_metric_StoreSizeUsed{cluster_id=~".*{tidb_cluster_id}"})by(instance)/sum(tiflash_system_current_metric_StoreSizeCapacity{cluster_id=~".*{tidb_cluster_id}"})by(instance))) * 100, "name", "TiFlash_disg_usage_delta", "", "")'
  component: TiFlash
  type: 
  - Resource
  sub_metrics:
  - "TiFlash_disk_usage:by_instance"
  description: TiFlash_Storage_Usage
  panel: TiFlash Summary

- id: 37
  name: TiFlash_disk_usage_max:total
  unit: "%"
  expr: 'label_replace(max(sum(tiflash_system_current_metric_StoreSizeUsed{cluster_id=~".*{tidb_cluster_id}"})by(instance)/sum(tiflash_system_current_metric_StoreSizeCapacity{cluster_id=~".*{tidb_cluster_id}"})by(instance)) * 100, "name", "TiFlash_disk_usage_max", "", "")'
  component: TiFlash
  type: 
  - Key
  - Resource
  description: TiFlash_Storage_Usage
  panel: TiFlash Summary

- id: 38
  name: TPS:total
  unit: "1"
  expr: 'label_replace(sum(rate(tidb_session_transaction_duration_seconds_count{cluster_id=~".*{tidb_cluster_id}"}[2m])),"name","total","","")'
  component: TiDB
  type:
  - Workload
  description: TPS
  panel: TiDB