This is an automated email from the ASF dual-hosted git repository.
zhaojinchao 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 f52f4846ce4 Add plugin type in advice (#23619)
f52f4846ce4 is described below
commit f52f4846ce4cdce734dd79dcad1f94e1c50d408d
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Jan 18 03:34:36 2023 +0800
Add plugin type in advice (#23619)
* Add plugin type on MethodAdvisorConfiguration
* Add plugin type in advice
---
.../agent/api/advice/type/ConstructorAdvice.java | 3 +-
.../api/advice/type/InstanceMethodAdvice.java | 9 +++--
.../agent/api/advice/type/StaticMethodAdvice.java | 9 +++--
.../advisor/executor/AdviceExecutorFactory.java | 40 ++++++++++++++++------
.../executor/type/ConstructorAdviceExecutor.java | 12 ++++---
.../type/InstanceMethodAdviceExecutor.java | 23 +++++++++----
.../executor/type/StaticMethodAdviceExecutor.java | 24 ++++++++-----
.../config/yaml/fixture/YamlAdviceFixture.java | 14 ++++----
.../shardingsphere/fixture/advice/BarAdvice.java | 14 ++++----
.../shardingsphere/fixture/advice/FooAdvice.java | 14 ++++----
.../file/advice/MetaDataContextsFactoryAdvice.java | 4 +--
.../core/advice/RouteResultCountAdvice.java | 2 +-
.../metrics/core/advice/SQLParseCountAdvice.java | 2 +-
.../metrics/core/advice/SQLRouteCountAdvice.java | 2 +-
.../proxy/CommitTransactionsCountAdvice.java | 2 +-
.../proxy/CurrentConnectionsCountAdvice.java | 2 +-
.../advice/proxy/ExecuteErrorsCountAdvice.java | 2 +-
.../proxy/ExecuteLatencyHistogramAdvice.java | 4 +--
.../core/advice/proxy/RequestsCountAdvice.java | 2 +-
.../proxy/RollbackTransactionsCountAdvice.java | 2 +-
.../core/advice/RouteResultCountAdviceTest.java | 2 +-
.../core/advice/SQLParseCountAdviceTest.java | 2 +-
.../core/advice/SQLRouteCountAdviceTest.java | 2 +-
.../proxy/CommitTransactionsCountAdviceTest.java | 2 +-
.../proxy/CurrentConnectionsCountAdviceTest.java | 6 ++--
.../advice/proxy/ExecuteErrorsCountAdviceTest.java | 2 +-
.../proxy/ExecuteLatencyHistogramAdviceTest.java | 4 +--
.../core/advice/proxy/RequestsCountAdviceTest.java | 2 +-
.../proxy/RollbackTransactionsCountAdviceTest.java | 2 +-
.../jaeger/advice/CommandExecutorTaskAdvice.java | 6 ++--
.../jaeger/advice/JDBCExecutorCallbackAdvice.java | 6 ++--
.../jaeger/advice/SQLParserEngineAdvice.java | 6 ++--
.../advice/CommandExecutorTaskAdviceTest.java | 10 +++---
.../advice/JDBCExecutorCallbackAdviceTest.java | 10 +++---
.../jaeger/advice/SQLParserEngineAdviceTest.java | 10 +++---
.../advice/CommandExecutorTaskAdvice.java | 6 ++--
.../advice/JDBCExecutorCallbackAdvice.java | 9 ++---
.../advice/SQLParserEngineAdvice.java | 6 ++--
.../advice/CommandExecutorTaskAdviceTest.java | 10 +++---
.../advice/JDBCExecutorCallbackAdviceTest.java | 10 +++---
.../advice/SQLParserEngineAdviceTest.java | 10 +++---
.../advice/CommandExecutorTaskAdvice.java | 6 ++--
.../advice/JDBCExecutorCallbackAdvice.java | 6 ++--
.../opentracing/advice/SQLParserEngineAdvice.java | 6 ++--
.../advice/CommandExecutorTaskAdviceTest.java | 10 +++---
.../advice/JDBCExecutorCallbackAdviceTest.java | 10 +++---
.../advice/SQLParserEngineAdviceTest.java | 10 +++---
.../zipkin/advice/CommandExecutorTaskAdvice.java | 6 ++--
.../zipkin/advice/JDBCExecutorCallbackAdvice.java | 6 ++--
.../zipkin/advice/SQLParserEngineAdvice.java | 6 ++--
.../advice/CommandExecutorTaskAdviceTest.java | 10 +++---
.../advice/JDBCExecutorCallbackAdviceTest.java | 10 +++---
.../zipkin/advice/SQLParserEngineAdviceTest.java | 10 +++---
53 files changed, 226 insertions(+), 179 deletions(-)
diff --git
a/agent/api/src/main/java/org/apache/shardingsphere/agent/api/advice/type/ConstructorAdvice.java
b/agent/api/src/main/java/org/apache/shardingsphere/agent/api/advice/type/ConstructorAdvice.java
index dcb22b7df85..8d8b4c3ca1b 100644
---
a/agent/api/src/main/java/org/apache/shardingsphere/agent/api/advice/type/ConstructorAdvice.java
+++
b/agent/api/src/main/java/org/apache/shardingsphere/agent/api/advice/type/ConstructorAdvice.java
@@ -31,6 +31,7 @@ public interface ConstructorAdvice extends AgentAdvice {
*
* @param target intercepted target object
* @param args all arguments of the intercepted constructor
+ * @param pluginType plugin type
*/
- void onConstructor(TargetAdviceObject target, Object[] args);
+ void onConstructor(TargetAdviceObject target, Object[] args, String
pluginType);
}
diff --git
a/agent/api/src/main/java/org/apache/shardingsphere/agent/api/advice/type/InstanceMethodAdvice.java
b/agent/api/src/main/java/org/apache/shardingsphere/agent/api/advice/type/InstanceMethodAdvice.java
index efbaed5a503..9bd880a9f14 100644
---
a/agent/api/src/main/java/org/apache/shardingsphere/agent/api/advice/type/InstanceMethodAdvice.java
+++
b/agent/api/src/main/java/org/apache/shardingsphere/agent/api/advice/type/InstanceMethodAdvice.java
@@ -34,8 +34,9 @@ public interface InstanceMethodAdvice extends AgentAdvice {
* @param target the target object
* @param method the target method
* @param args all method arguments
+ * @param pluginType plugin type
*/
- default void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ default void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, String pluginType) {
}
/**
@@ -46,8 +47,9 @@ public interface InstanceMethodAdvice extends AgentAdvice {
* @param method the target method
* @param args all method arguments
* @param result original call result
+ * @param pluginType plugin type
*/
- default void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ default void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, String pluginType) {
}
/**
@@ -57,7 +59,8 @@ public interface InstanceMethodAdvice extends AgentAdvice {
* @param method the target method
* @param args all method arguments
* @param throwable exception from target method
+ * @param pluginType plugin type
*/
- default void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ default void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, String pluginType) {
}
}
diff --git
a/agent/api/src/main/java/org/apache/shardingsphere/agent/api/advice/type/StaticMethodAdvice.java
b/agent/api/src/main/java/org/apache/shardingsphere/agent/api/advice/type/StaticMethodAdvice.java
index 26d9b35d23a..5b0c6c25d2b 100644
---
a/agent/api/src/main/java/org/apache/shardingsphere/agent/api/advice/type/StaticMethodAdvice.java
+++
b/agent/api/src/main/java/org/apache/shardingsphere/agent/api/advice/type/StaticMethodAdvice.java
@@ -33,8 +33,9 @@ public interface StaticMethodAdvice extends AgentAdvice {
* @param clazz the target class
* @param method the target method
* @param args all method arguments
+ * @param pluginType plugin type
*/
- default void beforeMethod(final Class<?> clazz, final Method method, final
Object[] args) {
+ default void beforeMethod(final Class<?> clazz, final Method method, final
Object[] args, String pluginType) {
}
/**
@@ -45,8 +46,9 @@ public interface StaticMethodAdvice extends AgentAdvice {
* @param method the target method
* @param args all method arguments
* @param result original call result
+ * @param pluginType plugin type
*/
- default void afterMethod(final Class<?> clazz, final Method method, final
Object[] args, final Object result) {
+ default void afterMethod(final Class<?> clazz, final Method method, final
Object[] args, final Object result, String pluginType) {
}
/**
@@ -56,7 +58,8 @@ public interface StaticMethodAdvice extends AgentAdvice {
* @param method the target method
* @param args all method arguments
* @param throwable exception from target method
+ * @param pluginType plugin type
*/
- default void onThrowing(final Class<?> clazz, final Method method, final
Object[] args, final Throwable throwable) {
+ default void onThrowing(final Class<?> clazz, final Method method, final
Object[] args, final Throwable throwable, String pluginType) {
}
}
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/AdviceExecutorFactory.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/AdviceExecutorFactory.java
index 10f247e59e4..cceed737468 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/AdviceExecutorFactory.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/AdviceExecutorFactory.java
@@ -19,18 +19,19 @@ package
org.apache.shardingsphere.agent.core.advisor.executor;
import net.bytebuddy.description.method.MethodDescription.InDefinedShape;
import org.apache.shardingsphere.agent.api.advice.AgentAdvice;
-import org.apache.shardingsphere.agent.api.advice.type.ConstructorAdvice;
-import org.apache.shardingsphere.agent.api.advice.type.InstanceMethodAdvice;
-import org.apache.shardingsphere.agent.api.advice.type.StaticMethodAdvice;
+import
org.apache.shardingsphere.agent.core.advisor.config.AdvisorConfiguration;
+import
org.apache.shardingsphere.agent.core.advisor.config.MethodAdvisorConfiguration;
import
org.apache.shardingsphere.agent.core.advisor.executor.type.ConstructorAdviceExecutor;
+import
org.apache.shardingsphere.agent.core.advisor.executor.type.InstanceMethodAdviceExecutor;
import
org.apache.shardingsphere.agent.core.advisor.executor.type.StaticMethodAdviceExecutor;
import org.apache.shardingsphere.agent.core.classloader.ClassLoaderContext;
-import
org.apache.shardingsphere.agent.core.advisor.config.AdvisorConfiguration;
-import
org.apache.shardingsphere.agent.core.advisor.executor.type.InstanceMethodAdviceExecutor;
import java.util.Collection;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.Map.Entry;
import java.util.Optional;
-import java.util.stream.Collectors;
/**
* Advice executor factory.
@@ -53,16 +54,21 @@ public final class AdviceExecutorFactory {
* @return found advice executor
*/
public Optional<AdviceExecutor> findMatchedAdviceExecutor(final
InDefinedShape methodDescription) {
- Collection<AgentAdvice> advices = advisorConfig.getAdvisors().stream()
- .filter(each ->
each.getPointcut().matches(methodDescription)).map(each ->
adviceFactory.getAdvice(each.getAdviceClassName())).collect(Collectors.toList());
+ Map<String, Collection<AgentAdvice>> advices = new HashMap<>();
+ for (MethodAdvisorConfiguration each : advisorConfig.getAdvisors()) {
+ if (each.getPointcut().matches(methodDescription)) {
+ advices.computeIfAbsent(each.getPluginType(), key -> new
LinkedList<>());
+
advices.get(each.getPluginType()).add(adviceFactory.getAdvice(each.getAdviceClassName()));
+ }
+ }
if (isConstructor(methodDescription)) {
- return Optional.of(new
ConstructorAdviceExecutor(advices.stream().map(each -> (ConstructorAdvice)
each).collect(Collectors.toList())));
+ return Optional.of(new
ConstructorAdviceExecutor(convert(advices)));
}
if (isStaticMethod(methodDescription)) {
- return Optional.of(new
StaticMethodAdviceExecutor(advices.stream().map(each -> (StaticMethodAdvice)
each).collect(Collectors.toList())));
+ return Optional.of(new
StaticMethodAdviceExecutor(convert(advices)));
}
if (isMethod(methodDescription)) {
- return Optional.of(new
InstanceMethodAdviceExecutor(advices.stream().map(each ->
(InstanceMethodAdvice) each).collect(Collectors.toList())));
+ return Optional.of(new
InstanceMethodAdviceExecutor(convert(advices)));
}
return Optional.empty();
}
@@ -78,4 +84,16 @@ public final class AdviceExecutorFactory {
private boolean isMethod(final InDefinedShape methodDescription) {
return !(methodDescription.isAbstract() ||
methodDescription.isSynthetic());
}
+
+ @SuppressWarnings("unchecked")
+ private <T extends AgentAdvice> Map<String, Collection<T>> convert(final
Map<String, Collection<AgentAdvice>> advices) {
+ Map<String, Collection<T>> result = new HashMap<>();
+ for (Entry<String, Collection<AgentAdvice>> entry :
advices.entrySet()) {
+ result.put(entry.getKey(), new LinkedList<>());
+ for (AgentAdvice each : entry.getValue()) {
+ result.get(entry.getKey()).add((T) each);
+ }
+ }
+ return result;
+ }
}
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/type/ConstructorAdviceExecutor.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/type/ConstructorAdviceExecutor.java
index 5265a9cb042..543c4efc56d 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/type/ConstructorAdviceExecutor.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/type/ConstructorAdviceExecutor.java
@@ -28,12 +28,14 @@ import net.bytebuddy.implementation.bind.annotation.This;
import net.bytebuddy.matcher.ElementMatchers;
import org.apache.shardingsphere.agent.api.advice.TargetAdviceObject;
import org.apache.shardingsphere.agent.api.advice.type.ConstructorAdvice;
+import org.apache.shardingsphere.agent.core.advisor.executor.AdviceExecutor;
import org.apache.shardingsphere.agent.core.log.LoggerFactory;
import org.apache.shardingsphere.agent.core.log.LoggerFactory.Logger;
import org.apache.shardingsphere.agent.core.plugin.PluginContext;
-import org.apache.shardingsphere.agent.core.advisor.executor.AdviceExecutor;
import java.util.Collection;
+import java.util.Map;
+import java.util.Map.Entry;
/**
* Constructor advice executor.
@@ -43,7 +45,7 @@ public final class ConstructorAdviceExecutor implements
AdviceExecutor {
private static final Logger LOGGER =
LoggerFactory.getLogger(ConstructorAdviceExecutor.class);
- private final Collection<ConstructorAdvice> advices;
+ private final Map<String, Collection<ConstructorAdvice>> advices;
/**
* Advice constructor.
@@ -56,8 +58,10 @@ public final class ConstructorAdviceExecutor implements
AdviceExecutor {
boolean adviceEnabled = PluginContext.isPluginEnabled();
try {
if (adviceEnabled) {
- for (ConstructorAdvice each : advices) {
- each.onConstructor(target, args);
+ for (Entry<String, Collection<ConstructorAdvice>> entry :
advices.entrySet()) {
+ for (ConstructorAdvice each : entry.getValue()) {
+ each.onConstructor(target, args, entry.getKey());
+ }
}
}
// CHECKSTYLE:OFF
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/type/InstanceMethodAdviceExecutor.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/type/InstanceMethodAdviceExecutor.java
index b0e354b0373..4497e31a96f 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/type/InstanceMethodAdviceExecutor.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/type/InstanceMethodAdviceExecutor.java
@@ -37,6 +37,8 @@ import
org.apache.shardingsphere.agent.core.plugin.PluginContext;
import java.lang.reflect.Method;
import java.util.Collection;
+import java.util.Map;
+import java.util.Map.Entry;
import java.util.concurrent.Callable;
/**
@@ -47,7 +49,7 @@ public final class InstanceMethodAdviceExecutor implements
AdviceExecutor {
private static final Logger LOGGER =
LoggerFactory.getLogger(InstanceMethodAdviceExecutor.class);
- private final Collection<InstanceMethodAdvice> advices;
+ private final Map<String, Collection<InstanceMethodAdvice>> advices;
/**
* Advice instance method.
@@ -85,8 +87,10 @@ public final class InstanceMethodAdviceExecutor implements
AdviceExecutor {
private void adviceBefore(final TargetAdviceObject target, final Method
method, final Object[] args) {
try {
- for (InstanceMethodAdvice each : advices) {
- each.beforeMethod(target, method, args);
+ for (Entry<String, Collection<InstanceMethodAdvice>> entry :
advices.entrySet()) {
+ for (InstanceMethodAdvice each : entry.getValue()) {
+ each.beforeMethod(target, method, args, entry.getKey());
+ }
}
// CHECKSTYLE:OFF
} catch (final Throwable ex) {
@@ -97,8 +101,10 @@ public final class InstanceMethodAdviceExecutor implements
AdviceExecutor {
private void adviceThrow(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable ex) {
try {
- for (InstanceMethodAdvice each : advices) {
- each.onThrowing(target, method, args, ex);
+ for (Entry<String, Collection<InstanceMethodAdvice>> entry :
advices.entrySet()) {
+ for (InstanceMethodAdvice each : entry.getValue()) {
+ each.onThrowing(target, method, args, ex, entry.getKey());
+ }
}
// CHECKSTYLE:OFF
} catch (final Throwable ignored) {
@@ -109,8 +115,11 @@ public final class InstanceMethodAdviceExecutor implements
AdviceExecutor {
private void adviceAfter(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
try {
- for (InstanceMethodAdvice each : advices) {
- each.afterMethod(target, method, args, result);
+ for (Entry<String, Collection<InstanceMethodAdvice>> entry :
advices.entrySet()) {
+ for (InstanceMethodAdvice each : entry.getValue()) {
+ each.afterMethod(target, method, args, result,
entry.getKey());
+ }
+
}
// CHECKSTYLE:OFF
} catch (final Throwable ex) {
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/type/StaticMethodAdviceExecutor.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/type/StaticMethodAdviceExecutor.java
index 11a6a40b49a..35f51cff893 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/type/StaticMethodAdviceExecutor.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/executor/type/StaticMethodAdviceExecutor.java
@@ -28,13 +28,15 @@ import
net.bytebuddy.implementation.bind.annotation.RuntimeType;
import net.bytebuddy.implementation.bind.annotation.SuperCall;
import net.bytebuddy.matcher.ElementMatchers;
import org.apache.shardingsphere.agent.api.advice.type.StaticMethodAdvice;
+import org.apache.shardingsphere.agent.core.advisor.executor.AdviceExecutor;
import org.apache.shardingsphere.agent.core.log.LoggerFactory;
import org.apache.shardingsphere.agent.core.log.LoggerFactory.Logger;
import org.apache.shardingsphere.agent.core.plugin.PluginContext;
-import org.apache.shardingsphere.agent.core.advisor.executor.AdviceExecutor;
import java.lang.reflect.Method;
import java.util.Collection;
+import java.util.Map;
+import java.util.Map.Entry;
import java.util.concurrent.Callable;
/**
@@ -45,7 +47,7 @@ public final class StaticMethodAdviceExecutor implements
AdviceExecutor {
private static final Logger LOGGER =
LoggerFactory.getLogger(StaticMethodAdviceExecutor.class);
- private final Collection<StaticMethodAdvice> executors;
+ private final Map<String, Collection<StaticMethodAdvice>> advices;
/**
* Advice static method.
@@ -83,8 +85,10 @@ public final class StaticMethodAdviceExecutor implements
AdviceExecutor {
private void adviceBefore(final Class<?> klass, final Method method, final
Object[] args) {
try {
- for (StaticMethodAdvice each : executors) {
- each.beforeMethod(klass, method, args);
+ for (Entry<String, Collection<StaticMethodAdvice>> entry :
advices.entrySet()) {
+ for (StaticMethodAdvice each : entry.getValue()) {
+ each.beforeMethod(klass, method, args, entry.getKey());
+ }
}
// CHECKSTYLE:OFF
} catch (final Throwable ex) {
@@ -95,8 +99,10 @@ public final class StaticMethodAdviceExecutor implements
AdviceExecutor {
private void adviceThrow(final Class<?> klass, final Method method, final
Object[] args, final Throwable ex) {
try {
- for (StaticMethodAdvice each : executors) {
- each.onThrowing(klass, method, args, ex);
+ for (Entry<String, Collection<StaticMethodAdvice>> entry :
advices.entrySet()) {
+ for (StaticMethodAdvice each : entry.getValue()) {
+ each.onThrowing(klass, method, args, ex, entry.getKey());
+ }
}
// CHECKSTYLE:OFF
} catch (final Throwable ignored) {
@@ -107,8 +113,10 @@ public final class StaticMethodAdviceExecutor implements
AdviceExecutor {
private void adviceAfter(final Class<?> klass, final Method method, final
Object[] args, final Object result) {
try {
- for (StaticMethodAdvice each : executors) {
- each.afterMethod(klass, method, args, result);
+ for (Entry<String, Collection<StaticMethodAdvice>> entry :
advices.entrySet()) {
+ for (StaticMethodAdvice each : entry.getValue()) {
+ each.afterMethod(klass, method, args, result,
entry.getKey());
+ }
}
// CHECKSTYLE:OFF
} catch (final Throwable ex) {
diff --git
a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/advisor/config/yaml/fixture/YamlAdviceFixture.java
b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/advisor/config/yaml/fixture/YamlAdviceFixture.java
index f804c7d1b6c..292d2ed724d 100644
---
a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/advisor/config/yaml/fixture/YamlAdviceFixture.java
+++
b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/advisor/config/yaml/fixture/YamlAdviceFixture.java
@@ -27,30 +27,30 @@ import java.lang.reflect.Method;
public final class YamlAdviceFixture implements ConstructorAdvice,
InstanceMethodAdvice, StaticMethodAdvice {
@Override
- public void onConstructor(final TargetAdviceObject target, final Object[]
args) {
+ public void onConstructor(final TargetAdviceObject target, final Object[]
args, final String pluginType) {
}
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
}
@Override
- public void beforeMethod(final Class<?> clazz, final Method method, final
Object[] args) {
+ public void beforeMethod(final Class<?> clazz, final Method method, final
Object[] args, final String pluginType) {
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
}
@Override
- public void afterMethod(final Class<?> clazz, final Method method, final
Object[] args, final Object result) {
+ public void afterMethod(final Class<?> clazz, final Method method, final
Object[] args, final Object result, final String pluginType) {
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
}
@Override
- public void onThrowing(final Class<?> clazz, final Method method, final
Object[] args, final Throwable throwable) {
+ public void onThrowing(final Class<?> clazz, final Method method, final
Object[] args, final Throwable throwable, final String pluginType) {
}
}
diff --git
a/agent/core/src/test/java/org/apache/shardingsphere/fixture/advice/BarAdvice.java
b/agent/core/src/test/java/org/apache/shardingsphere/fixture/advice/BarAdvice.java
index bd74dc37427..87cbf574d7a 100644
---
a/agent/core/src/test/java/org/apache/shardingsphere/fixture/advice/BarAdvice.java
+++
b/agent/core/src/test/java/org/apache/shardingsphere/fixture/advice/BarAdvice.java
@@ -29,42 +29,42 @@ import java.util.List;
public final class BarAdvice implements ConstructorAdvice,
InstanceMethodAdvice, StaticMethodAdvice {
@Override
- public void onConstructor(final TargetAdviceObject target, final Object[]
args) {
+ public void onConstructor(final TargetAdviceObject target, final Object[]
args, final String pluginType) {
((List<String>) args[0]).add("bar constructor");
}
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
List<String> queue = (List<String>) args[0];
queue.add("bar before instance method");
}
@Override
- public void beforeMethod(final Class<?> clazz, final Method method, final
Object[] args) {
+ public void beforeMethod(final Class<?> clazz, final Method method, final
Object[] args, final String pluginType) {
List<String> queue = (List<String>) args[0];
queue.add("bar before static method");
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
List<String> queue = (List<String>) args[0];
queue.add("bar after instance method");
}
@Override
- public void afterMethod(final Class<?> clazz, final Method method, final
Object[] args, final Object result) {
+ public void afterMethod(final Class<?> clazz, final Method method, final
Object[] args, final Object result, final String pluginType) {
List<String> queue = (List<String>) args[0];
queue.add("bar after static method");
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
List<String> queue = (List<String>) args[0];
queue.add("bar throw instance method exception");
}
@Override
- public void onThrowing(final Class<?> clazz, final Method method, final
Object[] args, final Throwable throwable) {
+ public void onThrowing(final Class<?> clazz, final Method method, final
Object[] args, final Throwable throwable, final String pluginType) {
List<String> queue = (List<String>) args[0];
queue.add("bar throw static method exception");
}
diff --git
a/agent/core/src/test/java/org/apache/shardingsphere/fixture/advice/FooAdvice.java
b/agent/core/src/test/java/org/apache/shardingsphere/fixture/advice/FooAdvice.java
index f29271a872a..04baee22f7f 100644
---
a/agent/core/src/test/java/org/apache/shardingsphere/fixture/advice/FooAdvice.java
+++
b/agent/core/src/test/java/org/apache/shardingsphere/fixture/advice/FooAdvice.java
@@ -29,42 +29,42 @@ import java.util.List;
public final class FooAdvice implements ConstructorAdvice,
InstanceMethodAdvice, StaticMethodAdvice {
@Override
- public void onConstructor(final TargetAdviceObject target, final Object[]
args) {
+ public void onConstructor(final TargetAdviceObject target, final Object[]
args, final String pluginType) {
((List<String>) args[0]).add("foo constructor");
}
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
List<String> queue = (List<String>) args[0];
queue.add("foo before instance method");
}
@Override
- public void beforeMethod(final Class<?> clazz, final Method method, final
Object[] args) {
+ public void beforeMethod(final Class<?> clazz, final Method method, final
Object[] args, final String pluginType) {
List<String> queue = (List<String>) args[0];
queue.add("foo before static method");
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
List<String> queue = (List<String>) args[0];
queue.add("foo after instance method");
}
@Override
- public void afterMethod(final Class<?> clazz, final Method method, final
Object[] args, final Object result) {
+ public void afterMethod(final Class<?> clazz, final Method method, final
Object[] args, final Object result, final String pluginType) {
List<String> queue = (List<String>) args[0];
queue.add("foo after static method");
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
List<String> queue = (List<String>) args[0];
queue.add("foo throw instance method exception");
}
@Override
- public void onThrowing(final Class<?> clazz, final Method method, final
Object[] args, final Throwable throwable) {
+ public void onThrowing(final Class<?> clazz, final Method method, final
Object[] args, final Throwable throwable, final String pluginType) {
List<String> queue = (List<String>) args[0];
queue.add("foo throw static method exception");
}
diff --git
a/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/advice/MetaDataContextsFactoryAdvice.java
b/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/advice/MetaDataContextsFactoryAdvice.java
index da0004eabbd..c0ef497ec14 100644
---
a/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/advice/MetaDataContextsFactoryAdvice.java
+++
b/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/advice/MetaDataContextsFactoryAdvice.java
@@ -32,12 +32,12 @@ public final class MetaDataContextsFactoryAdvice implements
StaticMethodAdvice {
private final MethodTimeRecorder methodTimeRecorder = new
MethodTimeRecorder(MetaDataContextsFactoryAdvice.class);
@Override
- public void beforeMethod(final Class<?> clazz, final Method method, final
Object[] args) {
+ public void beforeMethod(final Class<?> clazz, final Method method, final
Object[] args, final String pluginType) {
methodTimeRecorder.record(method);
}
@Override
- public void afterMethod(final Class<?> clazz, final Method method, final
Object[] args, final Object result) {
+ public void afterMethod(final Class<?> clazz, final Method method, final
Object[] args, final Object result, final String pluginType) {
log.info("Build meta data contexts finished, cost {} milliseconds.",
methodTimeRecorder.getElapsedTimeAndClean(method));
}
}
diff --git
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteResultCountAdvice.java
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteResultCountAdvice.java
index dbc83bae331..bdb9e9429fc 100644
---
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteResultCountAdvice.java
+++
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteResultCountAdvice.java
@@ -37,7 +37,7 @@ public final class RouteResultCountAdvice implements
InstanceMethodAdvice {
private static final String ROUTED_TABLES_METRIC_KEY =
"routed_tables_total";
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
if (null == result) {
return;
}
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 bd9bc63e9f7..e56565d0a3a 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
@@ -67,7 +67,7 @@ public final class SQLParseCountAdvice implements
InstanceMethodAdvice {
private static final String PARSED_RUL_METRIC_KEY = "parsed_rul_total";
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ 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);
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 88add124e2f..a60df1c32b4 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
@@ -44,7 +44,7 @@ public final class SQLRouteCountAdvice implements
InstanceMethodAdvice {
private static final String ROUTED_SELECT_SQL_METRIC_KEY =
"routed_select_sql_total";
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ 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();
if (sqlStatement instanceof InsertStatement) {
diff --git
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CommitTransactionsCountAdvice.java
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CommitTransactionsCountAdvice.java
index 61adb4aaee4..3eb84683a42 100644
---
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CommitTransactionsCountAdvice.java
+++
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CommitTransactionsCountAdvice.java
@@ -32,7 +32,7 @@ public final class CommitTransactionsCountAdvice implements
InstanceMethodAdvice
private static final String PROXY_COMMIT_TRANSACTIONS_METRIC_KEY =
"proxy_commit_transactions_total";
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
MetricsCollectorRegistry.<CounterMetricsCollector>get(PROXY_COMMIT_TRANSACTIONS_METRIC_KEY).inc();
}
}
diff --git
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CurrentConnectionsCountAdvice.java
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CurrentConnectionsCountAdvice.java
index 883c11a90e3..e7360d94f86 100644
---
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CurrentConnectionsCountAdvice.java
+++
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CurrentConnectionsCountAdvice.java
@@ -32,7 +32,7 @@ public final class CurrentConnectionsCountAdvice implements
InstanceMethodAdvice
private static final String PROXY_CURRENT_CONNECTIONS_METRIC_KEY =
"proxy_current_connections";
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
switch (method.getName()) {
case "channelActive":
MetricsCollectorRegistry.<GaugeMetricsCollector>get(PROXY_CURRENT_CONNECTIONS_METRIC_KEY).inc();
diff --git
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteErrorsCountAdvice.java
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteErrorsCountAdvice.java
index 61cb73a6b6d..35716d62eda 100644
---
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteErrorsCountAdvice.java
+++
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteErrorsCountAdvice.java
@@ -32,7 +32,7 @@ public final class ExecuteErrorsCountAdvice implements
InstanceMethodAdvice {
private static final String PROXY_EXECUTE_ERRORS_METRIC_KEY =
"proxy_execute_errors_total";
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
MetricsCollectorRegistry.<CounterMetricsCollector>get(PROXY_EXECUTE_ERRORS_METRIC_KEY).inc();
}
}
diff --git
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteLatencyHistogramAdvice.java
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteLatencyHistogramAdvice.java
index 4a09f47c16b..ddb56aa255d 100644
---
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteLatencyHistogramAdvice.java
+++
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteLatencyHistogramAdvice.java
@@ -35,12 +35,12 @@ public final class ExecuteLatencyHistogramAdvice implements
InstanceMethodAdvice
private final MethodTimeRecorder methodTimeRecorder = new
MethodTimeRecorder(ExecuteLatencyHistogramAdvice.class);
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
methodTimeRecorder.record(method);
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
MetricsCollectorRegistry.<HistogramMetricsCollector>get(PROXY_EXECUTE_LATENCY_MILLIS_METRIC_KEY).observe(methodTimeRecorder.getElapsedTimeAndClean(method));
}
}
diff --git
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RequestsCountAdvice.java
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RequestsCountAdvice.java
index 19fe44fe745..56f91c4b3d0 100644
---
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RequestsCountAdvice.java
+++
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RequestsCountAdvice.java
@@ -32,7 +32,7 @@ public final class RequestsCountAdvice implements
InstanceMethodAdvice {
private static final String PROXY_REQUESTS_METRIC_KEY =
"proxy_requests_total";
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
MetricsCollectorRegistry.<CounterMetricsCollector>get(PROXY_REQUESTS_METRIC_KEY).inc();
}
}
diff --git
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RollbackTransactionsCountAdvice.java
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RollbackTransactionsCountAdvice.java
index 2dd4d291c1e..13dec9c463e 100644
---
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RollbackTransactionsCountAdvice.java
+++
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RollbackTransactionsCountAdvice.java
@@ -32,7 +32,7 @@ public final class RollbackTransactionsCountAdvice implements
InstanceMethodAdvi
private static final String PROXY_ROLLBACK_TRANSACTIONS_METRIC_KEY =
"proxy_rollback_transactions_total";
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
MetricsCollectorRegistry.<CounterMetricsCollector>get(PROXY_ROLLBACK_TRANSACTIONS_METRIC_KEY).inc();
}
}
diff --git
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteResultCountAdviceTest.java
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteResultCountAdviceTest.java
index 29a58f09115..3ed3015d66a 100644
---
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteResultCountAdviceTest.java
+++
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/RouteResultCountAdviceTest.java
@@ -46,7 +46,7 @@ public final class RouteResultCountAdviceTest extends
MetricsAdviceBaseTest {
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)));
- new RouteResultCountAdvice().afterMethod(new MockTargetAdviceObject(),
mock(Method.class), new Object[]{}, routeContext);
+ new RouteResultCountAdvice().afterMethod(new MockTargetAdviceObject(),
mock(Method.class), new Object[]{}, routeContext, "FIXTURE");
MetricsCollectorFixture wrapper =
MetricsCollectorRegistry.get("routed_data_sources_total");
assertThat(wrapper.getValue(), is(1d));
wrapper = MetricsCollectorRegistry.get("routed_tables_total");
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 7629142874f..8bf61e3e6c2 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
@@ -122,7 +122,7 @@ public final class SQLParseCountAdviceTest extends
MetricsAdviceBaseTest {
}
private void assertParse(final String metricIds, final SQLStatement
sqlStatement) {
- new SQLParseCountAdvice().afterMethod(new MockTargetAdviceObject(),
mock(Method.class), new Object[]{}, sqlStatement);
+ new SQLParseCountAdvice().afterMethod(new MockTargetAdviceObject(),
mock(Method.class), new Object[]{}, sqlStatement, "FIXTURE");
assertThat(((MetricsCollectorFixture)
MetricsCollectorRegistry.get(metricIds)).getValue(), is(1d));
}
}
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 2f81a28f7d8..a2c37548ce8 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
@@ -73,7 +73,7 @@ public final class SQLRouteCountAdviceTest extends
MetricsAdviceBaseTest {
}
public void assertRoute(final String metricId, final QueryContext
queryContext) {
- advice.beforeMethod(new MockTargetAdviceObject(), mock(Method.class),
new Object[]{new ConnectionContext(), queryContext});
+ advice.beforeMethod(new MockTargetAdviceObject(), mock(Method.class),
new Object[]{new ConnectionContext(), queryContext}, "FIXTURE");
assertThat(((MetricsCollectorFixture)
MetricsCollectorRegistry.get(metricId)).getValue(), is(1d));
}
}
diff --git
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CommitTransactionsCountAdviceTest.java
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CommitTransactionsCountAdviceTest.java
index 6dd7af02a56..53aab8a874d 100644
---
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CommitTransactionsCountAdviceTest.java
+++
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CommitTransactionsCountAdviceTest.java
@@ -43,7 +43,7 @@ public final class CommitTransactionsCountAdviceTest extends
MetricsAdviceBaseTe
@Test
public void assertMethod() {
- advice.beforeMethod(new MockTargetAdviceObject(), mock(Method.class),
new Object[]{});
+ advice.beforeMethod(new MockTargetAdviceObject(), mock(Method.class),
new Object[]{}, "FIXTURE");
assertThat(((MetricsCollectorFixture)
MetricsCollectorRegistry.get(PROXY_COMMIT_TRANSACTIONS_METRIC_KEY)).getValue(),
is(1D));
}
}
diff --git
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CurrentConnectionsCountAdviceTest.java
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CurrentConnectionsCountAdviceTest.java
index bf87d1ede68..d7488f881fb 100644
---
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CurrentConnectionsCountAdviceTest.java
+++
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/CurrentConnectionsCountAdviceTest.java
@@ -43,9 +43,9 @@ public final class CurrentConnectionsCountAdviceTest extends
MetricsAdviceBaseTe
@Test
public void assertCountCurrentConnections() {
MockTargetAdviceObject targetObject = new MockTargetAdviceObject();
- advice.beforeMethod(targetObject, mockMethod("channelActive"), new
Object[]{});
- advice.beforeMethod(targetObject, mockMethod("channelActive"), new
Object[]{});
- advice.beforeMethod(targetObject, mockMethod("channelInactive"), new
Object[]{});
+ advice.beforeMethod(targetObject, mockMethod("channelActive"), new
Object[]{}, "FIXTURE");
+ advice.beforeMethod(targetObject, mockMethod("channelActive"), new
Object[]{}, "FIXTURE");
+ advice.beforeMethod(targetObject, mockMethod("channelInactive"), new
Object[]{}, "FIXTURE");
assertThat(((MetricsCollectorFixture)
MetricsCollectorRegistry.get("proxy_current_connections")).getValue(), is(1d));
}
diff --git
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteErrorsCountAdviceTest.java
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteErrorsCountAdviceTest.java
index 4795ce424b2..0e81153d5e4 100644
---
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteErrorsCountAdviceTest.java
+++
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteErrorsCountAdviceTest.java
@@ -40,7 +40,7 @@ public final class ExecuteErrorsCountAdviceTest extends
MetricsAdviceBaseTest {
@Test
public void assertCountExecuteErrors() {
MockTargetAdviceObject targetObject = new MockTargetAdviceObject();
- new ExecuteErrorsCountAdvice().afterMethod(targetObject,
mock(Method.class), new Object[]{}, null);
+ new ExecuteErrorsCountAdvice().afterMethod(targetObject,
mock(Method.class), new Object[]{}, null, "FIXTURE");
assertThat(((MetricsCollectorFixture)
MetricsCollectorRegistry.get("proxy_execute_errors_total")).getValue(), is(1d));
}
}
diff --git
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteLatencyHistogramAdviceTest.java
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteLatencyHistogramAdviceTest.java
index 9aea4911f41..fb3897dd64d 100644
---
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteLatencyHistogramAdviceTest.java
+++
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/ExecuteLatencyHistogramAdviceTest.java
@@ -42,9 +42,9 @@ public final class ExecuteLatencyHistogramAdviceTest extends
MetricsAdviceBaseTe
ExecuteLatencyHistogramAdvice advice = new
ExecuteLatencyHistogramAdvice();
MockTargetAdviceObject targetObject = new MockTargetAdviceObject();
Method method = mock(Method.class);
- advice.beforeMethod(targetObject, method, new Object[]{});
+ advice.beforeMethod(targetObject, method, new Object[]{}, "FIXTURE");
Thread.sleep(500L);
- advice.afterMethod(targetObject, method, new Object[]{}, null);
+ advice.afterMethod(targetObject, method, new Object[]{}, null,
"FIXTURE");
assertThat(((MetricsCollectorFixture)
MetricsCollectorRegistry.get("proxy_execute_latency_millis")).getValue(),
greaterThanOrEqualTo(500D));
}
}
diff --git
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RequestsCountAdviceTest.java
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RequestsCountAdviceTest.java
index f752e8dd9be..f9d655e2961 100644
---
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RequestsCountAdviceTest.java
+++
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RequestsCountAdviceTest.java
@@ -42,7 +42,7 @@ public final class RequestsCountAdviceTest extends
MetricsAdviceBaseTest {
@Test
public void assertCountRequests() {
MockTargetAdviceObject targetObject = new MockTargetAdviceObject();
- advice.beforeMethod(targetObject, mock(Method.class), new Object[]{});
+ advice.beforeMethod(targetObject, mock(Method.class), new Object[]{},
"FIXTURE");
assertThat(((MetricsCollectorFixture)
MetricsCollectorRegistry.get("proxy_requests_total")).getValue(), is(1d));
}
}
diff --git
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RollbackTransactionsCountAdviceTest.java
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RollbackTransactionsCountAdviceTest.java
index 8b55e26b1ab..e3a5dfabead 100644
---
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RollbackTransactionsCountAdviceTest.java
+++
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/proxy/RollbackTransactionsCountAdviceTest.java
@@ -41,7 +41,7 @@ public final class RollbackTransactionsCountAdviceTest
extends MetricsAdviceBase
@Test
public void assertMethod() {
- advice.beforeMethod(new MockTargetAdviceObject(), mock(Method.class),
new Object[]{});
+ advice.beforeMethod(new MockTargetAdviceObject(), mock(Method.class),
new Object[]{}, "FIXTURE");
assertThat(((MetricsCollectorFixture)
MetricsCollectorRegistry.get("proxy_rollback_transactions_total")).getValue(),
is(1D));
}
}
diff --git
a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java
b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java
index f13b8df5522..0a2e1ee5336 100644
---
a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java
+++
b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java
@@ -39,7 +39,7 @@ public final class CommandExecutorTaskAdvice implements
InstanceMethodAdvice {
private static final String OPERATION_NAME = "/ShardingSphere/rootInvoke/";
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
Scope scope = GlobalTracer.get().buildSpan(OPERATION_NAME)
.withTag(Tags.COMPONENT.getKey(),
JaegerConstants.COMPONENT_NAME)
.startActive(true);
@@ -47,7 +47,7 @@ public final class CommandExecutorTaskAdvice implements
InstanceMethodAdvice {
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
ExecutorDataMap.getValue().remove(JaegerConstants.ROOT_SPAN);
BackendConnection connection =
AgentReflectionUtil.<ConnectionSession>getFieldValue(target,
"connectionSession").getBackendConnection();
Scope scope = GlobalTracer.get().scopeManager().active();
@@ -56,7 +56,7 @@ public final class CommandExecutorTaskAdvice implements
InstanceMethodAdvice {
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
JaegerErrorSpan.setError(GlobalTracer.get().activeSpan(), throwable);
}
}
diff --git
a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java
b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java
index 97390597ddf..4e454370f6a 100644
---
a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java
+++
b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java
@@ -48,7 +48,7 @@ public final class JDBCExecutorCallbackAdvice implements
InstanceMethodAdvice {
@Override
@SneakyThrows({ReflectiveOperationException.class, SQLException.class})
@SuppressWarnings("unchecked")
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
Span rootSpan = (Span) ((Map<String, Object>)
args[2]).get(JaegerConstants.ROOT_SPAN);
Tracer.SpanBuilder builder =
GlobalTracer.get().buildSpan(OPERATION_NAME);
if (null != rootSpan) {
@@ -71,12 +71,12 @@ public final class JDBCExecutorCallbackAdvice implements
InstanceMethodAdvice {
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
((Scope) target.getAttachment()).close();
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
JaegerErrorSpan.setError(GlobalTracer.get().activeSpan(), throwable);
}
}
diff --git
a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdvice.java
b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdvice.java
index e59335fcf3a..01f3ec23c77 100644
---
a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdvice.java
+++
b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdvice.java
@@ -35,7 +35,7 @@ public final class SQLParserEngineAdvice implements
InstanceMethodAdvice {
private static final String OPERATION_NAME = "/ShardingSphere/parseSQL/";
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
Scope scope = GlobalTracer.get().buildSpan(OPERATION_NAME)
.withTag(Tags.COMPONENT.getKey(),
JaegerConstants.COMPONENT_NAME)
.withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT)
@@ -45,12 +45,12 @@ public final class SQLParserEngineAdvice implements
InstanceMethodAdvice {
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
((Scope) target.getAttachment()).close();
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
JaegerErrorSpan.setError(GlobalTracer.get().activeSpan(), throwable);
}
}
diff --git
a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdviceTest.java
b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdviceTest.java
index 95db716ff67..baef15b2352 100644
---
a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdviceTest.java
+++
b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdviceTest.java
@@ -53,8 +53,8 @@ public final class CommandExecutorTaskAdviceTest extends
AbstractCommandExecutor
@Test
public void assertMethod() {
CommandExecutorTaskAdvice advice = new CommandExecutorTaskAdvice();
- advice.beforeMethod(getTargetObject(), null, new Object[]{});
- advice.afterMethod(getTargetObject(), null, new Object[]{}, null);
+ advice.beforeMethod(getTargetObject(), null, new Object[]{}, "Jaeger");
+ advice.afterMethod(getTargetObject(), null, new Object[]{}, null,
"Jaeger");
List<MockSpan> spans = COLLECTOR.finishedSpans();
assertThat(spans.size(), is(1));
assertTrue(spans.get(0).logEntries().isEmpty());
@@ -65,9 +65,9 @@ public final class CommandExecutorTaskAdviceTest extends
AbstractCommandExecutor
@Test
public void assertExceptionHandle() {
CommandExecutorTaskAdvice advice = new CommandExecutorTaskAdvice();
- advice.beforeMethod(getTargetObject(), null, new Object[]{});
- advice.onThrowing(getTargetObject(), null, new Object[]{}, new
IOException());
- advice.afterMethod(getTargetObject(), null, new Object[]{}, null);
+ advice.beforeMethod(getTargetObject(), null, new Object[]{}, "Jaeger");
+ advice.onThrowing(getTargetObject(), null, new Object[]{}, new
IOException(), "Jaeger");
+ advice.afterMethod(getTargetObject(), null, new Object[]{}, null,
"Jaeger");
List<MockSpan> spans = COLLECTOR.finishedSpans();
assertThat(spans.size(), is(1));
MockSpan span = spans.get(0);
diff --git
a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdviceTest.java
b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdviceTest.java
index 6fcbc9c7407..3e102d7382b 100644
---
a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdviceTest.java
+++
b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdviceTest.java
@@ -46,8 +46,8 @@ public final class JDBCExecutorCallbackAdviceTest extends
AbstractJDBCExecutorCa
@Test
public void assertMethod() {
JDBCExecutorCallbackAdvice advice = new JDBCExecutorCallbackAdvice();
- advice.beforeMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()});
- advice.afterMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, null);
+ advice.beforeMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, "Jaeger");
+ advice.afterMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, null, "Jaeger");
List<MockSpan> spans = COLLECTOR.finishedSpans();
assertThat(spans.size(), is(1));
MockSpan span = spans.get(0);
@@ -63,9 +63,9 @@ public final class JDBCExecutorCallbackAdviceTest extends
AbstractJDBCExecutorCa
@Test
public void assertExceptionHandle() {
JDBCExecutorCallbackAdvice advice = new JDBCExecutorCallbackAdvice();
- advice.beforeMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()});
- advice.onThrowing(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, new IOException());
- advice.afterMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, null);
+ advice.beforeMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, "Jaeger");
+ advice.onThrowing(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, new IOException(),
"Jaeger");
+ advice.afterMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, null, "Jaeger");
List<MockSpan> spans = COLLECTOR.finishedSpans();
assertThat(spans.size(), is(1));
MockSpan span = spans.get(0);
diff --git
a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdviceTest.java
b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdviceTest.java
index 5e558039e68..80d1ab13878 100644
---
a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdviceTest.java
+++
b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdviceTest.java
@@ -41,8 +41,8 @@ public final class SQLParserEngineAdviceTest extends
AbstractSQLParserEngineAdvi
@Test
public void assertMethod() {
- ADVICE.beforeMethod(getTargetObject(), null, new Object[]{"select 1"});
- ADVICE.afterMethod(getTargetObject(), null, new Object[]{}, null);
+ ADVICE.beforeMethod(getTargetObject(), null, new Object[]{"select 1"},
"Jaeger");
+ ADVICE.afterMethod(getTargetObject(), null, new Object[]{}, null,
"Jaeger");
List<MockSpan> spans = COLLECTOR.finishedSpans();
assertThat(spans.size(), is(1));
assertTrue(spans.get(0).logEntries().isEmpty());
@@ -51,9 +51,9 @@ public final class SQLParserEngineAdviceTest extends
AbstractSQLParserEngineAdvi
@Test
public void assertExceptionHandle() {
- ADVICE.beforeMethod(getTargetObject(), null, new Object[]{"select 1"});
- ADVICE.onThrowing(getTargetObject(), null, new Object[]{}, new
IOException());
- ADVICE.afterMethod(getTargetObject(), null, new Object[]{}, null);
+ ADVICE.beforeMethod(getTargetObject(), null, new Object[]{"select 1"},
"Jaeger");
+ ADVICE.onThrowing(getTargetObject(), null, new Object[]{}, new
IOException(), "Jaeger");
+ ADVICE.afterMethod(getTargetObject(), null, new Object[]{}, null,
"Jaeger");
List<MockSpan> spans = COLLECTOR.finishedSpans();
assertThat(spans.size(), is(1));
MockSpan span = spans.get(0);
diff --git
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdvice.java
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdvice.java
index c4f9f4d65af..2266fd0e9b5 100644
---
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdvice.java
+++
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdvice.java
@@ -37,7 +37,7 @@ public class CommandExecutorTaskAdvice implements
InstanceMethodAdvice {
private static final String OPERATION_NAME = "/ShardingSphere/rootInvoke/";
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
SpanBuilder spanBuilder =
GlobalOpenTelemetry.getTracer("shardingsphere-agent")
.spanBuilder(OPERATION_NAME)
.setAttribute(OpenTelemetryConstants.COMPONENT,
OpenTelemetryConstants.COMPONENT_NAME)
@@ -48,13 +48,13 @@ public class CommandExecutorTaskAdvice implements
InstanceMethodAdvice {
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
((Span) target.getAttachment()).end();
ExecutorDataMap.getValue().remove(OpenTelemetryConstants.ROOT_SPAN);
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
((Span)
target.getAttachment()).setStatus(StatusCode.ERROR).recordException(throwable);
}
}
diff --git
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdvice.java
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdvice.java
index 6043f259c0f..c86b593d1a3 100644
---
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdvice.java
+++
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdvice.java
@@ -35,6 +35,7 @@ import
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.J
import java.lang.reflect.Method;
import java.sql.DatabaseMetaData;
+import java.sql.SQLException;
import java.util.Map;
/**
@@ -45,9 +46,9 @@ public class JDBCExecutorCallbackAdvice implements
InstanceMethodAdvice {
private static final String OPERATION_NAME = "/ShardingSphere/executeSQL/";
@Override
- @SneakyThrows
+ @SneakyThrows({ReflectiveOperationException.class, SQLException.class})
@SuppressWarnings("unchecked")
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
Span root = (Span) ((Map<String, Object>)
args[2]).get(OpenTelemetryConstants.ROOT_SPAN);
Tracer tracer = GlobalOpenTelemetry.getTracer("shardingsphere-agent");
SpanBuilder spanBuilder = tracer.spanBuilder(OPERATION_NAME);
@@ -69,12 +70,12 @@ public class JDBCExecutorCallbackAdvice implements
InstanceMethodAdvice {
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
((Span) target.getAttachment()).end();
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
((Span)
target.getAttachment()).setStatus(StatusCode.ERROR).recordException(throwable);
}
}
diff --git
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdvice.java
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdvice.java
index b2bbcc8733e..083488803a4 100644
---
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdvice.java
+++
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdvice.java
@@ -38,7 +38,7 @@ public class SQLParserEngineAdvice implements
InstanceMethodAdvice {
private static final String OPERATION_NAME = "/ShardingSphere/parseSQL/";
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
Span root = (Span)
ExecutorDataMap.getValue().get(OpenTelemetryConstants.ROOT_SPAN);
Tracer tracer = GlobalOpenTelemetry.getTracer("shardingsphere-agent");
SpanBuilder spanBuilder = tracer.spanBuilder(OPERATION_NAME)
@@ -52,12 +52,12 @@ public class SQLParserEngineAdvice implements
InstanceMethodAdvice {
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
((Span) target.getAttachment()).end();
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
((Span)
target.getAttachment()).setStatus(StatusCode.ERROR).recordException(throwable);
}
}
diff --git
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdviceTest.java
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdviceTest.java
index 5517bcc9573..deb9b104e58 100644
---
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdviceTest.java
+++
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdviceTest.java
@@ -41,8 +41,8 @@ public final class CommandExecutorTaskAdviceTest extends
AbstractCommandExecutor
@Test
public void assertMethod() {
CommandExecutorTaskAdvice advice = new CommandExecutorTaskAdvice();
- advice.beforeMethod(getTargetObject(), null, new Object[]{});
- advice.afterMethod(getTargetObject(), null, new Object[]{}, null);
+ advice.beforeMethod(getTargetObject(), null, new Object[]{},
"OpenTelemetry");
+ advice.afterMethod(getTargetObject(), null, new Object[]{}, null,
"OpenTelemetry");
List<SpanData> spanItems = COLLECTOR.getSpanItems();
assertThat(spanItems.size(), is(1));
SpanData spanData = spanItems.get(0);
@@ -54,9 +54,9 @@ public final class CommandExecutorTaskAdviceTest extends
AbstractCommandExecutor
@Test
public void assertExceptionHandle() {
CommandExecutorTaskAdvice advice = new CommandExecutorTaskAdvice();
- advice.beforeMethod(getTargetObject(), null, new Object[]{});
- advice.onThrowing(getTargetObject(), null, new Object[]{}, new
IOException());
- advice.afterMethod(getTargetObject(), null, new Object[]{}, null);
+ advice.beforeMethod(getTargetObject(), null, new Object[]{},
"OpenTelemetry");
+ advice.onThrowing(getTargetObject(), null, new Object[]{}, new
IOException(), "OpenTelemetry");
+ advice.afterMethod(getTargetObject(), null, new Object[]{}, null,
"OpenTelemetry");
List<SpanData> spanItems = COLLECTOR.getSpanItems();
assertThat(spanItems.size(), is(1));
SpanData spanData = spanItems.get(0);
diff --git
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdviceTest.java
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdviceTest.java
index f93c03af4be..44b3179c7b9 100644
---
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdviceTest.java
+++
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdviceTest.java
@@ -41,8 +41,8 @@ public final class JDBCExecutorCallbackAdviceTest extends
AbstractJDBCExecutorCa
@Test
public void assertMethod() {
JDBCExecutorCallbackAdvice advice = new JDBCExecutorCallbackAdvice();
- advice.beforeMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()});
- advice.afterMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, null);
+ advice.beforeMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, "OpenTelemetry");
+ advice.afterMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, null, "OpenTelemetry");
List<SpanData> spanItems = COLLECTOR.getSpanItems();
assertThat(spanItems.size(), is(1));
SpanData spanData = spanItems.get(0);
@@ -57,9 +57,9 @@ public final class JDBCExecutorCallbackAdviceTest extends
AbstractJDBCExecutorCa
@Test
public void assertExceptionHandle() {
JDBCExecutorCallbackAdvice advice = new JDBCExecutorCallbackAdvice();
- advice.beforeMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()});
- advice.onThrowing(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, new IOException());
- advice.afterMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, null);
+ advice.beforeMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, "OpenTelemetry");
+ advice.onThrowing(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, new IOException(),
"OpenTelemetry");
+ advice.afterMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, null, "OpenTelemetry");
List<SpanData> spanItems = COLLECTOR.getSpanItems();
assertThat(spanItems.size(), is(1));
SpanData spanData = spanItems.get(0);
diff --git
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdviceTest.java
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdviceTest.java
index 4e49d4fb9c2..6dab97a5cb5 100644
---
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdviceTest.java
+++
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdviceTest.java
@@ -60,8 +60,8 @@ public final class SQLParserEngineAdviceTest extends
AbstractSQLParserEngineAdvi
@Test
public void assertMethod() {
- advice.beforeMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true});
- advice.afterMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true}, null);
+ advice.beforeMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true}, "OpenTelemetry");
+ advice.afterMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true}, null, "OpenTelemetry");
parentSpan.end();
List<SpanData> spanItems = COLLECTOR.getSpanItems();
assertThat(spanItems.size(), is(2));
@@ -75,9 +75,9 @@ public final class SQLParserEngineAdviceTest extends
AbstractSQLParserEngineAdvi
@Test
public void assertExceptionHandle() {
- advice.beforeMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true});
- advice.onThrowing(getTargetObject(), null, new Object[]{SQL_STATEMENT,
true}, new IOException());
- advice.afterMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true}, null);
+ advice.beforeMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true}, "OpenTelemetry");
+ advice.onThrowing(getTargetObject(), null, new Object[]{SQL_STATEMENT,
true}, new IOException(), "OpenTelemetry");
+ advice.afterMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true}, null, "OpenTelemetry");
parentSpan.end();
List<SpanData> spanItems = COLLECTOR.getSpanItems();
assertThat(spanItems.size(), is(2));
diff --git
a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdvice.java
b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdvice.java
index 5dfb0788d7c..cfe0b72e7b1 100644
---
a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdvice.java
+++
b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdvice.java
@@ -38,7 +38,7 @@ public final class CommandExecutorTaskAdvice implements
InstanceMethodAdvice {
private static final String ROOT_SPAN = "ot_root_span_";
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
Scope scope = GlobalTracer.get().buildSpan(OPERATION_NAME)
.withTag(Tags.COMPONENT.getKey(),
ShardingSphereTags.COMPONENT_NAME)
.startActive(true);
@@ -46,13 +46,13 @@ public final class CommandExecutorTaskAdvice implements
InstanceMethodAdvice {
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
GlobalTracer.get().scopeManager().active().close();
ExecutorDataMap.getValue().remove(ROOT_SPAN);
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
OpenTracingErrorSpan.setError(GlobalTracer.get().activeSpan(),
throwable);
}
}
diff --git
a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdvice.java
b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdvice.java
index 51b9c7a0d05..872041c49f4 100644
---
a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdvice.java
+++
b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdvice.java
@@ -41,7 +41,7 @@ public final class JDBCExecutorCallbackAdvice implements
InstanceMethodAdvice {
@Override
@SuppressWarnings("unchecked")
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
Span root = (Span) ((Map<String, Object>)
args[2]).get("ot_root_span_");
Tracer.SpanBuilder builder =
GlobalTracer.get().buildSpan(OPERATION_NAME);
if ((boolean) args[1]) {
@@ -60,12 +60,12 @@ public final class JDBCExecutorCallbackAdvice implements
InstanceMethodAdvice {
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
((Scope) target.getAttachment()).close();
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
OpenTracingErrorSpan.setError(GlobalTracer.get().activeSpan(),
throwable);
}
}
diff --git
a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdvice.java
b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdvice.java
index 77af8e130b5..28d5e62431e 100644
---
a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdvice.java
+++
b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdvice.java
@@ -35,7 +35,7 @@ public final class SQLParserEngineAdvice implements
InstanceMethodAdvice {
private static final String OPERATION_NAME = "/ShardingSphere/parseSQL/";
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
Scope scope = GlobalTracer.get().buildSpan(OPERATION_NAME)
.withTag(Tags.COMPONENT.getKey(),
ShardingSphereTags.COMPONENT_NAME)
.withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT)
@@ -45,12 +45,12 @@ public final class SQLParserEngineAdvice implements
InstanceMethodAdvice {
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
((Scope) target.getAttachment()).close();
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
OpenTracingErrorSpan.setError(GlobalTracer.get().activeSpan(),
throwable);
}
}
diff --git
a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdviceTest.java
b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdviceTest.java
index 4dc2f03302d..582c3043afa 100644
---
a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdviceTest.java
+++
b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdviceTest.java
@@ -64,8 +64,8 @@ public final class CommandExecutorTaskAdviceTest {
@Test
public void assertMethod() {
MockTargetAdviceObject targetObject = new MockTargetAdviceObject();
- ADVICE.beforeMethod(targetObject, executeCommandMethod, new
Object[]{});
- ADVICE.afterMethod(targetObject, executeCommandMethod, new Object[]{},
null);
+ ADVICE.beforeMethod(targetObject, executeCommandMethod, new
Object[]{}, "OpenTracing");
+ ADVICE.afterMethod(targetObject, executeCommandMethod, new Object[]{},
null, "OpenTracing");
List<MockSpan> spans = tracer.finishedSpans();
assertThat(spans.size(), is(1));
assertTrue(spans.get(0).logEntries().isEmpty());
@@ -75,9 +75,9 @@ public final class CommandExecutorTaskAdviceTest {
@Test
public void assertExceptionHandle() {
MockTargetAdviceObject targetObject = new MockTargetAdviceObject();
- ADVICE.beforeMethod(targetObject, executeCommandMethod, new
Object[]{});
- ADVICE.onThrowing(targetObject, executeCommandMethod, new Object[]{},
new IOException());
- ADVICE.afterMethod(targetObject, executeCommandMethod, new Object[]{},
null);
+ ADVICE.beforeMethod(targetObject, executeCommandMethod, new
Object[]{}, "OpenTracing");
+ ADVICE.onThrowing(targetObject, executeCommandMethod, new Object[]{},
new IOException(), "OpenTracing");
+ ADVICE.afterMethod(targetObject, executeCommandMethod, new Object[]{},
null, "OpenTracing");
List<MockSpan> spans = tracer.finishedSpans();
assertThat(spans.size(), is(1));
MockSpan span = spans.get(0);
diff --git
a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdviceTest.java
b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdviceTest.java
index ba42946499f..aebe343c613 100644
---
a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdviceTest.java
+++
b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdviceTest.java
@@ -69,8 +69,8 @@ public final class JDBCExecutorCallbackAdviceTest {
JDBCExecutionUnit executionUnit = mock(JDBCExecutionUnit.class);
when(executionUnit.getExecutionUnit()).thenReturn(new
ExecutionUnit("mock.db", new SQLUnit("select 1", Collections.emptyList())));
JDBCExecutorCallbackAdvice advice = new JDBCExecutorCallbackAdvice();
- advice.beforeMethod(targetObject, executeMethod, new
Object[]{executionUnit, false, extraMap});
- advice.afterMethod(targetObject, executeMethod, new
Object[]{executionUnit, false, extraMap}, null);
+ advice.beforeMethod(targetObject, executeMethod, new
Object[]{executionUnit, false, extraMap}, "OpenTracing");
+ advice.afterMethod(targetObject, executeMethod, new
Object[]{executionUnit, false, extraMap}, null, "OpenTracing");
List<MockSpan> spans = tracer.finishedSpans();
assertThat(spans.size(), is(1));
MockSpan span = spans.get(0);
@@ -90,9 +90,9 @@ public final class JDBCExecutorCallbackAdviceTest {
JDBCExecutionUnit executionUnit = mock(JDBCExecutionUnit.class);
when(executionUnit.getExecutionUnit()).thenReturn(new
ExecutionUnit("mock.db", new SQLUnit("select 1", Collections.emptyList())));
JDBCExecutorCallbackAdvice advice = new JDBCExecutorCallbackAdvice();
- advice.beforeMethod(targetObject, executeMethod, new
Object[]{executionUnit, false, extraMap});
- advice.onThrowing(targetObject, executeMethod, new
Object[]{executionUnit, false, extraMap}, new IOException());
- advice.afterMethod(targetObject, executeMethod, new
Object[]{executionUnit, false, extraMap}, null);
+ advice.beforeMethod(targetObject, executeMethod, new
Object[]{executionUnit, false, extraMap}, "OpenTracing");
+ advice.onThrowing(targetObject, executeMethod, new
Object[]{executionUnit, false, extraMap}, new IOException(), "OpenTracing");
+ advice.afterMethod(targetObject, executeMethod, new
Object[]{executionUnit, false, extraMap}, null, "OpenTracing");
List<MockSpan> spans = tracer.finishedSpans();
assertThat(spans.size(), is(1));
MockSpan span = spans.get(0);
diff --git
a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdviceTest.java
b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdviceTest.java
index d0587b308a3..7db4d9bf4ba 100644
---
a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdviceTest.java
+++
b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdviceTest.java
@@ -61,8 +61,8 @@ public final class SQLParserEngineAdviceTest {
@Test
public void assertMethod() {
MockTargetAdviceObject targetObject = new MockTargetAdviceObject();
- ADVICE.beforeMethod(targetObject, parserMethod, new Object[]{"select
1"});
- ADVICE.afterMethod(targetObject, parserMethod, new Object[]{}, null);
+ ADVICE.beforeMethod(targetObject, parserMethod, new Object[]{"select
1"}, "OpenTracing");
+ ADVICE.afterMethod(targetObject, parserMethod, new Object[]{}, null,
"OpenTracing");
List<MockSpan> spans = tracer.finishedSpans();
assertThat(spans.size(), is(1));
assertTrue(spans.get(0).logEntries().isEmpty());
@@ -72,9 +72,9 @@ public final class SQLParserEngineAdviceTest {
@Test
public void assertExceptionHandle() {
MockTargetAdviceObject targetObject = new MockTargetAdviceObject();
- ADVICE.beforeMethod(targetObject, parserMethod, new Object[]{"select
1"});
- ADVICE.onThrowing(targetObject, parserMethod, new Object[]{}, new
IOException());
- ADVICE.afterMethod(targetObject, parserMethod, new Object[]{}, null);
+ ADVICE.beforeMethod(targetObject, parserMethod, new Object[]{"select
1"}, "OpenTracing");
+ ADVICE.onThrowing(targetObject, parserMethod, new Object[]{}, new
IOException(), "OpenTracing");
+ ADVICE.afterMethod(targetObject, parserMethod, new Object[]{}, null,
"OpenTracing");
List<MockSpan> spans = tracer.finishedSpans();
assertThat(spans.size(), is(1));
MockSpan span = spans.get(0);
diff --git
a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java
b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java
index c2a30778478..5196ec29e29 100644
---
a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java
+++
b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java
@@ -37,14 +37,14 @@ public final class CommandExecutorTaskAdvice implements
InstanceMethodAdvice {
private static final String OPERATION_NAME = "/ShardingSphere/rootInvoke/";
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
Span span = Tracing.currentTracer().newTrace().name(OPERATION_NAME);
span.tag(ZipkinConstants.Tags.COMPONENT,
ZipkinConstants.COMPONENT_NAME).kind(Span.Kind.CLIENT).tag(ZipkinConstants.Tags.DB_TYPE,
ZipkinConstants.DB_TYPE_VALUE).start();
ExecutorDataMap.getValue().put(ZipkinConstants.ROOT_SPAN, span);
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
BackendConnection connection =
AgentReflectionUtil.<ConnectionSession>getFieldValue(target,
"connectionSession").getBackendConnection();
Span span = (Span)
ExecutorDataMap.getValue().remove(ZipkinConstants.ROOT_SPAN);
span.tag(ZipkinConstants.Tags.CONNECTION_COUNT,
String.valueOf(connection.getConnectionSize()));
@@ -52,7 +52,7 @@ public final class CommandExecutorTaskAdvice implements
InstanceMethodAdvice {
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
((Span)
ExecutorDataMap.getValue().get(ZipkinConstants.ROOT_SPAN)).error(throwable);
}
}
diff --git
a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java
b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java
index 779292c4d67..2cf21fd6e06 100644
---
a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java
+++
b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java
@@ -44,7 +44,7 @@ public final class JDBCExecutorCallbackAdvice implements
InstanceMethodAdvice {
@Override
@SneakyThrows({ReflectiveOperationException.class, SQLException.class})
@SuppressWarnings("unchecked")
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
Span root = (Span) ((Map<String, Object>)
args[2]).get(ZipkinConstants.ROOT_SPAN);
Span span = null == root ?
Tracing.currentTracer().nextSpan().name(OPERATION_NAME) :
Tracing.currentTracer().newChild(root.context()).name(OPERATION_NAME);
span.tag(ZipkinConstants.Tags.COMPONENT,
ZipkinConstants.COMPONENT_NAME);
@@ -64,12 +64,12 @@ public final class JDBCExecutorCallbackAdvice implements
InstanceMethodAdvice {
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
((Span) target.getAttachment()).finish();
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
((Span) target.getAttachment()).error(throwable);
}
}
diff --git
a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdvice.java
b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdvice.java
index 160a9d0c84b..0cc82d00986 100644
---
a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdvice.java
+++
b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdvice.java
@@ -35,7 +35,7 @@ public final class SQLParserEngineAdvice implements
InstanceMethodAdvice {
private static final String OPERATION_NAME = "/ShardingSphere/parseSQL/";
@Override
- public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args) {
+ public void beforeMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final String pluginType) {
TraceContext parentContext = ((Span)
ExecutorDataMap.getValue().get(ZipkinConstants.ROOT_SPAN)).context();
Span span =
Tracing.currentTracer().newChild(parentContext).name(OPERATION_NAME);
span.tag(ZipkinConstants.Tags.COMPONENT,
ZipkinConstants.COMPONENT_NAME);
@@ -46,12 +46,12 @@ public final class SQLParserEngineAdvice implements
InstanceMethodAdvice {
}
@Override
- public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result) {
+ public void afterMethod(final TargetAdviceObject target, final Method
method, final Object[] args, final Object result, final String pluginType) {
((Span) target.getAttachment()).finish();
}
@Override
- public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable) {
+ public void onThrowing(final TargetAdviceObject target, final Method
method, final Object[] args, final Throwable throwable, final String
pluginType) {
((Span) target.getAttachment()).error(throwable);
}
}
diff --git
a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdviceTest.java
b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdviceTest.java
index 72503689ae3..1172d0550dd 100644
---
a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdviceTest.java
+++
b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdviceTest.java
@@ -38,8 +38,8 @@ public final class CommandExecutorTaskAdviceTest extends
AbstractCommandExecutor
@Test
public void assertMethod() {
CommandExecutorTaskAdvice advice = new CommandExecutorTaskAdvice();
- advice.beforeMethod(getTargetObject(), null, new Object[]{});
- advice.afterMethod(getTargetObject(), null, new Object[]{}, null);
+ advice.beforeMethod(getTargetObject(), null, new Object[]{}, "Zipkin");
+ advice.afterMethod(getTargetObject(), null, new Object[]{}, null,
"Zipkin");
Span span = COLLECTOR.pop();
Map<String, String> tags = span.tags();
assertThat(tags.get(ZipkinConstants.Tags.DB_TYPE),
is(ZipkinConstants.DB_TYPE_VALUE));
@@ -51,9 +51,9 @@ public final class CommandExecutorTaskAdviceTest extends
AbstractCommandExecutor
@Test
public void assertExceptionHandle() {
CommandExecutorTaskAdvice advice = new CommandExecutorTaskAdvice();
- advice.beforeMethod(getTargetObject(), null, new Object[]{});
- advice.onThrowing(getTargetObject(), null, new Object[]{}, new
IOException());
- advice.afterMethod(getTargetObject(), null, new Object[]{}, null);
+ advice.beforeMethod(getTargetObject(), null, new Object[]{}, "Zipkin");
+ advice.onThrowing(getTargetObject(), null, new Object[]{}, new
IOException(), "Zipkin");
+ advice.afterMethod(getTargetObject(), null, new Object[]{}, null,
"Zipkin");
Span span = COLLECTOR.pop();
Map<String, String> tags = span.tags();
assertThat(tags.get("error"), is("IOException"));
diff --git
a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdviceTest.java
b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdviceTest.java
index 6784e55ce4a..61e44fee3b5 100644
---
a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdviceTest.java
+++
b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdviceTest.java
@@ -45,8 +45,8 @@ public final class JDBCExecutorCallbackAdviceTest extends
AbstractJDBCExecutorCa
@Test
public void assertMethod() {
JDBCExecutorCallbackAdvice advice = new JDBCExecutorCallbackAdvice();
- advice.beforeMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()});
- advice.afterMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, null);
+ advice.beforeMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, "Zipkin");
+ advice.afterMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, null, "Zipkin");
Span span = COLLECTOR.pop();
assertThat(span.name(),
is("/ShardingSphere/executeSQL/".toLowerCase()));
Map<String, String> tags = span.tags();
@@ -62,9 +62,9 @@ public final class JDBCExecutorCallbackAdviceTest extends
AbstractJDBCExecutorCa
@Test
public void assertExceptionHandle() {
JDBCExecutorCallbackAdvice advice = new JDBCExecutorCallbackAdvice();
- advice.beforeMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()});
- advice.onThrowing(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, new IOException());
- advice.afterMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, null);
+ advice.beforeMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, "Zipkin");
+ advice.onThrowing(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, new IOException(),
"Zipkin");
+ advice.afterMethod(getTargetObject(), null, new
Object[]{getExecutionUnit(), false, getExtraMap()}, null, "Zipkin");
Span span = COLLECTOR.pop();
assertThat(span.name(),
is("/ShardingSphere/executeSQL/".toLowerCase()));
Map<String, String> tags = span.tags();
diff --git
a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdviceTest.java
b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdviceTest.java
index e17a83ec1f8..065ab961025 100644
---
a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdviceTest.java
+++
b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdviceTest.java
@@ -54,8 +54,8 @@ public final class SQLParserEngineAdviceTest extends
AbstractSQLParserEngineAdvi
@Test
public void assertMethod() {
- advice.beforeMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true});
- advice.afterMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true}, null);
+ advice.beforeMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true}, "Zipkin");
+ advice.afterMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true}, null, "Zipkin");
parentSpan.finish();
zipkin2.Span span = COLLECTOR.pop();
assertNotNull(span.parentId());
@@ -66,9 +66,9 @@ public final class SQLParserEngineAdviceTest extends
AbstractSQLParserEngineAdvi
@Test
public void assertExceptionHandle() {
- advice.beforeMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true});
- advice.onThrowing(getTargetObject(), null, new Object[]{SQL_STATEMENT,
true}, new IOException());
- advice.afterMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true}, null);
+ advice.beforeMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true}, "Zipkin");
+ advice.onThrowing(getTargetObject(), null, new Object[]{SQL_STATEMENT,
true}, new IOException(), "Zipkin");
+ advice.afterMethod(getTargetObject(), null, new
Object[]{SQL_STATEMENT, true}, null, "Zipkin");
parentSpan.finish();
zipkin2.Span span = COLLECTOR.pop();
assertNotNull(span.parentId());