# Essential Prometheus Metrics

| metric_name | labels | promql | example | code_ref |
| --- | --- | --- | --- | --- |
| `tidbcloud_db_total_connection` | `instance_id, instance_name` | `sum(tidb_server_connections{cluster_id="<cluster_id>"})` | `tidbcloud_db_total_connection{instance_id="80001",instance_name="essential-demo"} 42` | `QueryDBTotalConnection`, `BuildDBTotalConnectionQuerier`, `VecMetric.asInstanceLevelElement` |
| `tidbcloud_db_active_connections` | `instance_id, instance_name` | `sum(tidb_server_tokens{cluster_id="<cluster_id>"})` | `tidbcloud_db_active_connections{instance_id="80001",instance_name="essential-demo"} 9` | `QueryDBActiveConnections`, `BuildDBActiveConnectionsQuerier`, `VecMetric.asInstanceLevelElement` |
| `tidbcloud_db_disconnections` | `result, instance_id, instance_name` | `sum(rate(tidb_server_disconnection_total{cluster_id="<cluster_id>"}[2m])) by (result)` | `tidbcloud_db_disconnections{result="ok",instance_id="80001",instance_name="essential-demo"} 0.2` | `QueryDBDisconnections`, `BuildDBDisconnectionsQuerier`, `VecMetric.asInstanceLevelElement` |
| `tidbcloud_db_database_time` | `sql_type, instance_id, instance_name` | `sum(rate(tidb_server_handle_query_duration_seconds_sum{cluster_id="<cluster_id>", sql_type!="internal"}[2m])) by (sql_type)` | `tidbcloud_db_database_time{sql_type="Select",instance_id="80001",instance_name="essential-demo"} 1.6` | `QueryDBDatabaseTime`, `BuildDBDatabaseTimeQuerier`, `VecMetric.asInstanceLevelElement` |
| `tidbcloud_db_query_per_second` | `type, instance_id, instance_name` | `sum(rate(tidb_executor_statement_total{cluster_id="<cluster_id>"}[2m])) by (type)` | `tidbcloud_db_query_per_second{type="Select",instance_id="80001",instance_name="essential-demo"} 120` | `QueryDBQueryPerSecond`, `BuildDBQueryPerSecondQuerier`, `VecMetric.asInstanceLevelElement` |
| `tidbcloud_db_failed_queries` | `type, instance_id, instance_name` | `sum(rate(tidb_server_execute_error_total{cluster_id="<cluster_id>"}[2m])) by (type)` | `tidbcloud_db_failed_queries{type="planner",instance_id="80001",instance_name="essential-demo"} 0.05` | `QueryDBFailedQueries`, `BuildDBFailedQueriesQuerier`, `VecMetric.asInstanceLevelElement` |
| `tidbcloud_db_command_per_second` | `type, instance_id, instance_name` | `sum(rate(tidb_server_query_total{cluster_id="<cluster_id>"}[2m])) by (type)` | `tidbcloud_db_command_per_second{type="Query",instance_id="80001",instance_name="essential-demo"} 140` | `QueryDBCommandPerSecond`, `BuildDBCommandPerSecondQuerier`, `VecMetric.asInstanceLevelElement` |
| `tidbcloud_db_queries_using_plan_cache_ops` | `type, instance_id, instance_name` | `sum(rate(tidb_server_plan_cache_total{cluster_id="<cluster_id>"}[2m])) by (type)` | `tidbcloud_db_queries_using_plan_cache_ops{type="prepared",instance_id="80001",instance_name="essential-demo"} 18` | `QueryDBQueriesUsingPlanCacheOps`, `BuildDBQueriesUsingPlanCacheOpsQuerier`, `VecMetric.asInstanceLevelElement` |
| `tidbcloud_db_average_query_duration` | `sql_type, instance_id, instance_name` | `sum(rate(tidb_server_handle_query_duration_seconds_sum{cluster_id="<cluster_id>", sql_type!="internal"}[2m])) by (sql_type) / sum(rate(tidb_server_handle_query_duration_seconds_count{cluster_id="<cluster_id>", sql_type!="internal"}[2m])) by (sql_type) > 0` | `tidbcloud_db_average_query_duration{sql_type="Select",instance_id="80001",instance_name="essential-demo"} 0.013` | `QueryDBAverageQueryDuration`, `BuildDBAverageQueryDurationQuerier`, `VecMetric.asInstanceLevelElement` |
| `tidbcloud_db_transaction_per_second` | `txn_mode, type, instance_id, instance_name` | `sum(rate(tidb_session_transaction_duration_seconds_count{cluster_id="<cluster_id>", scope=~"general"}[2m])) by (type, txn_mode)` | `tidbcloud_db_transaction_per_second{txn_mode="optimistic",type="commit",instance_id="80001",instance_name="essential-demo"} 23` | `QueryDBTransactionPerSecond`, `BuildDBTransactionPerSecondQuerier`, `VecMetric.asInstanceLevelElement` |
| `tidbcloud_resource_manager_resource_unit_read_request_unit` | `resource_group, instance_id, instance_name` | `rate(resource_manager_resource_unit_read_request_unit_sum{cluster_id=~".*<cluster_id>", type=~"|tp"}[2m])` | `tidbcloud_resource_manager_resource_unit_read_request_unit{resource_group="default",instance_id="80001",instance_name="essential-demo"} 12.5` | `QueryRURead`, `BuildRUReadQuerier`, `VecMetric.asInstanceLevelElement` |
| `tidbcloud_resource_manager_resource_unit_write_request_unit` | `resource_group, instance_id, instance_name` | `rate(resource_manager_resource_unit_write_request_unit_sum{cluster_id=~".*<cluster_id>", type=~"|tp"}[2m])` | `tidbcloud_resource_manager_resource_unit_write_request_unit{resource_group="default",instance_id="80001",instance_name="essential-demo"} 6.5` | `QueryRUWrite`, `BuildRUWriteQuerier`, `VecMetric.asInstanceLevelElement` |
| `tidbcloud_db_row_storage_used_bytes` | `instance_id, instance_name` | `quantile_over_time(0.5, sum(avg by(keyspace_id, region_id) (tikv_store_size_bytes{keyspace_id="<keyspace_id>", type="used"}))[5m]) or vector(0)` | `tidbcloud_db_row_storage_used_bytes{instance_id="80001",instance_name="essential-demo"} 128849018880` | `QueryDBRowStorageUsedBytes`, `buildNextGenStorageUsagePromQL`, `BuildDBRowStorageUsedBytesQuerier`, `sharedSeriesMatcher/getNextGenKeyspaceID`, `clusterLabels`, `VecMetric.asInstanceLevelElement` |
| `tidbcloud_db_columnar_storage_used_bytes` | `instance_id, instance_name` | `quantile_over_time(0.5, sum(avg by(keyspace_id, region_id) (tikv_store_size_bytes{keyspace_id="<keyspace_id>", type="tiflash_used"}))[5m]) or vector(0)` | `tidbcloud_db_columnar_storage_used_bytes{instance_id="80001",instance_name="essential-demo"} 34359738368` | `QueryDBColumnarStorageUsedBytes`, `buildNextGenStorageUsagePromQL`, `BuildDBColumnarStorageUsedBytesQuerier`, `sharedSeriesMatcher/getNextGenKeyspaceID`, `clusterLabels`, `VecMetric.asInstanceLevelElement` |
