This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 cfc088d22ba Rename RouteCountAdvice and SQLParserEngineAdvice (#23554)
cfc088d22ba is described below
commit cfc088d22baa63dd0f1dc8683b45f36d337e76e9
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jan 14 21:06:04 2023 +0800
Rename RouteCountAdvice and SQLParserEngineAdvice (#23554)
---
...outeEngineAdvice.java => RouteCountAdvice.java} | 20 +++++++++----------
...rEngineAdvice.java => SQLParseCountAdvice.java} | 4 ++--
...neAdviceTest.java => RouteCountAdviceTest.java} | 23 ++++++++++------------
...dviceTest.java => SQLParseCountAdviceTest.java} | 7 +++----
.../META-INF/conf/prometheus-proxy-advisors.yaml | 4 ++--
5 files changed, 26 insertions(+), 32 deletions(-)
diff --git
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteEngineAdvice.java
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteCountAdvice.java
similarity index 82%
rename from
agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteEngineAdvice.java
rename to
agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteCountAdvice.java
index 3ad6c2639ad..8ff98a91aac 100644
---
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteEngineAdvice.java
+++
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteCountAdvice.java
@@ -33,12 +33,11 @@ import
org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectState
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dml.UpdateStatement;
import java.lang.reflect.Method;
-import java.util.Collection;
/**
- * SQL route engine advice.
+ * Route count advice.
*/
-public final class SQLRouteEngineAdvice implements InstanceMethodAdvice {
+public final class RouteCountAdvice implements InstanceMethodAdvice {
static {
MetricsPool.create(MetricIds.ROUTED_INSERT_SQL);
@@ -66,14 +65,13 @@ public final class SQLRouteEngineAdvice implements
InstanceMethodAdvice {
@Override
public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
- RouteContext routeContext = (RouteContext) result;
- if (null != routeContext) {
- Collection<RouteUnit> routeUnits = routeContext.getRouteUnits();
- routeUnits.forEach(each -> {
- RouteMapper dataSourceMapper = each.getDataSourceMapper();
-
MetricsPool.get(MetricIds.ROUTED_DATA_SOURCES).ifPresent(optional ->
optional.inc(dataSourceMapper.getActualName()));
- each.getTableMappers().forEach(table ->
MetricsPool.get(MetricIds.ROUTED_TABLES).ifPresent(optional ->
optional.inc(table.getActualName())));
- });
+ if (null == result) {
+ return;
+ }
+ for (RouteUnit each : ((RouteContext) result).getRouteUnits()) {
+ RouteMapper dataSourceMapper = each.getDataSourceMapper();
+ MetricsPool.get(MetricIds.ROUTED_DATA_SOURCES).ifPresent(optional
-> optional.inc(dataSourceMapper.getActualName()));
+ each.getTableMappers().forEach(table ->
MetricsPool.get(MetricIds.ROUTED_TABLES).ifPresent(optional ->
optional.inc(table.getActualName())));
}
}
}
diff --git
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParserEngineAdvice.java
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdvice.java
similarity index 97%
rename from
agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParserEngineAdvice.java
rename to
agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdvice.java
index b49cb2369a4..e4bce3b0fe9 100644
---
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParserEngineAdvice.java
+++
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdvice.java
@@ -38,9 +38,9 @@ import
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.TCLStatemen
import java.lang.reflect.Method;
/**
- * SQL parse engine advice.
+ * SQL parse count advice.
*/
-public final class SQLParserEngineAdvice implements InstanceMethodAdvice {
+public final class SQLParseCountAdvice implements InstanceMethodAdvice {
static {
MetricsPool.create(MetricIds.PARSED_INSERT_SQL);
diff --git
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteEngineAdviceTest.java
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteCountAdviceTest.java
similarity index 80%
rename from
agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteEngineAdviceTest.java
rename to
agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteCountAdviceTest.java
index e63f81bcd9c..b203b232626 100644
---
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteEngineAdviceTest.java
+++
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteCountAdviceTest.java
@@ -40,9 +40,9 @@ import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
-public final class SQLRouteEngineAdviceTest extends MetricsAdviceBaseTest {
+public final class RouteCountAdviceTest extends MetricsAdviceBaseTest {
- private final SQLRouteEngineAdvice sqlRouteEngineAdvice = new
SQLRouteEngineAdvice();
+ private final RouteCountAdvice advice = new RouteCountAdvice();
@Test
public void assertInsertRoute() {
@@ -70,26 +70,23 @@ public final class SQLRouteEngineAdviceTest extends
MetricsAdviceBaseTest {
public void assertRoute(final String metricIds, final QueryContext
queryContext) {
MockTargetAdviceObject targetObject = new MockTargetAdviceObject();
- sqlRouteEngineAdvice.beforeMethod(targetObject, mock(Method.class),
new Object[]{new ConnectionContext(), queryContext});
- FixtureWrapper wrapper = (FixtureWrapper)
MetricsPool.get(metricIds).get();
+ advice.beforeMethod(targetObject, mock(Method.class), new Object[]{new
ConnectionContext(), queryContext});
assertTrue(MetricsPool.get(metricIds).isPresent());
- assertThat(((FixtureWrapper)
MetricsPool.get(metricIds).get()).getFixtureValue(), is(1.0));
+ assertThat(((FixtureWrapper)
MetricsPool.get(metricIds).get()).getFixtureValue(), is(1d));
}
@Test
public void assertRouteDataSourceAndTable() {
- MockTargetAdviceObject targetObject = new MockTargetAdviceObject();
RouteContext routeContext = new RouteContext();
- RouteMapper dsMapper = new RouteMapper("logic_db", "ds_0");
- RouteMapper tbMapper = new RouteMapper("t_order", "t_order_0");
- RouteUnit routeUnit = new RouteUnit(dsMapper,
Collections.singletonList(tbMapper));
- routeContext.getRouteUnits().add(routeUnit);
- sqlRouteEngineAdvice.afterMethod(targetObject, mock(Method.class), new
Object[]{}, routeContext);
+ RouteMapper dataSourceMapper = new RouteMapper("logic_db", "ds_0");
+ RouteMapper tableMapper = new RouteMapper("t_order", "t_order_0");
+ routeContext.getRouteUnits().add(new RouteUnit(dataSourceMapper,
Collections.singleton(tableMapper)));
+ advice.afterMethod(new MockTargetAdviceObject(), mock(Method.class),
new Object[]{}, routeContext);
FixtureWrapper wrapper = (FixtureWrapper)
MetricsPool.get(MetricIds.ROUTED_DATA_SOURCES).get();
assertTrue(MetricsPool.get(MetricIds.ROUTED_DATA_SOURCES).isPresent());
- assertThat(wrapper.getFixtureValue(), is(1.0));
+ assertThat(wrapper.getFixtureValue(), is(1d));
wrapper = (FixtureWrapper)
MetricsPool.get(MetricIds.ROUTED_TABLES).get();
assertTrue(MetricsPool.get(MetricIds.ROUTED_TABLES).isPresent());
- assertThat(wrapper.getFixtureValue(), is(1.0));
+ assertThat(wrapper.getFixtureValue(), is(1d));
}
}
diff --git
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParserEngineAdviceTest.java
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
similarity index 93%
rename from
agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParserEngineAdviceTest.java
rename to
agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
index cd49cf2820d..9dc595d7e5e 100644
---
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParserEngineAdviceTest.java
+++
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
@@ -43,7 +43,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
-public final class SQLParserEngineAdviceTest extends MetricsAdviceBaseTest {
+public final class SQLParseCountAdviceTest extends MetricsAdviceBaseTest {
@Test
public void assertParseInsertSQL() {
@@ -101,9 +101,8 @@ public final class SQLParserEngineAdviceTest extends
MetricsAdviceBaseTest {
}
private void assertParse(final String metricIds, final SQLStatement
sqlStatement) {
- MockTargetAdviceObject targetObject = new MockTargetAdviceObject();
- new SQLParserEngineAdvice().afterMethod(targetObject,
mock(Method.class), new Object[]{}, sqlStatement);
+ new SQLParseCountAdvice().afterMethod(new MockTargetAdviceObject(),
mock(Method.class), new Object[]{}, sqlStatement);
assertTrue(MetricsPool.get(metricIds).isPresent());
- assertThat(((FixtureWrapper)
MetricsPool.get(metricIds).get()).getFixtureValue(), is(1.0));
+ assertThat(((FixtureWrapper)
MetricsPool.get(metricIds).get()).getFixtureValue(), is(1d));
}
}
diff --git
a/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-proxy-advisors.yaml
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-proxy-advisors.yaml
index ae85717c537..390e2300159 100644
---
a/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-proxy-advisors.yaml
+++
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-proxy-advisors.yaml
@@ -49,12 +49,12 @@ advisors:
- name: rollback
type: method
- target: org.apache.shardingsphere.infra.route.engine.SQLRouteEngine
- advice:
org.apache.shardingsphere.agent.plugin.metrics.core.advice.SQLRouteEngineAdvice
+ advice:
org.apache.shardingsphere.agent.plugin.metrics.core.advice.RouteCountAdvice
pointcuts:
- name: route
type: method
- target:
org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine
- advice:
org.apache.shardingsphere.agent.plugin.metrics.core.advice.SQLParserEngineAdvice
+ advice:
org.apache.shardingsphere.agent.plugin.metrics.core.advice.SQLParseCountAdvice
pointcuts:
- name: parse
type: method