HBase monitoring metrics
You can execute the following statement to query the monitoring metrics of OBKV-HBase:
MySQL [oceanbase]> select distinct class,stat_id,name, value_type from gv$sysstat where name like "hbase%";
The return result is as follows:
MySQL [oceanbase]> select distinct class,stat_id,name, value_type from gv$sysstat where name like "hbase%";
+-------+---------+------------------------------+------------+
class stat_id | name | value_type |
+-------+---------+------------------------------+------------+
| 4096 | 191001 | hbase scan count | ADD_VALUE |
| 4096 | 191002 | hbase scan time | ADD_VALUE |
| 4096 | 191003 | hbase scan row count | ADD_VALUE |
| 4096 | 191004 | hbase put count | ADD_VALUE |
| 4096 | 191005 | hbase put time | ADD_VALUE |
| 4096 | 191006 | hbase put row count | ADD_VALUE |
| 4096 | 191007 | hbase delete count | ADD_VALUE |
| 4096 | 191008 | hbase delete time | ADD_VALUE |
| 4096 | 191009 | hbase delete row count | ADD_VALUE |
| 4096 | 191010 | hbase append count | ADD_VALUE |
| 4096 | 191011 | hbase append time | ADD_VALUE |
| 4096 | 191012 | hbase append row count | ADD_VALUE |
| 4096 | 191013 | hbase increment count | ADD_VALUE |
| 4096 | 191014 | hbase increment time | ADD_VALUE |
| 4096 | 191015 | hbase increment row count | ADD_VALUE |
| 4096 | 191016 | hbase check_put count | ADD_VALUE |
| 4096 | 191017 | hbase check_put time | ADD_VALUE |
| 4096 | 191018 | hbase check_put row count | ADD_VALUE |
| 4096 | 191019 | hbase check_delete count | ADD_VALUE |
| 4096 | 191020 | hbase check_delete time | ADD_VALUE |
| 4096 | 191021 | hbase check_delete row count | ADD_VALUE |
| 4096 | 191022 | hbase hybrid count | ADD_VALUE |
| 4096 | 191023 | hbase hybrid time | ADD_VALUE |
| 4096 | 191024 | hbase hybrid row count | ADD_VALUE |
+-------+---------+------------------------------+------------+
The following table describes the parameters.
| Parameter | Description |
|---|---|
| hbase scan count | The number of scan operations. |
| hbase scan time | The total amount of time spent on executing scan operations. |
| hbase scan row count | The number of cells affected by scan operations. |
| hbase put count | The number of put operations. |
| hbase put time | The total amount of time spent on executing put operations. |
| hbase put row count | The number of cells affected by put operations. |
| hbase delete count | The number of delete operations. |
| hbase delete time | The total amount of time spent on executing delete operations. |
| hbase delete row count | The number of cells affected by delete operations. |
| hbase append count | The number of append operations. |
| hbase append time | The total amount of time spent on executing append operations. |
| hbase append row count | The number of cells affected by append operations. |
| hbase increment count | The number of increment operations. |
| hbase increment time | The total amount of time spent on executing increment operations. |
| hbase increment row count | The number of cells affected by increment operations. |
| hbase check_put count | The number of checkAndPut operations. |
| hbase check_put time | The total amount of time spent on executing checkAndPut operations. |
| hbase check_put row count | The number of cells affected by checkAndPut operations. |
| hbase check_delete count | The number of checkAndDelete operations. |
| hbase check_delete time | The total amount of time spent on executing checkAndDelete operations. |
| hbase check_delete row count | The number of cells affected by checkAndDelete operations. |
Use SQL Audit to identify slow HBase requests
SQL Audit is an important diagnostics tool in OceanBase Database. It records diagnostics information about each request, such as the cache hit rate, number of scanned rows in the MemTable/SSTable, and execution time. Based on the information, you can easily identify the bottleneck in a slow request. OBKV-HBase supports SQL Audit. You can execute the following statement to query diagnostics records related to OBKV-HBase:
MySQL [oceanbase]> select * from v$OB_SQL_AUDIT where query_sql like "table api: hbase%" \G;
The return result is as follows:
*************************** 1. row ***************************
SVR_IP: 11.162.218.239
SVR_PORT: 54302
REQUEST_ID: 13841
SQL_EXEC_ID: 0
TRACE_ID: Y1EB2D1EB6D984-0000000000000002-0-0
SID: 0
CLIENT_IP: 30.182.217.132
CLIENT_PORT: 60205
TENANT_ID: 1
TENANT_NAME: sys
EFFECTIVE_TENANT_ID: 1
USER_ID: 200001
USER_NAME: root
USER_GROUP: 0
USER_CLIENT_IP: 30.182.217.132
DB_ID: 500001
DB_NAME: test
SQL_ID: TABLEAPI0x1103vv00000000CB87E8C9
QUERY_SQL: table api: hbase_put,
request: {credential:0193808080000101C19A0CA1C21E00FABAF9E6C0B589AEDB01, table_name:"htable1$family", table_id:500014, tablet_id:{id:200055}, entity_type:2, batch_operation:{is_readonly:false, is_same_type:true, is_same_properties_names:true, operatiton_count:1, table_operations:[{operation_type:4, entity:"{rowkey_names:[]rowkey:[{"VARCHAR":"testKey0", collation:"utf8mb4_general_ci", coercibility:"EXPLICIT"}, {"VARCHAR":"column", collation:"utf8mb4_general_ci", coercibility:"EXPLICIT"}, {"BIGINT":-9223372036854775807}], properties:{V:{"VARCHAR":"putValue", collation:"utf8mb4_general_ci", coercibility:"EXPLICIT"}}}"}]}, consistency_level:0, option_flag:0, returning_affected_entity:false, returning_affected_rows:true, batch_operation_as_atomic:false}