This is an automated email from the ASF dual-hosted git repository.

sunnianjun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new fa51496a34f optimize parsed sql and routed sql metrics (#23630)
fa51496a34f is described below

commit fa51496a34fe1ceba8e067b2719a3ea5bfbd2b61
Author: jiangML <[email protected]>
AuthorDate: Wed Jan 18 17:58:03 2023 +0800

    optimize parsed sql and routed sql metrics (#23630)
    
    * optimize parsed sql and routed sql metrics
    
    * update agent IT test
    
    * update doc
    
    * format code
---
 .../metrics/core/advice/SQLParseCountAdvice.java   | 68 ++++++++--------------
 .../metrics/core/advice/SQLRouteCountAdvice.java   | 28 +++++----
 .../core/advice/SQLParseCountAdviceTest.java       | 39 +++++--------
 .../core/advice/SQLRouteCountAdviceTest.java       | 15 +++--
 .../META-INF/conf/prometheus-metrics.yaml          | 56 +++---------------
 .../observability/_index.cn.md                     | 44 +++++---------
 .../observability/_index.en.md                     | 18 +-----
 .../test/e2e/agent/metrics/MetricsPluginE2EIT.java | 13 +----
 8 files changed, 89 insertions(+), 192 deletions(-)

diff --git 
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdvice.java
 
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdvice.java
index e56565d0a3a..deb0661a85f 100644
--- 
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdvice.java
+++ 
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdvice.java
@@ -19,8 +19,8 @@ package 
org.apache.shardingsphere.agent.plugin.metrics.core.advice;
 
 import org.apache.shardingsphere.agent.api.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.api.advice.type.InstanceMethodAdvice;
-import 
org.apache.shardingsphere.agent.plugin.metrics.core.collector.type.CounterMetricsCollector;
 import 
org.apache.shardingsphere.agent.plugin.metrics.core.collector.MetricsCollectorRegistry;
+import 
org.apache.shardingsphere.agent.plugin.metrics.core.collector.type.CounterMetricsCollector;
 import org.apache.shardingsphere.distsql.parser.statement.ral.RALStatement;
 import org.apache.shardingsphere.distsql.parser.statement.rdl.RDLStatement;
 import org.apache.shardingsphere.distsql.parser.statement.rql.RQLStatement;
@@ -42,66 +42,44 @@ import java.lang.reflect.Method;
  */
 public final class SQLParseCountAdvice implements InstanceMethodAdvice {
     
-    private static final String PARSED_INSERT_SQL_METRIC_KEY = 
"parsed_insert_sql_total";
-    
-    private static final String PARSED_UPDATE_SQL_METRIC_KEY = 
"parsed_update_sql_total";
-    
-    private static final String PARSED_DELETE_SQL_METRIC_KEY = 
"parsed_delete_sql_total";
-    
-    private static final String PARSED_SELECT_SQL_METRIC_KEY = 
"parsed_select_sql_total";
-    
-    private static final String PARSED_DDL_METRIC_KEY = "parsed_ddl_total";
-    
-    private static final String PARSED_DCL_METRIC_KEY = "parsed_dcl_total";
-    
-    private static final String PARSED_DAL_METRIC_KEY = "parsed_dal_total";
-    
-    private static final String PARSED_TCL_METRIC_KEY = "parsed_tcl_total";
-    
-    private static final String PARSED_RQL_METRIC_KEY = "parsed_rql_total";
-    
-    private static final String PARSED_RDL_METRIC_KEY = "parsed_rdl_total";
-    
-    private static final String PARSED_RAL_METRIC_KEY = "parsed_ral_total";
-    
-    private static final String PARSED_RUL_METRIC_KEY = "parsed_rul_total";
+    private static final String PARSED_SQL_METRIC_KEY = "parsed_sql_total";
     
     @Override
     public void afterMethod(final TargetAdviceObject target, final Method 
method, final Object[] args, final Object result, final String pluginType) {
-        SQLStatement sqlStatement = (SQLStatement) result;
-        countSQL(sqlStatement);
-        countDistSQL(sqlStatement);
+        String sqlType = getSQLType((SQLStatement) result);
+        if (null == sqlType) {
+            return;
+        }
+        
MetricsCollectorRegistry.<CounterMetricsCollector>get(PARSED_SQL_METRIC_KEY).inc(sqlType);
     }
     
-    private void countSQL(final SQLStatement sqlStatement) {
+    private String getSQLType(final SQLStatement sqlStatement) {
+        String result = null;
         if (sqlStatement instanceof InsertStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(PARSED_INSERT_SQL_METRIC_KEY).inc();
+            result = "INSERT";
         } else if (sqlStatement instanceof UpdateStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(PARSED_UPDATE_SQL_METRIC_KEY).inc();
+            result = "UPDATE";
         } else if (sqlStatement instanceof DeleteStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(PARSED_DELETE_SQL_METRIC_KEY).inc();
+            result = "DELETE";
         } else if (sqlStatement instanceof SelectStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(PARSED_SELECT_SQL_METRIC_KEY).inc();
+            result = "SELECT";
         } else if (sqlStatement instanceof DDLStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(PARSED_DDL_METRIC_KEY).inc();
+            result = "DDL";
         } else if (sqlStatement instanceof DCLStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(PARSED_DCL_METRIC_KEY).inc();
+            result = "DCL";
         } else if (sqlStatement instanceof DALStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(PARSED_DAL_METRIC_KEY).inc();
+            result = "DAL";
         } else if (sqlStatement instanceof TCLStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(PARSED_TCL_METRIC_KEY).inc();
-        }
-    }
-    
-    private void countDistSQL(final SQLStatement sqlStatement) {
-        if (sqlStatement instanceof RQLStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(PARSED_RQL_METRIC_KEY).inc();
+            result = "TCL";
+        } else if (sqlStatement instanceof RQLStatement) {
+            result = "RQL";
         } else if (sqlStatement instanceof RDLStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(PARSED_RDL_METRIC_KEY).inc();
+            result = "RDL";
         } else if (sqlStatement instanceof RALStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(PARSED_RAL_METRIC_KEY).inc();
+            result = "RAL";
         } else if (sqlStatement instanceof RULStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(PARSED_RUL_METRIC_KEY).inc();
+            result = "RUL";
         }
+        return result;
     }
 }
diff --git 
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteCountAdvice.java
 
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteCountAdvice.java
index a60df1c32b4..1c3c39c2605 100644
--- 
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteCountAdvice.java
+++ 
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteCountAdvice.java
@@ -19,8 +19,8 @@ package 
org.apache.shardingsphere.agent.plugin.metrics.core.advice;
 
 import org.apache.shardingsphere.agent.api.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.api.advice.type.InstanceMethodAdvice;
-import 
org.apache.shardingsphere.agent.plugin.metrics.core.collector.type.CounterMetricsCollector;
 import 
org.apache.shardingsphere.agent.plugin.metrics.core.collector.MetricsCollectorRegistry;
+import 
org.apache.shardingsphere.agent.plugin.metrics.core.collector.type.CounterMetricsCollector;
 import org.apache.shardingsphere.infra.binder.QueryContext;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DeleteStatement;
@@ -35,26 +35,30 @@ import java.lang.reflect.Method;
  */
 public final class SQLRouteCountAdvice implements InstanceMethodAdvice {
     
-    private static final String ROUTED_INSERT_SQL_METRIC_KEY = 
"routed_insert_sql_total";
-    
-    private static final String ROUTED_UPDATE_SQL_METRIC_KEY = 
"routed_update_sql_total";
-    
-    private static final String ROUTED_DELETE_SQL_METRIC_KEY = 
"routed_delete_sql_total";
-    
-    private static final String ROUTED_SELECT_SQL_METRIC_KEY = 
"routed_select_sql_total";
+    private static final String ROUTED_SQL_METRIC_KEY = "routed_sql_total";
     
     @Override
     public void beforeMethod(final TargetAdviceObject target, final Method 
method, final Object[] args, final String pluginType) {
         QueryContext queryContext = (QueryContext) args[1];
         SQLStatement sqlStatement = 
queryContext.getSqlStatementContext().getSqlStatement();
+        String sqlType = getSQLType(sqlStatement);
+        if (null == sqlType) {
+            return;
+        }
+        
MetricsCollectorRegistry.<CounterMetricsCollector>get(ROUTED_SQL_METRIC_KEY).inc(sqlType);
+    }
+    
+    private String getSQLType(final SQLStatement sqlStatement) {
+        String result = null;
         if (sqlStatement instanceof InsertStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(ROUTED_INSERT_SQL_METRIC_KEY).inc();
+            result = "INSERT";
         } else if (sqlStatement instanceof UpdateStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(ROUTED_UPDATE_SQL_METRIC_KEY).inc();
+            result = "UPDATE";
         } else if (sqlStatement instanceof DeleteStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(ROUTED_DELETE_SQL_METRIC_KEY).inc();
+            result = "DELETE";
         } else if (sqlStatement instanceof SelectStatement) {
-            
MetricsCollectorRegistry.<CounterMetricsCollector>get(ROUTED_SELECT_SQL_METRIC_KEY).inc();
+            result = "SELECT";
         }
+        return result;
     }
 }
diff --git 
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
 
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
index 8bf61e3e6c2..a8c71688c82 100644
--- 
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
+++ 
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
@@ -45,80 +45,71 @@ import static org.mockito.Mockito.mock;
 
 public final class SQLParseCountAdviceTest extends MetricsAdviceBaseTest {
     
+    private static final String PARSED_SQL_METRIC_KEY = "parsed_sql_total";
+    
     @After
     public void reset() {
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("parsed_insert_sql_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("parsed_update_sql_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("parsed_delete_sql_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("parsed_select_sql_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("parsed_ddl_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("parsed_dcl_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("parsed_dal_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("parsed_tcl_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("parsed_rql_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("parsed_rdl_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("parsed_ral_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("parsed_rul_total")).reset();
+        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get(PARSED_SQL_METRIC_KEY)).reset();
     }
     
     @Test
     public void assertParseInsertSQL() {
-        assertParse("parsed_insert_sql_total", new MySQLInsertStatement());
+        assertParse(PARSED_SQL_METRIC_KEY, new MySQLInsertStatement());
     }
     
     @Test
     public void assertParseDeleteSQL() {
-        assertParse("parsed_delete_sql_total", new MySQLDeleteStatement());
+        assertParse(PARSED_SQL_METRIC_KEY, new MySQLDeleteStatement());
     }
     
     @Test
     public void assertParseUpdateSQL() {
-        assertParse("parsed_update_sql_total", new MySQLUpdateStatement());
+        assertParse(PARSED_SQL_METRIC_KEY, new MySQLUpdateStatement());
     }
     
     @Test
     public void assertParseSelectSQL() {
-        assertParse("parsed_select_sql_total", new MySQLSelectStatement());
+        assertParse(PARSED_SQL_METRIC_KEY, new MySQLSelectStatement());
     }
     
     @Test
     public void assertParseDDL() {
-        assertParse("parsed_ddl_total", new MySQLCreateDatabaseStatement());
+        assertParse(PARSED_SQL_METRIC_KEY, new MySQLCreateDatabaseStatement());
     }
     
     @Test
     public void assertParseDCL() {
-        assertParse("parsed_dcl_total", new MySQLCreateUserStatement());
+        assertParse(PARSED_SQL_METRIC_KEY, new MySQLCreateUserStatement());
     }
     
     @Test
     public void assertParseDAL() {
-        assertParse("parsed_dal_total", new MySQLShowDatabasesStatement());
+        assertParse(PARSED_SQL_METRIC_KEY, new MySQLShowDatabasesStatement());
     }
     
     @Test
     public void assertParseTCL() {
-        assertParse("parsed_tcl_total", new MySQLCommitStatement());
+        assertParse(PARSED_SQL_METRIC_KEY, new MySQLCommitStatement());
     }
     
     @Test
     public void assertParseRQL() {
-        assertParse("parsed_rql_total", new ShowStorageUnitsStatement(new 
DatabaseSegment(0, 0, null), null));
+        assertParse(PARSED_SQL_METRIC_KEY, new ShowStorageUnitsStatement(new 
DatabaseSegment(0, 0, null), null));
     }
     
     @Test
     public void assertParseRDL() {
-        assertParse("parsed_rdl_total", new 
RegisterStorageUnitStatement(false, Collections.emptyList()));
+        assertParse(PARSED_SQL_METRIC_KEY, new 
RegisterStorageUnitStatement(false, Collections.emptyList()));
     }
     
     @Test
     public void assertParseRAL() {
-        assertParse("parsed_ral_total", new ShowMigrationListStatement());
+        assertParse(PARSED_SQL_METRIC_KEY, new ShowMigrationListStatement());
     }
     
     @Test
     public void assertParseRUL() {
-        assertParse("parsed_rul_total", new FormatStatement("SELECT * FROM 
t_order"));
+        assertParse(PARSED_SQL_METRIC_KEY, new FormatStatement("SELECT * FROM 
t_order"));
     }
     
     private void assertParse(final String metricIds, final SQLStatement 
sqlStatement) {
diff --git 
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteCountAdviceTest.java
 
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteCountAdviceTest.java
index a2c37548ce8..375830fc2f0 100644
--- 
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteCountAdviceTest.java
+++ 
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteCountAdviceTest.java
@@ -38,38 +38,37 @@ import static org.mockito.Mockito.mock;
 
 public final class SQLRouteCountAdviceTest extends MetricsAdviceBaseTest {
     
+    private static final String ROUTED_SQL_METRIC_KEY = "routed_sql_total";
+    
     private final SQLRouteCountAdvice advice = new SQLRouteCountAdvice();
     
     @After
     public void reset() {
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("routed_insert_sql_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("routed_update_sql_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("routed_delete_sql_total")).reset();
-        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get("routed_select_sql_total")).reset();
+        ((MetricsCollectorFixture) 
MetricsCollectorRegistry.get(ROUTED_SQL_METRIC_KEY)).reset();
     }
     
     @Test
     public void assertInsertRoute() {
         QueryContext queryContext = new QueryContext(new 
CommonSQLStatementContext<>(new MySQLInsertStatement()), "", 
Collections.emptyList());
-        assertRoute("routed_insert_sql_total", queryContext);
+        assertRoute(ROUTED_SQL_METRIC_KEY, queryContext);
     }
     
     @Test
     public void assertUpdateRoute() {
         QueryContext queryContext = new QueryContext(new 
CommonSQLStatementContext<>(new MySQLUpdateStatement()), "", 
Collections.emptyList());
-        assertRoute("routed_update_sql_total", queryContext);
+        assertRoute(ROUTED_SQL_METRIC_KEY, queryContext);
     }
     
     @Test
     public void assertDeleteRoute() {
         QueryContext queryContext = new QueryContext(new 
CommonSQLStatementContext<>(new MySQLDeleteStatement()), "", 
Collections.emptyList());
-        assertRoute("routed_delete_sql_total", queryContext);
+        assertRoute(ROUTED_SQL_METRIC_KEY, queryContext);
     }
     
     @Test
     public void assertSelectRoute() {
         QueryContext queryContext = new QueryContext(new 
CommonSQLStatementContext<>(new MySQLSelectStatement()), "", 
Collections.emptyList());
-        assertRoute("routed_select_sql_total", queryContext);
+        assertRoute(ROUTED_SQL_METRIC_KEY, queryContext);
     }
     
     public void assertRoute(final String metricId, final QueryContext 
queryContext) {
diff --git 
a/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-metrics.yaml
 
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-metrics.yaml
index 392281704b1..db28dab9d9b 100644
--- 
a/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-metrics.yaml
+++ 
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-metrics.yaml
@@ -22,54 +22,16 @@ metrics:
     labels:
       - version
       - name
-  - id: parsed_insert_sql_total
+  - id: parsed_sql_total
     type: COUNTER
-    help: Total count of parsed INSERT
-  - id: parsed_update_sql_total
-    type: COUNTER
-    help: Total count of parsed UPDATE
-  - id: parsed_delete_sql_total
-    type: COUNTER
-    help: Total count of parsed DELETE
-  - id: parsed_select_sql_total
-    type: COUNTER
-    help: Total count of parsed SELECT
-  - id: parsed_ddl_total
-    type: COUNTER
-    help: Total count of parsed DDL
-  - id: parsed_dcl_total
-    type: COUNTER
-    help: Total count of parsed DCL
-  - id: parsed_dal_total
-    type: COUNTER
-    help: Total count of parsed DAL
-  - id: parsed_tcl_total
-    type: COUNTER
-    help: Total count of parsed TCL
-  - id: parsed_rql_total
-    type: COUNTER
-    help: Total count of parsed RDL
-  - id: parsed_rdl_total
-    type: COUNTER
-    help: Total count of parsed RDL
-  - id: parsed_ral_total
-    type: COUNTER
-    help: Total count of parsed RAL
-  - id: parsed_rul_total
-    type: COUNTER
-    help: Total count of parsed RUL
-  - id: routed_insert_sql_total
-    type: COUNTER
-    help: Total count of routed INSERT
-  - id: routed_update_sql_total
-    type: COUNTER
-    help: Total count of routed UPDATE
-  - id: routed_delete_sql_total
-    type: COUNTER
-    help: Total count of routed DELETE
-  - id: routed_select_sql_total
+    help: Total count of parsed by type
+    labels:
+      - type
+  - id: routed_sql_total
     type: COUNTER
-    help: Total count of routed SELECT
+    help: Total count of routed by type
+    labels:
+      - type
   - id: routed_data_sources_total
     type: COUNTER
     labels: 
@@ -77,9 +39,9 @@ metrics:
     help: Total count of data source routed
   - id: routed_tables_total
     type: COUNTER
+    help: Total count of table routed
     labels:
       - name
-    help: Total count of table routed
   - id: proxy_meta_data_info
     type: GAUGE_METRIC_FAMILY
     help: Meta data information of ShardingSphere-Proxy. schema_count is logic 
number of databases; database_count is actual number of databases
diff --git 
a/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.cn.md
 
b/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.cn.md
index f22bc251bbe..35aa3861e4f 100644
--- 
a/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.cn.md
+++ 
b/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.cn.md
@@ -154,32 +154,18 @@ services:
 
 ## Metrics
 
-| 指标名称                            | 指标类型                | 指标描述                 
                                               |
-| :-------------------------------- 
|:--------------------|:--------------------------------------------------------------------------|
-| build_info                        | GAUGE               | 构建信息               
                                                    |
-| parsed_insert_sql_total           | COUNTER             | INSERT 的解析总数       
                                                   |
-| parsed_update_sql_total           | COUNTER             | UPDATE 的解析总数       
                                                   |
-| parsed_delete_sql_total           | COUNTER             | DELETE 的解析总数       
                                                   |
-| parsed_select_sql_total           | COUNTER             | SELECT 的解析总数       
                                                   |
-| parsed_ddl_total                  | COUNTER             | DDL 的解析总数          
                                                   |
-| parsed_dcl_total                  | COUNTER             | DCL 的解析总数          
                                                   |
-| parsed_dal_total                  | COUNTER             | DAL 的解析总数          
                                                   |
-| parsed_tcl_total                  | COUNTER             | TCL 的解析总数          
                                                   |
-| parsed_rql_total                  | COUNTER             | RQL 的解析总数          
                                                   |
-| parsed_rdl_total                  | COUNTER             | RDL 的解析总数          
                                                   |
-| parsed_ral_total                  | COUNTER             | RAL 的解析总数          
                                                   |
-| parsed_rul_total                  | COUNTER             | RUL 的解析总数          
                                                   |
-| routed_insert_sql_total           | COUNTER             | INSERT 的路由总数       
                                                   |
-| routed_update_sql_total           | COUNTER             | UPDATE 的路由总数       
                                                   |
-| routed_delete_sql_total           | COUNTER             | DELETE 的路由总数       
                                                   |
-| routed_select_sql_total           | COUNTER             | SELECT 的路由总数       
                                                   |
-| routed_data_sources_total         | COUNTER             | 数据源路由总数            
                                                  |
-| routed_tables_total               | COUNTER             | 表路由总数              
                                                   |
-| proxy_state                       | GAUGE               | 
ShardingSphere-Proxy 状态信息。0 表示正常状态;1 表示熔断状态;2 锁定状态        |
-| proxy_meta_data_info              | GAUGE_METRIC_FAMILY | 
ShardingSphere-Proxy 元数据信息,schema_count:逻辑库数量, database_count:数据源数量 |
-| proxy_current_connections         | GAUGE               | 
ShardingSphere-Proxy 的当前连接数                                           |
-| proxy_requests_total              | COUNTER             | 
ShardingSphere-Proxy 的接受请求总数                                         |
-| proxy_commit_transactions_total   | COUNTER             | 
ShardingSphere-Proxy 的事务提交总数                                         |
-| proxy_rollback_transactions_total | COUNTER             | 
ShardingSphere-Proxy 的事务回滚总数                                         |
-| proxy_execute_latency_millis      | HISTOGRAM           | 
ShardingSphere-Proxy 的执行耗时毫秒直方图                                    |
-| proxy_execute_errors_total        | COUNTER             | 
ShardingSphere-Proxy 的执行异常总数                                         |
+| 指标名称                            | 指标类型                | 指标描述                 
                                                                     |
+| :-------------------------------- 
|:--------------------|:------------------------------------------------------------------------------------------------|
+| build_info                        | GAUGE               | 构建信息               
                                                                          |
+| parsed_sql_total                  | COUNTER             | 按类型分类的解析总数 
(INSERT、UPDATE、DELETE、SELECT、DDL、DCL、DAL、TCL、RQL、RDL、RAL、RUL)          |
+| routed_sql_total                  | COUNTER             | 按类型分类的路由总数 
(INSERT、UPDATE、DELETE、SELECT)                                               |
+| routed_data_sources_total         | COUNTER             | 数据源路由总数            
                                                                        |
+| routed_tables_total               | COUNTER             | 表路由总数              
                                                                         |
+| proxy_state                       | GAUGE               | 
ShardingSphere-Proxy 状态信息。0 表示正常状态;1 表示熔断状态;2 锁定状态                              
|
+| proxy_meta_data_info              | GAUGE_METRIC_FAMILY | 
ShardingSphere-Proxy 元数据信息,schema_count:逻辑库数量, database_count:数据源数量             
   |
+| proxy_current_connections         | GAUGE               | 
ShardingSphere-Proxy 的当前连接数                                                     
            |
+| proxy_requests_total              | COUNTER             | 
ShardingSphere-Proxy 的接受请求总数                                                    
           |
+| proxy_commit_transactions_total   | COUNTER             | 
ShardingSphere-Proxy 的事务提交总数                                                    
           |
+| proxy_rollback_transactions_total | COUNTER             | 
ShardingSphere-Proxy 的事务回滚总数                                                    
           |
+| proxy_execute_latency_millis      | HISTOGRAM           | 
ShardingSphere-Proxy 的执行耗时毫秒直方图                                                 
         |
+| proxy_execute_errors_total        | COUNTER             | 
ShardingSphere-Proxy 的执行异常总数                                                    
           |
diff --git 
a/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.en.md
 
b/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.en.md
index b9320948c08..7733b7b0a34 100644
--- 
a/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.en.md
+++ 
b/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.en.md
@@ -160,22 +160,8 @@ services:
 | Name                              | Type                | Description        
                                                                                
                                    |
 | :-------------------------------- 
|:--------------------|:---------------------------------------------------------------------------------------------------------------------------------------|
 | build_info                        | GAUGE               | Build information  
                                                                                
                                    |
-| parsed_insert_sql_total           | COUNTER             | Total count of 
parsed INSERT                                                                   
                                        |
-| parsed_update_sql_total           | COUNTER             | Total count of 
parsed UPDATE                                                                   
                                        |
-| parsed_delete_sql_total           | COUNTER             | Total count of 
parsed DELETE                                                                   
                                        |
-| parsed_select_sql_total           | COUNTER             | Total count of 
parsed SELECT                                                                   
                                        |
-| parsed_ddl_total                  | COUNTER             | Total count of 
parsed DDL                                                                      
                                        |
-| parsed_dcl_total                  | COUNTER             | Total count of 
parsed DCL                                                                      
                                        |
-| parsed_dal_total                  | COUNTER             | Total count of 
parsed DAL                                                                      
                                        |
-| parsed_tcl_total                  | COUNTER             | Total count of 
parsed TCL                                                                      
                                        |
-| parsed_rql_total                  | COUNTER             | Total count of 
parsed RQL                                                                      
                                        |
-| parsed_rdl_total                  | COUNTER             | Total count of 
parsed RDL                                                                      
                                        |
-| parsed_ral_total                  | COUNTER             | Total count of 
parsed RAL                                                                      
                                        |
-| parsed_rul_total                  | COUNTER             | Total count of 
parsed RUL                                                                      
                                        |
-| routed_insert_sql_total           | COUNTER             | Total count of 
routed INSERT                                                                   
                                        |
-| routed_update_sql_total           | COUNTER             | Total count of 
routed UPDATE                                                                   
                                        |
-| routed_delete_sql_total           | COUNTER             | Total count of 
routed DELETE                                                                   
                                        |
-| routed_select_sql_total           | COUNTER             | Total count of 
routed SELECT                                                                   
                                        |
+| parsed_sql_total                  | COUNTER             | Total count of 
parsed by type. (INSERT, UPDATE, DELETE, SELECT, DDL, DCL, DAL, TCL, RQL, RDL, 
RAL, RUL)                                |
+| routed_sql_total                  | COUNTER             | Total count of 
routed by type. (INSERT, UPDATE, DELETE, SELECT)                                
                                        |
 | routed_data_sources_total         | COUNTER             | Total count of 
data source routed                                                              
                                        |
 | routed_tables_total               | COUNTER             | Total count of 
table routed                                                                    
                                        |
 | proxy_state                       | GAUGE               | Status information 
of ShardingSphere-Proxy. 0 is OK; 1 is CIRCUIT BREAK; 2 is LOCK                 
                                    |
diff --git 
a/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/MetricsPluginE2EIT.java
 
b/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/MetricsPluginE2EIT.java
index 9a3746796a6..e6dc519af45 100644
--- 
a/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/MetricsPluginE2EIT.java
+++ 
b/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/MetricsPluginE2EIT.java
@@ -38,13 +38,7 @@ import static org.junit.Assert.assertNotNull;
 @Slf4j
 public final class MetricsPluginE2EIT extends BasePluginE2EIT {
     
-    public static final String ROUTED_INSERT_SQL = "routed_insert_sql_total";
-    
-    public static final String ROUTED_UPDATE_SQL = "routed_update_sql_total";
-    
-    public static final String ROUTED_DELETE_SQL = "routed_delete_sql_total";
-    
-    public static final String ROUTED_SELECT_SQL = "routed_select_sql_total";
+    public static final String ROUTED_SQL = "routed_sql_total";
     
     public static final String ROUTED_DATA_SOURCES = 
"routed_data_sources_total";
     
@@ -90,10 +84,7 @@ public final class MetricsPluginE2EIT extends 
BasePluginE2EIT {
         result.add(PROXY_REQUESTS);
         result.add(PROXY_CURRENT_CONNECTIONS);
         result.add(PROXY_EXECUTE_LATENCY_MILLIS);
-        result.add(ROUTED_SELECT_SQL);
-        result.add(ROUTED_UPDATE_SQL);
-        result.add(ROUTED_DELETE_SQL);
-        result.add(ROUTED_INSERT_SQL);
+        result.add(ROUTED_SQL);
         result.add(ROUTED_DATA_SOURCES);
         result.add(ROUTED_TABLES);
         result.add(PROXY_COMMIT_TRANSACTIONS);

Reply via email to