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);