This is an automated email from the ASF dual-hosted git repository.
sunnianjun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 21adca75182 Refactor Tracing PluginDefinitionService (#22838)
21adca75182 is described below
commit 21adca75182a83178b8ab1bbc7ec47eab7dee5b0
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Dec 12 22:43:41 2022 +0800
Refactor Tracing PluginDefinitionService (#22838)
* Use PluginDefinitionServiceEngine instead of
AbstractPluginDefinitionService
* Refactor Tracing PluginDefinitionService
---
.../shardingsphere/agent/core/common/AgentClassLoader.java | 4 ++--
.../base/definition/BaseLoggingPluginDefinitionService.java | 12 +++++++-----
.../jaeger/definition/JaegerPluginDefinitionService.java | 9 ++++++---
.../OpenTelemetryTracingPluginDefinitionService.java | 12 ++++++++----
.../definition/OpenTracingPluginDefinitionService.java | 9 ++++++---
.../zipkin/definition/ZipkinPluginDefinitionService.java | 9 ++++++---
6 files changed, 35 insertions(+), 20 deletions(-)
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/common/AgentClassLoader.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/common/AgentClassLoader.java
index b401f49fd13..1b2609caa98 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/common/AgentClassLoader.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/common/AgentClassLoader.java
@@ -36,7 +36,7 @@ import java.util.jar.Manifest;
import java.util.zip.ZipEntry;
/**
- * Agent classloader.
+ * Agent class loader.
*/
public final class AgentClassLoader extends ClassLoader {
@@ -55,7 +55,7 @@ public final class AgentClassLoader extends ClassLoader {
}
/**
- * Init default plugin classloader.
+ * Initialize default plugin class loader.
*
* @param pluginJars plugin jars
*/
diff --git
a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java
b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java
index 82219e19ec4..30d50f09215 100644
---
a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java
+++
b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.agent.plugin.logging.base.definition;
import net.bytebuddy.matcher.ElementMatchers;
-import
org.apache.shardingsphere.agent.core.definition.ClassPointcutsRegistryFactory;
import
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
import
org.apache.shardingsphere.agent.plugin.logging.base.advice.MetaDataContextsFactoryAdvice;
import org.apache.shardingsphere.agent.pointcut.StaticMethodPointcut;
@@ -37,14 +36,17 @@ public final class BaseLoggingPluginDefinitionService
implements PluginDefinitio
@Override
public void installProxyInterceptors() {
- PluginDefinitionServiceEngine engine = new
PluginDefinitionServiceEngine(this);
-
engine.getClassPointcuts(SCHEMA_METADATA_LOADER_CLASS).getStaticMethodPointcuts()
- .add(new
StaticMethodPointcut(ElementMatchers.named(SCHEMA_METADATA_LOADER_METHOD_NAME).and(ElementMatchers.takesArguments(4)),
SCHEMA_METADATA_LOADER_ADVICE_CLASS));
+ installInterceptors();
}
@Override
public void installJdbcInterceptors() {
-
ClassPointcutsRegistryFactory.getRegistry(getType()).getClassPointcuts(SCHEMA_METADATA_LOADER_CLASS).getStaticMethodPointcuts()
+ installInterceptors();
+ }
+
+ private void installInterceptors() {
+ PluginDefinitionServiceEngine engine = new
PluginDefinitionServiceEngine(this);
+
engine.getClassPointcuts(SCHEMA_METADATA_LOADER_CLASS).getStaticMethodPointcuts()
.add(new
StaticMethodPointcut(ElementMatchers.named(SCHEMA_METADATA_LOADER_METHOD_NAME).and(ElementMatchers.takesArguments(4)),
SCHEMA_METADATA_LOADER_ADVICE_CLASS));
}
diff --git
a/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
b/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
index dbcfac475f1..2922cbe09d2 100644
---
a/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
+++
b/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
@@ -19,6 +19,9 @@ package
org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition;
import net.bytebuddy.matcher.ElementMatchers;
import
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice.CommandExecutorTaskAdvice;
+import
org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice.JDBCExecutorCallbackAdvice;
+import
org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice.SQLParserEngineAdvice;
import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
@@ -31,13 +34,13 @@ public final class JaegerPluginDefinitionService implements
PluginDefinitionServ
private static final String COMMAND_EXECUTOR_METHOD_NAME = "run";
- private static final String COMMAND_EXECUTOR_TASK_ADVICE_CLASS =
"org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice.CommandExecutorTaskAdvice";
+ private static final String COMMAND_EXECUTOR_TASK_ADVICE_CLASS =
CommandExecutorTaskAdvice.class.getName();
private static final String SQL_PARSER_ENGINE_ENHANCE_CLASS =
"org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine";
private static final String SQL_PARSER_ENGINE_METHOD_NAME = "parse";
- private static final String SQL_PARSER_ENGINE_ADVICE_CLASS =
"org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice.SQLParserEngineAdvice";
+ private static final String SQL_PARSER_ENGINE_ADVICE_CLASS =
SQLParserEngineAdvice.class.getName();
private static final String JDBC_EXECUTOR_CALLBACK_ENGINE_ENHANCE_CLASS =
"org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutorCallback";
@@ -45,7 +48,7 @@ public final class JaegerPluginDefinitionService implements
PluginDefinitionServ
private static final String JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS =
"org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit";
- private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS =
"org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice.JDBCExecutorCallbackAdvice";
+ private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS =
JDBCExecutorCallbackAdvice.class.getName();
@Override
public void installProxyInterceptors() {
diff --git
a/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
b/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
index 4c5fa87e5be..12e70bc53ad 100644
---
a/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
+++
b/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
@@ -19,6 +19,9 @@ package
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition;
import net.bytebuddy.matcher.ElementMatchers;
import
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice.CommandExecutorTaskAdvice;
+import
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice.JDBCExecutorCallbackAdvice;
+import
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice.SQLParserEngineAdvice;
import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
@@ -31,13 +34,13 @@ public final class
OpenTelemetryTracingPluginDefinitionService implements Plugin
private static final String COMMAND_EXECUTOR_METHOD_NAME = "run";
- private static final String COMMAND_EXECUTOR_TASK_ADVICE_CLASS =
"org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice.CommandExecutorTaskAdvice";
+ private static final String COMMAND_EXECUTOR_TASK_ADVICE_CLASS =
CommandExecutorTaskAdvice.class.getName();
private static final String SQL_PARSER_ENGINE_ENHANCE_CLASS =
"org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine";
private static final String SQL_PARSER_ENGINE_METHOD_NAME = "parse";
- private static final String SQL_PARSER_ENGINE_ADVICE_CLASS =
"org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice.SQLParserEngineAdvice";
+ private static final String SQL_PARSER_ENGINE_ADVICE_CLASS =
SQLParserEngineAdvice.class.getName();
private static final String JDBC_EXECUTOR_CALLBACK_ENGINE_ENHANCE_CLASS =
"org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutorCallback";
@@ -45,7 +48,7 @@ public final class
OpenTelemetryTracingPluginDefinitionService implements Plugin
private static final String JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS =
"org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit";
- private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS =
"org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice.JDBCExecutorCallbackAdvice";
+ private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS =
JDBCExecutorCallbackAdvice.class.getName();
@Override
public void installProxyInterceptors() {
@@ -55,7 +58,8 @@ public final class
OpenTelemetryTracingPluginDefinitionService implements Plugin
engine.getClassPointcuts(SQL_PARSER_ENGINE_ENHANCE_CLASS).getInstanceMethodPointcuts()
.add(new
InstanceMethodPointcut(ElementMatchers.named(SQL_PARSER_ENGINE_METHOD_NAME),
SQL_PARSER_ENGINE_ADVICE_CLASS));
engine.getClassPointcuts(JDBC_EXECUTOR_CALLBACK_ENGINE_ENHANCE_CLASS).getInstanceMethodPointcuts()
- .add(new
InstanceMethodPointcut(ElementMatchers.takesArgument(0,
ElementMatchers.named(JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS)),
JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS));
+ .add(new
InstanceMethodPointcut(ElementMatchers.named(JDBC_EXECUTOR_METHOD_NAME).and(ElementMatchers.takesArgument(0,
ElementMatchers.named(JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS))),
+ JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS));
}
@Override
diff --git
a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
b/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
index 2dff8e5efa4..2220727e5a8 100644
---
a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
+++
b/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
@@ -19,6 +19,9 @@ package
org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition;
import net.bytebuddy.matcher.ElementMatchers;
import
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice.CommandExecutorTaskAdvice;
+import
org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice.JDBCExecutorCallbackAdvice;
+import
org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice.SQLParserEngineAdvice;
import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
@@ -31,13 +34,13 @@ public final class OpenTracingPluginDefinitionService
implements PluginDefinitio
private static final String COMMAND_EXECUTOR_METHOD_NAME = "run";
- private static final String COMMAND_EXECUTOR_TASK_ADVICE_CLASS =
"org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice.CommandExecutorTaskAdvice";
+ private static final String COMMAND_EXECUTOR_TASK_ADVICE_CLASS =
CommandExecutorTaskAdvice.class.getName();
private static final String SQL_PARSER_ENGINE_ENHANCE_CLASS =
"org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine";
private static final String SQL_PARSER_ENGINE_METHOD_NAME = "parse";
- private static final String SQL_PARSER_ENGINE_ADVICE_CLASS =
"org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice.SQLParserEngineAdvice";
+ private static final String SQL_PARSER_ENGINE_ADVICE_CLASS =
SQLParserEngineAdvice.class.getName();
private static final String JDBC_EXECUTOR_CALLBACK_ENGINE_ENHANCE_CLASS =
"org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutorCallback";
@@ -45,7 +48,7 @@ public final class OpenTracingPluginDefinitionService
implements PluginDefinitio
private static final String JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS =
"org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit";
- private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS =
"org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice.JDBCExecutorCallbackAdvice";
+ private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS =
JDBCExecutorCallbackAdvice.class.getName();
@Override
public void installProxyInterceptors() {
diff --git
a/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
b/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
index 4704f7577ff..d129f1e5bb2 100644
---
a/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
+++
b/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
@@ -19,6 +19,9 @@ package
org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition;
import net.bytebuddy.matcher.ElementMatchers;
import
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.CommandExecutorTaskAdvice;
+import
org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.JDBCExecutorCallbackAdvice;
+import
org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.SQLParserEngineAdvice;
import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
@@ -31,13 +34,13 @@ public final class ZipkinPluginDefinitionService implements
PluginDefinitionServ
private static final String COMMAND_EXECUTOR_METHOD_NAME = "run";
- private static final String COMMAND_EXECUTOR_TASK_ADVICE_CLASS =
"org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.CommandExecutorTaskAdvice";
+ private static final String COMMAND_EXECUTOR_TASK_ADVICE_CLASS =
CommandExecutorTaskAdvice.class.getName();
private static final String SQL_PARSER_ENGINE_ENHANCE_CLASS =
"org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine";
private static final String SQL_PARSER_ENGINE_METHOD_NAME = "parse";
- private static final String SQL_PARSER_ENGINE_ADVICE_CLASS =
"org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.SQLParserEngineAdvice";
+ private static final String SQL_PARSER_ENGINE_ADVICE_CLASS =
SQLParserEngineAdvice.class.getName();
private static final String JDBC_EXECUTOR_CALLBACK_ENGINE_ENHANCE_CLASS =
"org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutorCallback";
@@ -45,7 +48,7 @@ public final class ZipkinPluginDefinitionService implements
PluginDefinitionServ
private static final String JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS =
"org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit";
- private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS =
"org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.JDBCExecutorCallbackAdvice";
+ private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS =
JDBCExecutorCallbackAdvice.class.getName();
@Override
public void installProxyInterceptors() {