You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2022/12/15 03:52:57 UTC

[shardingsphere] branch master updated: Rename ClassAdvisor to ClassAdvisorConfiguration (#22878)

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 a02296a5242 Rename ClassAdvisor to ClassAdvisorConfiguration (#22878)
a02296a5242 is described below

commit a02296a5242fc28effe328662abe24a07974665c
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Thu Dec 15 11:52:49 2022 +0800

    Rename ClassAdvisor to ClassAdvisorConfiguration (#22878)
---
 .../advisor/ClassAdvisorConfiguration.java}        | 12 ++--
 .../advisor/ConstructorAdvisorConfiguration.java}  |  6 +-
 .../InstanceMethodAdvisorConfiguration.java}       |  8 +--
 .../advisor/StaticMethodAdvisorConfiguration.java} |  8 +--
 .../config/{ => plugin}/AgentConfiguration.java    |  2 +-
 .../config/{ => plugin}/PluginConfiguration.java   |  2 +-
 .../agent/spi/AdvisorDefinitionService.java        | 14 ++--
 .../agent/spi/PluginBootService.java               |  2 +-
 .../agent/bootstrap/ShardingSphereAgent.java       |  4 +-
 .../config/loader/AgentConfigurationLoader.java    |  2 +-
 .../validator/PluginConfigurationValidator.java    |  2 +-
 .../swapper/YamlAgentConfigurationSwapper.java     |  4 +-
 .../core/plugin/PluginBootServiceManager.java      |  2 +-
 .../agent/core/plugin/advisor/AgentAdvisors.java   | 30 ++++----
 ...java => ClassAdvisorConfigurationRegistry.java} | 16 ++---
 .../advisor/ClassAdvisorRegistryFactory.java       |  6 +-
 .../core/plugin/loader/AdviceInstanceLoader.java   |  2 +-
 .../agent/core/transformer/AgentTransformer.java   | 80 +++++++++++-----------
 .../PluginConfigurationValidatorTest.java          |  2 +-
 .../core/plugin/advisor/AgentAdvisorsTest.java     | 20 +++---
 ...ssAdvisorConfigurationRegistryFactoryTest.java} |  4 +-
 ... => ClassAdvisorConfigurationRegistryTest.java} |  8 +--
 .../core/transformer/AgentTransformerTest.java     | 38 +++++-----
 .../BaseLoggingAdvisorDefinitionService.java       | 24 +++----
 .../base/service/BaseLoggingPluginBootService.java |  2 +-
 .../PrometheusAdvisorDefinitionService.java        | 32 ++++-----
 .../service/PrometheusPluginBootService.java       |  2 +-
 .../PrometheusAdvisorDefinitionServiceTest.java    |  2 +-
 .../service/PrometheusPluginBootServiceTest.java   |  2 +-
 .../tracing/core/advice/TracingAdviceEngine.java   | 26 +++----
 .../core/advice/adviser/TracingAdviser.java        |  8 +--
 .../adviser/impl/CommandExecutorTaskAdviser.java   | 10 +--
 .../adviser/impl/JDBCExecutorCallbackAdviser.java  | 10 +--
 .../adviser/impl/SQLParserEngineAdviser.java       | 10 +--
 .../definition/JaegerAdvisorDefinitionService.java | 10 +--
 .../service/JaegerTracingPluginBootService.java    |  2 +-
 .../JaegerAdvisorDefinitionServiceTest.java        |  2 +-
 .../JaegerTracingPluginBootServiceTest.java        |  2 +-
 ...enTelemetryTracingAdvisorDefinitionService.java | 10 +--
 .../OpenTelemetryTracingPluginBootService.java     |  2 +-
 ...lemetryTracingAdvisorDefinitionServiceTest.java |  2 +-
 .../OpenTelemetryTracingPluginBootServiceTest.java |  2 +-
 .../OpenTracingAdvisorDefinitionService.java       | 10 +--
 .../service/OpenTracingPluginBootService.java      |  2 +-
 .../OpenTracingAdvisorDefinitionServiceTest.java   |  2 +-
 .../service/OpenTracingPluginBootServiceTest.java  |  2 +-
 .../definition/ZipkinAdvisorDefinitionService.java | 10 +--
 .../service/ZipkinTracingPluginBootService.java    |  2 +-
 .../ZipkinAdvisorDefinitionServiceTest.java        |  2 +-
 .../ZipkinTracingPluginBootServiceTest.java        |  2 +-
 50 files changed, 233 insertions(+), 233 deletions(-)

diff --git a/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/ClassAdvisor.java b/agent/api/src/main/java/org/apache/shardingsphere/agent/config/advisor/ClassAdvisorConfiguration.java
similarity index 69%
rename from agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/ClassAdvisor.java
rename to agent/api/src/main/java/org/apache/shardingsphere/agent/config/advisor/ClassAdvisorConfiguration.java
index 409bfd909eb..061613d0750 100644
--- a/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/ClassAdvisor.java
+++ b/agent/api/src/main/java/org/apache/shardingsphere/agent/config/advisor/ClassAdvisorConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.advisor;
+package org.apache.shardingsphere.agent.config.advisor;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
@@ -24,17 +24,17 @@ import java.util.Collection;
 import java.util.LinkedList;
 
 /**
- * Class advisor.
+ * Class advisor configuration.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ClassAdvisor {
+public final class ClassAdvisorConfiguration {
     
     private final String targetClassName;
     
-    private final Collection<ConstructorAdvisor> constructorAdvisors = new LinkedList<>();
+    private final Collection<ConstructorAdvisorConfiguration> constructorAdvisors = new LinkedList<>();
     
-    private final Collection<InstanceMethodAdvisor> instanceMethodAdvisors = new LinkedList<>();
+    private final Collection<InstanceMethodAdvisorConfiguration> instanceMethodAdvisors = new LinkedList<>();
     
-    private final Collection<StaticMethodAdvisor> staticMethodAdvisors = new LinkedList<>();
+    private final Collection<StaticMethodAdvisorConfiguration> staticMethodAdvisors = new LinkedList<>();
 }
diff --git a/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/ConstructorAdvisor.java b/agent/api/src/main/java/org/apache/shardingsphere/agent/config/advisor/ConstructorAdvisorConfiguration.java
similarity index 88%
rename from agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/ConstructorAdvisor.java
rename to agent/api/src/main/java/org/apache/shardingsphere/agent/config/advisor/ConstructorAdvisorConfiguration.java
index 662bd75b798..172fb033b6c 100644
--- a/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/ConstructorAdvisor.java
+++ b/agent/api/src/main/java/org/apache/shardingsphere/agent/config/advisor/ConstructorAdvisorConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.advisor;
+package org.apache.shardingsphere.agent.config.advisor;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
@@ -23,11 +23,11 @@ import net.bytebuddy.description.method.MethodDescription;
 import net.bytebuddy.matcher.ElementMatcher;
 
 /**
- * Constructor advisor.
+ * Constructor advisor configuration.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ConstructorAdvisor {
+public final class ConstructorAdvisorConfiguration {
     
     private final ElementMatcher<? super MethodDescription> pointcut;
     
diff --git a/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/StaticMethodAdvisor.java b/agent/api/src/main/java/org/apache/shardingsphere/agent/config/advisor/InstanceMethodAdvisorConfiguration.java
similarity index 81%
rename from agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/StaticMethodAdvisor.java
rename to agent/api/src/main/java/org/apache/shardingsphere/agent/config/advisor/InstanceMethodAdvisorConfiguration.java
index 924f444078c..b44b049571a 100644
--- a/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/StaticMethodAdvisor.java
+++ b/agent/api/src/main/java/org/apache/shardingsphere/agent/config/advisor/InstanceMethodAdvisorConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.advisor;
+package org.apache.shardingsphere.agent.config.advisor;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
@@ -23,11 +23,11 @@ import net.bytebuddy.description.method.MethodDescription;
 import net.bytebuddy.matcher.ElementMatcher;
 
 /**
- * Static method advisor.
+ * Instance method advisor configuration.
  */
 @RequiredArgsConstructor
 @Getter
-public final class StaticMethodAdvisor {
+public final class InstanceMethodAdvisorConfiguration {
     
     private final ElementMatcher<? super MethodDescription> pointcut;
     
@@ -35,7 +35,7 @@ public final class StaticMethodAdvisor {
     
     private final boolean overrideArgs;
     
-    public StaticMethodAdvisor(final ElementMatcher<? super MethodDescription> pointcut, final String adviceClassName) {
+    public InstanceMethodAdvisorConfiguration(final ElementMatcher<? super MethodDescription> pointcut, final String adviceClassName) {
         this(pointcut, adviceClassName, false);
     }
 }
diff --git a/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/InstanceMethodAdvisor.java b/agent/api/src/main/java/org/apache/shardingsphere/agent/config/advisor/StaticMethodAdvisorConfiguration.java
similarity index 81%
rename from agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/InstanceMethodAdvisor.java
rename to agent/api/src/main/java/org/apache/shardingsphere/agent/config/advisor/StaticMethodAdvisorConfiguration.java
index 02a0fc621c5..b0747f30738 100644
--- a/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/InstanceMethodAdvisor.java
+++ b/agent/api/src/main/java/org/apache/shardingsphere/agent/config/advisor/StaticMethodAdvisorConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.advisor;
+package org.apache.shardingsphere.agent.config.advisor;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
@@ -23,11 +23,11 @@ import net.bytebuddy.description.method.MethodDescription;
 import net.bytebuddy.matcher.ElementMatcher;
 
 /**
- * Instance method advisor.
+ * Static method advisor configuration.
  */
 @RequiredArgsConstructor
 @Getter
-public final class InstanceMethodAdvisor {
+public final class StaticMethodAdvisorConfiguration {
     
     private final ElementMatcher<? super MethodDescription> pointcut;
     
@@ -35,7 +35,7 @@ public final class InstanceMethodAdvisor {
     
     private final boolean overrideArgs;
     
-    public InstanceMethodAdvisor(final ElementMatcher<? super MethodDescription> pointcut, final String adviceClassName) {
+    public StaticMethodAdvisorConfiguration(final ElementMatcher<? super MethodDescription> pointcut, final String adviceClassName) {
         this(pointcut, adviceClassName, false);
     }
 }
diff --git a/agent/api/src/main/java/org/apache/shardingsphere/agent/config/AgentConfiguration.java b/agent/api/src/main/java/org/apache/shardingsphere/agent/config/plugin/AgentConfiguration.java
similarity index 95%
rename from agent/api/src/main/java/org/apache/shardingsphere/agent/config/AgentConfiguration.java
rename to agent/api/src/main/java/org/apache/shardingsphere/agent/config/plugin/AgentConfiguration.java
index ba729edbb5e..991cb16c1f0 100644
--- a/agent/api/src/main/java/org/apache/shardingsphere/agent/config/AgentConfiguration.java
+++ b/agent/api/src/main/java/org/apache/shardingsphere/agent/config/plugin/AgentConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.config;
+package org.apache.shardingsphere.agent.config.plugin;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git a/agent/api/src/main/java/org/apache/shardingsphere/agent/config/PluginConfiguration.java b/agent/api/src/main/java/org/apache/shardingsphere/agent/config/plugin/PluginConfiguration.java
similarity index 95%
rename from agent/api/src/main/java/org/apache/shardingsphere/agent/config/PluginConfiguration.java
rename to agent/api/src/main/java/org/apache/shardingsphere/agent/config/plugin/PluginConfiguration.java
index cf5abe99155..3ab8d2dc6e8 100644
--- a/agent/api/src/main/java/org/apache/shardingsphere/agent/config/PluginConfiguration.java
+++ b/agent/api/src/main/java/org/apache/shardingsphere/agent/config/plugin/PluginConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.config;
+package org.apache.shardingsphere.agent.config.plugin;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git a/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/AdvisorDefinitionService.java b/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/AdvisorDefinitionService.java
index 9fb5bba0c5e..49e46b6d1d2 100644
--- a/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/AdvisorDefinitionService.java
+++ b/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/AdvisorDefinitionService.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.agent.spi;
 
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
 
 import java.util.Collection;
 
@@ -27,16 +27,16 @@ import java.util.Collection;
 public interface AdvisorDefinitionService extends AgentSPI {
     
     /**
-     * Get proxy advisors.
+     * Get proxy advisors configuration.
      * 
-     * @return proxy advisors
+     * @return proxy advisor configurations
      */
-    Collection<ClassAdvisor> getProxyAdvisors();
+    Collection<ClassAdvisorConfiguration> getProxyAdvisorConfigurations();
     
     /**
-     * Get JDBC advisors.
+     * Get JDBC advisors configuration.
      * 
-     * @return JDBC advisors
+     * @return JDBC advisor configurations
      */
-    Collection<ClassAdvisor> getJDBCAdvisors();
+    Collection<ClassAdvisorConfiguration> getJDBCAdvisorConfigurations();
 }
diff --git a/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java b/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java
index 8f7f61620f3..66c7ac8da50 100644
--- a/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java
+++ b/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.agent.spi;
 
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 
 /**
  * Plugin boot service that the lifecycle is from the agent start to shutdown.
diff --git a/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/ShardingSphereAgent.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/ShardingSphereAgent.java
index c09fe2fc902..cd7424d6876 100644
--- a/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/ShardingSphereAgent.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/ShardingSphereAgent.java
@@ -23,8 +23,8 @@ import net.bytebuddy.ByteBuddy;
 import net.bytebuddy.agent.builder.AgentBuilder;
 import net.bytebuddy.dynamic.scaffold.TypeValidation;
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.config.AgentConfiguration;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.AgentConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.apache.shardingsphere.agent.core.classloader.AgentClassLoader;
 import org.apache.shardingsphere.agent.core.config.loader.AgentConfigurationLoader;
 import org.apache.shardingsphere.agent.core.config.registry.AgentConfigurationRegistry;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/loader/AgentConfigurationLoader.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/loader/AgentConfigurationLoader.java
index ffd9055b147..14cb0819168 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/loader/AgentConfigurationLoader.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/loader/AgentConfigurationLoader.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.agent.core.config.loader;
 import com.google.common.base.Preconditions;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.agent.config.AgentConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.AgentConfiguration;
 import org.apache.shardingsphere.agent.core.config.yaml.YamlAgentConfiguration;
 import org.apache.shardingsphere.agent.core.config.yaml.swapper.YamlAgentConfigurationSwapper;
 import org.apache.shardingsphere.agent.core.config.path.AgentPathBuilder;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/validator/PluginConfigurationValidator.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/validator/PluginConfigurationValidator.java
index a8cd0508250..ab320f40936 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/validator/PluginConfigurationValidator.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/validator/PluginConfigurationValidator.java
@@ -21,7 +21,7 @@ import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 
 /**
  * Plugin configuration validator.
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/YamlAgentConfigurationSwapper.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/YamlAgentConfigurationSwapper.java
index 5b55ec7a8d2..0c7d39ae1ca 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/YamlAgentConfigurationSwapper.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/YamlAgentConfigurationSwapper.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.agent.core.config.yaml.swapper;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.agent.config.AgentConfiguration;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.AgentConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.apache.shardingsphere.agent.core.config.yaml.YamlAgentConfiguration;
 import org.apache.shardingsphere.agent.core.config.yaml.YamlPluginCategoryConfiguration;
 import org.apache.shardingsphere.agent.core.config.yaml.YamlPluginConfiguration;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginBootServiceManager.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginBootServiceManager.java
index 48c89fc77c7..dc88635696d 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginBootServiceManager.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginBootServiceManager.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.agent.core.plugin;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.apache.shardingsphere.agent.core.logging.LoggerFactory;
 import org.apache.shardingsphere.agent.core.spi.AgentSPIRegistry;
 import org.apache.shardingsphere.agent.spi.PluginBootService;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/AgentAdvisors.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/AgentAdvisors.java
index 388e5228863..36e88248b99 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/AgentAdvisors.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/AgentAdvisors.java
@@ -22,8 +22,8 @@ import lombok.Setter;
 import net.bytebuddy.description.type.TypeDescription;
 import net.bytebuddy.matcher.ElementMatcher;
 import net.bytebuddy.matcher.ElementMatcher.Junction;
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
-import org.apache.shardingsphere.agent.config.AgentConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.AgentConfiguration;
 import org.apache.shardingsphere.agent.core.classloader.AgentClassLoader;
 import org.apache.shardingsphere.agent.core.config.registry.AgentConfigurationRegistry;
 import org.apache.shardingsphere.agent.core.plugin.PluginJar;
@@ -43,26 +43,26 @@ import java.util.stream.Collectors;
  */
 public final class AgentAdvisors {
     
-    private final Map<String, ClassAdvisor> advisors;
+    private final Map<String, ClassAdvisorConfiguration> advisorConfigs;
     
     @Setter
     private boolean isEnhancedForProxy = true;
     
     public AgentAdvisors(final Collection<PluginJar> pluginJars) {
         AgentClassLoader.init(pluginJars);
-        advisors = getAllAdvisors(AgentClassLoader.getClassLoader());
+        advisorConfigs = getAllAdvisorConfigurations(AgentClassLoader.getClassLoader());
     }
     
-    private Map<String, ClassAdvisor> getAllAdvisors(final ClassLoader classLoader) {
-        Map<String, ClassAdvisor> result = new HashMap<>();
+    private Map<String, ClassAdvisorConfiguration> getAllAdvisorConfigurations(final ClassLoader classLoader) {
+        Map<String, ClassAdvisorConfiguration> result = new HashMap<>();
         Collection<String> pluginTypes = getPluginTypes();
         for (AdvisorDefinitionService each : PluginServiceLoader.newServiceInstances(AdvisorDefinitionService.class, classLoader)) {
             if (pluginTypes.contains(each.getType())) {
-                Collection<ClassAdvisor> advisors = isEnhancedForProxy ? each.getProxyAdvisors() : each.getJDBCAdvisors();
-                result.putAll(advisors.stream().collect(Collectors.toMap(ClassAdvisor::getTargetClassName, Function.identity())));
+                Collection<ClassAdvisorConfiguration> advisorConfigs = isEnhancedForProxy ? each.getProxyAdvisorConfigurations() : each.getJDBCAdvisorConfigurations();
+                result.putAll(advisorConfigs.stream().collect(Collectors.toMap(ClassAdvisorConfiguration::getTargetClassName, Function.identity())));
             }
         }
-        return ImmutableMap.<String, ClassAdvisor>builder().putAll(result).build();
+        return ImmutableMap.<String, ClassAdvisorConfiguration>builder().putAll(result).build();
     }
     
     private Collection<String> getPluginTypes() {
@@ -85,7 +85,7 @@ public final class AgentAdvisors {
             @SuppressWarnings("NullableProblems")
             @Override
             public boolean matches(final TypeDescription target) {
-                return advisors.containsKey(target.getTypeName());
+                return advisorConfigs.containsKey(target.getTypeName());
             }
             
             @SuppressWarnings("NullableProblems")
@@ -109,17 +109,17 @@ public final class AgentAdvisors {
      * @return contains when it is true
      */
     public boolean containsType(final TypeDescription typeDescription) {
-        return advisors.containsKey(typeDescription.getTypeName());
+        return advisorConfigs.containsKey(typeDescription.getTypeName());
     }
     
     /**
-     * Load plugin advisor by type description.
+     * Get class advisor configuration.
      *
      * @param typeDescription type description
-     * @return plugin advisor
+     * @return class advisor configuration
      */
-    public ClassAdvisor getPluginAdvisor(final TypeDescription typeDescription) {
-        return advisors.getOrDefault(typeDescription.getTypeName(), new ClassAdvisor(""));
+    public ClassAdvisorConfiguration getClassAdvisorConfiguration(final TypeDescription typeDescription) {
+        return advisorConfigs.getOrDefault(typeDescription.getTypeName(), new ClassAdvisorConfiguration(""));
     }
     
     /**
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorRegistry.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorConfigurationRegistry.java
similarity index 70%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorRegistry.java
rename to agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorConfigurationRegistry.java
index ecd731181ca..2f0351fcfb6 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorRegistry.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorConfigurationRegistry.java
@@ -17,25 +17,25 @@
 
 package org.apache.shardingsphere.agent.core.plugin.advisor;
 
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
 
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**
- * Class advisor registry.
+ * Class advisor configuration registry.
  */
-public final class ClassAdvisorRegistry {
+public final class ClassAdvisorConfigurationRegistry {
     
-    private final Map<String, ClassAdvisor> advisors = new ConcurrentHashMap<>();
+    private final Map<String, ClassAdvisorConfiguration> advisors = new ConcurrentHashMap<>();
     
     /**
-     * Get class advisor.
+     * Get class advisor configuration.
      * 
      * @param targetClassName target class name to be intercepted
-     * @return class advisor
+     * @return class advisor configuration
      */
-    public ClassAdvisor getAdvisor(final String targetClassName) {
-        return advisors.computeIfAbsent(targetClassName, ClassAdvisor::new);
+    public ClassAdvisorConfiguration getAdvisorConfiguration(final String targetClassName) {
+        return advisors.computeIfAbsent(targetClassName, ClassAdvisorConfiguration::new);
     }
 }
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorRegistryFactory.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorRegistryFactory.java
index e13c29211bf..74c359486bc 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorRegistryFactory.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorRegistryFactory.java
@@ -29,7 +29,7 @@ import java.util.concurrent.ConcurrentHashMap;
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class ClassAdvisorRegistryFactory {
     
-    private static final Map<String, ClassAdvisorRegistry> REGISTRIES = new ConcurrentHashMap<>();
+    private static final Map<String, ClassAdvisorConfigurationRegistry> REGISTRIES = new ConcurrentHashMap<>();
     
     /**
      * Get class advisor registry.
@@ -37,7 +37,7 @@ public final class ClassAdvisorRegistryFactory {
      * @param type registry type
      * @return class advisor registry
      */
-    public static ClassAdvisorRegistry getRegistry(final String type) {
-        return REGISTRIES.computeIfAbsent(type, each -> new ClassAdvisorRegistry());
+    public static ClassAdvisorConfigurationRegistry getRegistry(final String type) {
+        return REGISTRIES.computeIfAbsent(type, each -> new ClassAdvisorConfigurationRegistry());
     }
 }
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdviceInstanceLoader.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdviceInstanceLoader.java
index 42a7f058edc..6431265e5d3 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdviceInstanceLoader.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdviceInstanceLoader.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.agent.core.plugin.loader;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import lombok.SneakyThrows;
-import org.apache.shardingsphere.agent.config.AgentConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.AgentConfiguration;
 import org.apache.shardingsphere.agent.core.classloader.AgentClassLoader;
 import org.apache.shardingsphere.agent.core.config.registry.AgentConfigurationRegistry;
 import org.apache.shardingsphere.agent.core.plugin.PluginBootServiceManager;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformer.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformer.java
index 691e4b5abbf..4b4aa9cad22 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformer.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformer.java
@@ -30,10 +30,10 @@ import net.bytebuddy.implementation.bind.annotation.Morph;
 import net.bytebuddy.jar.asm.Opcodes;
 import net.bytebuddy.matcher.ElementMatchers;
 import net.bytebuddy.utility.JavaModule;
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
-import org.apache.shardingsphere.agent.advisor.ConstructorAdvisor;
-import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
-import org.apache.shardingsphere.agent.advisor.StaticMethodAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.ConstructorAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.InstanceMethodAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.StaticMethodAdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.logging.LoggerFactory;
 import org.apache.shardingsphere.agent.core.plugin.OverrideArgsInvoker;
 import org.apache.shardingsphere.agent.core.plugin.TargetAdviceObject;
@@ -77,18 +77,18 @@ public final class AgentTransformer implements Transformer {
             return builder;
         }
         Builder<?> result = builder.defineField(EXTRA_DATA, Object.class, Opcodes.ACC_PRIVATE | Opcodes.ACC_VOLATILE).implement(TargetAdviceObject.class).intercept(FieldAccessor.ofField(EXTRA_DATA));
-        ClassAdvisor classAdvisor = agentAdvisors.getPluginAdvisor(typeDescription);
-        result = interceptConstructor(typeDescription, classAdvisor.getConstructorAdvisors(), result, classLoader);
-        result = interceptStaticMethod(typeDescription, classAdvisor.getStaticMethodAdvisors(), result, classLoader);
-        result = interceptInstanceMethod(typeDescription, classAdvisor.getInstanceMethodAdvisors(), result, classLoader);
+        ClassAdvisorConfiguration classAdvisorConfig = agentAdvisors.getClassAdvisorConfiguration(typeDescription);
+        result = interceptConstructor(typeDescription, classAdvisorConfig.getConstructorAdvisors(), result, classLoader);
+        result = interceptStaticMethod(typeDescription, classAdvisorConfig.getStaticMethodAdvisors(), result, classLoader);
+        result = interceptInstanceMethod(typeDescription, classAdvisorConfig.getInstanceMethodAdvisors(), result, classLoader);
         return result;
     }
     
     private Builder<?> interceptConstructor(final TypeDescription description,
-                                            final Collection<ConstructorAdvisor> constructorAdvisors, final Builder<?> builder, final ClassLoader classLoader) {
+                                            final Collection<ConstructorAdvisorConfiguration> constructorAdvisorConfigs, final Builder<?> builder, final ClassLoader classLoader) {
         Collection<AgentTransformationPoint<? extends ConstructorInterceptor>> constructorAdviceComposePoints = description.getDeclaredMethods().stream()
                 .filter(MethodDescription::isConstructor)
-                .map(each -> getMatchedTransformationPoint(constructorAdvisors, each, classLoader))
+                .map(each -> getMatchedTransformationPoint(constructorAdvisorConfigs, each, classLoader))
                 .filter(Objects::nonNull)
                 .collect(Collectors.toList());
         Builder<?> result = builder;
@@ -105,29 +105,29 @@ public final class AgentTransformer implements Transformer {
         return result;
     }
     
-    private AgentTransformationPoint<? extends ConstructorInterceptor> getMatchedTransformationPoint(final Collection<ConstructorAdvisor> constructorAdvisors,
+    private AgentTransformationPoint<? extends ConstructorInterceptor> getMatchedTransformationPoint(final Collection<ConstructorAdvisorConfiguration> constructorAdvisorConfigs,
                                                                                                      final InDefinedShape methodDescription, final ClassLoader classLoader) {
-        List<ConstructorAdvisor> matchedConstructorAdvisors = constructorAdvisors
+        List<ConstructorAdvisorConfiguration> matchedConstructorAdvisorConfigs = constructorAdvisorConfigs
                 .stream().filter(each -> each.getPointcut().matches(methodDescription)).collect(Collectors.toList());
-        if (matchedConstructorAdvisors.isEmpty()) {
+        if (matchedConstructorAdvisorConfigs.isEmpty()) {
             return null;
         }
-        if (1 == matchedConstructorAdvisors.size()) {
+        if (1 == matchedConstructorAdvisorConfigs.size()) {
             return new AgentTransformationPoint<>(
-                    methodDescription, new ConstructorInterceptor(agentAdvisors.getOrCreateInstance(matchedConstructorAdvisors.get(0).getAdviceClassName(), classLoader)));
+                    methodDescription, new ConstructorInterceptor(agentAdvisors.getOrCreateInstance(matchedConstructorAdvisorConfigs.get(0).getAdviceClassName(), classLoader)));
         }
-        Collection<ConstructorAdvice> constructorAdvices = matchedConstructorAdvisors.stream()
-                .map(ConstructorAdvisor::getAdviceClassName)
+        Collection<ConstructorAdvice> constructorAdvices = matchedConstructorAdvisorConfigs.stream()
+                .map(ConstructorAdvisorConfiguration::getAdviceClassName)
                 .map(each -> (ConstructorAdvice) agentAdvisors.getOrCreateInstance(each, classLoader))
                 .collect(Collectors.toList());
         return new AgentTransformationPoint<>(methodDescription, new ComposedConstructorInterceptor(constructorAdvices));
     }
     
-    private Builder<?> interceptStaticMethod(final TypeDescription description, final Collection<StaticMethodAdvisor> staticMethodAdvisors,
+    private Builder<?> interceptStaticMethod(final TypeDescription description, final Collection<StaticMethodAdvisorConfiguration> staticMethodAdvisorConfigs,
                                              final Builder<?> builder, final ClassLoader classLoader) {
         Collection<AgentTransformationPoint<?>> staticMethodAdvicePoints = description.getDeclaredMethods().stream()
                 .filter(each -> each.isStatic() && !(each.isAbstract() || each.isSynthetic()))
-                .map(each -> getMatchedStaticMethodPoint(staticMethodAdvisors, each, classLoader))
+                .map(each -> getMatchedStaticMethodPoint(staticMethodAdvisorConfigs, each, classLoader))
                 .filter(Objects::nonNull)
                 .collect(Collectors.toList());
         Builder<?> result = builder;
@@ -148,9 +148,9 @@ public final class AgentTransformer implements Transformer {
         return result;
     }
     
-    private AgentTransformationPoint<?> getMatchedStaticMethodPoint(final Collection<StaticMethodAdvisor> staticMethodAdvisors,
+    private AgentTransformationPoint<?> getMatchedStaticMethodPoint(final Collection<StaticMethodAdvisorConfiguration> staticMethodAdvisorConfigs,
                                                                     final InDefinedShape methodDescription, final ClassLoader classLoader) {
-        List<StaticMethodAdvisor> matchedAdvisors = staticMethodAdvisors.stream().filter(each -> each.getPointcut().matches(methodDescription)).collect(Collectors.toList());
+        List<StaticMethodAdvisorConfiguration> matchedAdvisors = staticMethodAdvisorConfigs.stream().filter(each -> each.getPointcut().matches(methodDescription)).collect(Collectors.toList());
         if (matchedAdvisors.isEmpty()) {
             return null;
         }
@@ -161,18 +161,18 @@ public final class AgentTransformer implements Transformer {
     }
     
     private AgentTransformationPoint<?> getSingleStaticMethodPoint(final InDefinedShape methodDescription,
-                                                                   final StaticMethodAdvisor staticMethodAdvisor, final ClassLoader classLoader) {
-        StaticMethodAroundAdvice staticMethodAroundAdvice = agentAdvisors.getOrCreateInstance(staticMethodAdvisor.getAdviceClassName(), classLoader);
-        return staticMethodAdvisor.isOverrideArgs()
+                                                                   final StaticMethodAdvisorConfiguration staticMethodAdvisorConfig, final ClassLoader classLoader) {
+        StaticMethodAroundAdvice staticMethodAroundAdvice = agentAdvisors.getOrCreateInstance(staticMethodAdvisorConfig.getAdviceClassName(), classLoader);
+        return staticMethodAdvisorConfig.isOverrideArgs()
                 ? new AgentTransformationPoint<>(methodDescription, new StaticMethodInterceptorArgsOverride(staticMethodAroundAdvice))
                 : new AgentTransformationPoint<>(methodDescription, new StaticMethodAroundInterceptor(staticMethodAroundAdvice));
     }
     
     private AgentTransformationPoint<?> getComposedStaticMethodPoint(final InDefinedShape methodDescription,
-                                                                     final Collection<StaticMethodAdvisor> staticMethodAdvisors, final ClassLoader classLoader) {
+                                                                     final Collection<StaticMethodAdvisorConfiguration> staticMethodAdvisorConfigs, final ClassLoader classLoader) {
         Collection<StaticMethodAroundAdvice> staticMethodAroundAdvices = new LinkedList<>();
         boolean isArgsOverride = false;
-        for (StaticMethodAdvisor each : staticMethodAdvisors) {
+        for (StaticMethodAdvisorConfiguration each : staticMethodAdvisorConfigs) {
             if (each.isOverrideArgs()) {
                 isArgsOverride = true;
             }
@@ -184,11 +184,11 @@ public final class AgentTransformer implements Transformer {
                 : new AgentTransformationPoint<>(methodDescription, new ComposedStaticMethodAroundInterceptor(staticMethodAroundAdvices));
     }
     
-    private Builder<?> interceptInstanceMethod(final TypeDescription description, final Collection<InstanceMethodAdvisor> instanceMethodAdvisors,
-                                               final Builder<?> builder, final ClassLoader classLoader) {
+    private Builder<?> interceptInstanceMethod(final TypeDescription description,
+                                               final Collection<InstanceMethodAdvisorConfiguration> instanceMethodAdvisorConfigs, final Builder<?> builder, final ClassLoader classLoader) {
         Collection<AgentTransformationPoint<?>> instanceMethodAdviceComposePoints = description.getDeclaredMethods().stream()
                 .filter(each -> !(each.isAbstract() || each.isSynthetic()))
-                .map(each -> getMatchedInstanceMethodPoint(instanceMethodAdvisors, each, classLoader))
+                .map(each -> getMatchedInstanceMethodPoint(instanceMethodAdvisorConfigs, each, classLoader))
                 .filter(Objects::nonNull)
                 .collect(Collectors.toList());
         Builder<?> result = builder;
@@ -209,32 +209,32 @@ public final class AgentTransformer implements Transformer {
         return result;
     }
     
-    private AgentTransformationPoint<?> getMatchedInstanceMethodPoint(final Collection<InstanceMethodAdvisor> instanceMethodAroundPoints,
+    private AgentTransformationPoint<?> getMatchedInstanceMethodPoint(final Collection<InstanceMethodAdvisorConfiguration> instanceMethodAroundPoints,
                                                                       final InDefinedShape methodDescription, final ClassLoader classLoader) {
-        List<InstanceMethodAdvisor> instanceMethodAdvisors = instanceMethodAroundPoints
+        List<InstanceMethodAdvisorConfiguration> instanceMethodAdvisorConfigs = instanceMethodAroundPoints
                 .stream().filter(each -> each.getPointcut().matches(methodDescription)).collect(Collectors.toList());
-        if (instanceMethodAdvisors.isEmpty()) {
+        if (instanceMethodAdvisorConfigs.isEmpty()) {
             return null;
         }
-        if (1 == instanceMethodAdvisors.size()) {
-            return getSingleInstanceMethodPoint(methodDescription, instanceMethodAdvisors.get(0), classLoader);
+        if (1 == instanceMethodAdvisorConfigs.size()) {
+            return getSingleInstanceMethodPoint(methodDescription, instanceMethodAdvisorConfigs.get(0), classLoader);
         }
-        return getComposeInstanceMethodPoint(methodDescription, instanceMethodAdvisors, classLoader);
+        return getComposeInstanceMethodPoint(methodDescription, instanceMethodAdvisorConfigs, classLoader);
     }
     
     private AgentTransformationPoint<?> getSingleInstanceMethodPoint(final InDefinedShape methodDescription,
-                                                                     final InstanceMethodAdvisor instanceMethodAdvisor, final ClassLoader classLoader) {
-        InstanceMethodAroundAdvice instanceMethodAroundAdvice = agentAdvisors.getOrCreateInstance(instanceMethodAdvisor.getAdviceClassName(), classLoader);
-        return instanceMethodAdvisor.isOverrideArgs()
+                                                                     final InstanceMethodAdvisorConfiguration instanceMethodAdvisorConfig, final ClassLoader classLoader) {
+        InstanceMethodAroundAdvice instanceMethodAroundAdvice = agentAdvisors.getOrCreateInstance(instanceMethodAdvisorConfig.getAdviceClassName(), classLoader);
+        return instanceMethodAdvisorConfig.isOverrideArgs()
                 ? new AgentTransformationPoint<>(methodDescription, new InstanceMethodInterceptorArgsOverride(instanceMethodAroundAdvice))
                 : new AgentTransformationPoint<>(methodDescription, new InstanceMethodAroundInterceptor(instanceMethodAroundAdvice));
     }
     
     private AgentTransformationPoint<?> getComposeInstanceMethodPoint(final InDefinedShape methodDescription,
-                                                                      final Collection<InstanceMethodAdvisor> instanceMethodAdvisors, final ClassLoader classLoader) {
+                                                                      final Collection<InstanceMethodAdvisorConfiguration> instanceMethodAdvisorConfigs, final ClassLoader classLoader) {
         Collection<InstanceMethodAroundAdvice> instanceMethodAroundAdvices = new LinkedList<>();
         boolean isArgsOverride = false;
-        for (InstanceMethodAdvisor each : instanceMethodAdvisors) {
+        for (InstanceMethodAdvisorConfiguration each : instanceMethodAdvisorConfigs) {
             if (each.isOverrideArgs()) {
                 isArgsOverride = true;
             }
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/validator/PluginConfigurationValidatorTest.java b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/validator/PluginConfigurationValidatorTest.java
index e2adf1c8bde..3ddf5ae05f8 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/validator/PluginConfigurationValidatorTest.java
+++ b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/validator/PluginConfigurationValidatorTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.agent.core.config.validator;
 
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.junit.Test;
 
 import static org.junit.Assert.assertThrows;
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/AgentAdvisorsTest.java b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/AgentAdvisorsTest.java
index c25ff7a370e..57eec1add30 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/AgentAdvisorsTest.java
+++ b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/AgentAdvisorsTest.java
@@ -20,10 +20,10 @@ package org.apache.shardingsphere.agent.core.plugin.advisor;
 import net.bytebuddy.description.type.TypeDescription;
 import net.bytebuddy.matcher.ElementMatchers;
 import net.bytebuddy.pool.TypePool;
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
-import org.apache.shardingsphere.agent.advisor.ConstructorAdvisor;
-import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
-import org.apache.shardingsphere.agent.advisor.StaticMethodAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.ConstructorAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.InstanceMethodAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.StaticMethodAdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.mock.advice.MockConstructorAdvice;
 import org.apache.shardingsphere.agent.core.mock.advice.MockInstanceMethodAroundAdvice;
 import org.apache.shardingsphere.agent.core.mock.advice.MockStaticMethodAroundAdvice;
@@ -59,12 +59,12 @@ public final class AgentAdvisorsTest {
         objectPool.put(MockConstructorAdvice.class.getTypeName(), new MockConstructorAdvice());
         objectPool.put(MockInstanceMethodAroundAdvice.class.getTypeName(), new MockInstanceMethodAroundAdvice());
         objectPool.put(MockStaticMethodAroundAdvice.class.getTypeName(), new MockStaticMethodAroundAdvice());
-        ClassAdvisor classAdvisor = new ClassAdvisor("org.apache.shardingsphere.agent.core.mock.material.Material");
-        classAdvisor.getConstructorAdvisors().add(new ConstructorAdvisor(ElementMatchers.takesArguments(1), MockConstructorAdvice.class.getTypeName()));
-        classAdvisor.getInstanceMethodAdvisors().add(new InstanceMethodAdvisor(ElementMatchers.named("mock"), MockInstanceMethodAroundAdvice.class.getTypeName()));
-        classAdvisor.getStaticMethodAdvisors().add(new StaticMethodAdvisor(ElementMatchers.named("staticMock"), MockStaticMethodAroundAdvice.class.getTypeName()));
+        ClassAdvisorConfiguration classAdvisorConfig = new ClassAdvisorConfiguration("org.apache.shardingsphere.agent.core.mock.material.Material");
+        classAdvisorConfig.getConstructorAdvisors().add(new ConstructorAdvisorConfiguration(ElementMatchers.takesArguments(1), MockConstructorAdvice.class.getTypeName()));
+        classAdvisorConfig.getInstanceMethodAdvisors().add(new InstanceMethodAdvisorConfiguration(ElementMatchers.named("mock"), MockInstanceMethodAroundAdvice.class.getTypeName()));
+        classAdvisorConfig.getStaticMethodAdvisors().add(new StaticMethodAdvisorConfiguration(ElementMatchers.named("staticMock"), MockStaticMethodAroundAdvice.class.getTypeName()));
         MemberAccessor accessor = Plugins.getMemberAccessor();
-        accessor.set(AGENT_ADVISORS.getClass().getDeclaredField("advisors"), AGENT_ADVISORS, Collections.singletonMap(classAdvisor.getTargetClassName(), classAdvisor));
+        accessor.set(AGENT_ADVISORS.getClass().getDeclaredField("advisorConfigs"), AGENT_ADVISORS, Collections.singletonMap(classAdvisorConfig.getTargetClassName(), classAdvisorConfig));
     }
     
     @Test
@@ -81,6 +81,6 @@ public final class AgentAdvisorsTest {
     
     @Test
     public void assertGetPluginAdvisor() {
-        assertNotNull(AGENT_ADVISORS.getPluginAdvisor(MATERIAL));
+        assertNotNull(AGENT_ADVISORS.getClassAdvisorConfiguration(MATERIAL));
     }
 }
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorRegistryFactoryTest.java b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorConfigurationRegistryFactoryTest.java
similarity index 90%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorRegistryFactoryTest.java
rename to agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorConfigurationRegistryFactoryTest.java
index ab525caf544..ed2509cab11 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorRegistryFactoryTest.java
+++ b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorConfigurationRegistryFactoryTest.java
@@ -22,10 +22,10 @@ import org.junit.Test;
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-public final class ClassAdvisorRegistryFactoryTest {
+public final class ClassAdvisorConfigurationRegistryFactoryTest {
     
     @Test
     public void assertGetRegistryWithType() {
-        assertThat(ClassAdvisorRegistryFactory.getRegistry("test"), instanceOf(ClassAdvisorRegistry.class));
+        assertThat(ClassAdvisorRegistryFactory.getRegistry("test"), instanceOf(ClassAdvisorConfigurationRegistry.class));
     }
 }
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorRegistryTest.java b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorConfigurationRegistryTest.java
similarity index 75%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorRegistryTest.java
rename to agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorConfigurationRegistryTest.java
index cdabe5f1b7c..f5d69d86310 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorRegistryTest.java
+++ b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/ClassAdvisorConfigurationRegistryTest.java
@@ -17,16 +17,16 @@
 
 package org.apache.shardingsphere.agent.core.plugin.advisor;
 
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-public final class ClassAdvisorRegistryTest {
+public final class ClassAdvisorConfigurationRegistryTest {
     
     @Test
-    public void assertGetAdvisor() {
-        assertThat(new ClassAdvisorRegistry().getAdvisor("test"), instanceOf(ClassAdvisor.class));
+    public void assertGetAdvisorConfiguration() {
+        assertThat(new ClassAdvisorConfigurationRegistry().getAdvisorConfiguration("test"), instanceOf(ClassAdvisorConfiguration.class));
     }
 }
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformerTest.java b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformerTest.java
index 7c364228263..9ddeb5892b3 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformerTest.java
+++ b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformerTest.java
@@ -23,10 +23,10 @@ import net.bytebuddy.agent.builder.AgentBuilder;
 import net.bytebuddy.agent.builder.ResettableClassFileTransformer;
 import net.bytebuddy.dynamic.scaffold.TypeValidation;
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
-import org.apache.shardingsphere.agent.advisor.ConstructorAdvisor;
-import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
-import org.apache.shardingsphere.agent.advisor.StaticMethodAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.ConstructorAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.InstanceMethodAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.StaticMethodAdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.classloader.AgentClassLoader;
 import org.apache.shardingsphere.agent.core.logging.LoggingListener;
 import org.apache.shardingsphere.agent.core.mock.advice.MockConstructorAdvice;
@@ -73,13 +73,13 @@ public final class AgentTransformerTest {
         objectPool.put(MockConstructorAdvice.class.getTypeName(), new MockConstructorAdvice());
         objectPool.put(MockInstanceMethodAroundAdvice.class.getTypeName(), new MockInstanceMethodAroundAdvice());
         objectPool.put(MockStaticMethodAroundAdvice.class.getTypeName(), new MockStaticMethodAroundAdvice());
-        Map<String, ClassAdvisor> classAdvisors = new HashMap<>(2, 1);
-        ClassAdvisor classAdvisor = createClassAdvisor();
-        classAdvisors.put(classAdvisor.getTargetClassName(), classAdvisor);
-        ClassAdvisor classAdvisorInTwice = createClassAdvisorsInTwice();
-        classAdvisors.put(classAdvisorInTwice.getTargetClassName(), classAdvisorInTwice);
+        Map<String, ClassAdvisorConfiguration> classAdvisorConfigs = new HashMap<>(2, 1);
+        ClassAdvisorConfiguration classAdvisorConfig = createClassAdvisorConfiguration();
+        classAdvisorConfigs.put(classAdvisorConfig.getTargetClassName(), classAdvisorConfig);
+        ClassAdvisorConfiguration classAdvisorConfigInTwice = createClassAdvisorConfigurationInTwice();
+        classAdvisorConfigs.put(classAdvisorConfigInTwice.getTargetClassName(), classAdvisorConfigInTwice);
         MemberAccessor accessor = Plugins.getMemberAccessor();
-        accessor.set(AGENT_ADVISORS.getClass().getDeclaredField("advisors"), AGENT_ADVISORS, classAdvisors);
+        accessor.set(AGENT_ADVISORS.getClass().getDeclaredField("advisorConfigs"), AGENT_ADVISORS, classAdvisorConfigs);
         byteBuddyAgent = new AgentBuilder.Default().with(new ByteBuddy().with(TypeValidation.ENABLED))
                 .ignore(ElementMatchers.isSynthetic()).or(ElementMatchers.nameStartsWith("org.apache.shardingsphere.agent.")
                         .and(ElementMatchers.not(ElementMatchers.nameStartsWith("org.apache.shardingsphere.agent.core.mock"))))
@@ -91,18 +91,18 @@ public final class AgentTransformerTest {
                 .installOnByteBuddyAgent();
     }
     
-    private static ClassAdvisor createClassAdvisor() {
-        ClassAdvisor result = new ClassAdvisor("org.apache.shardingsphere.agent.core.mock.material.Material");
-        result.getConstructorAdvisors().add(new ConstructorAdvisor(ElementMatchers.takesArguments(1), MockConstructorAdvice.class.getTypeName()));
-        result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisor(ElementMatchers.named("mock"), MockInstanceMethodAroundAdvice.class.getTypeName()));
-        result.getStaticMethodAdvisors().add(new StaticMethodAdvisor(ElementMatchers.named("staticMock"), MockStaticMethodAroundAdvice.class.getTypeName()));
+    private static ClassAdvisorConfiguration createClassAdvisorConfiguration() {
+        ClassAdvisorConfiguration result = new ClassAdvisorConfiguration("org.apache.shardingsphere.agent.core.mock.material.Material");
+        result.getConstructorAdvisors().add(new ConstructorAdvisorConfiguration(ElementMatchers.takesArguments(1), MockConstructorAdvice.class.getTypeName()));
+        result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisorConfiguration(ElementMatchers.named("mock"), MockInstanceMethodAroundAdvice.class.getTypeName()));
+        result.getStaticMethodAdvisors().add(new StaticMethodAdvisorConfiguration(ElementMatchers.named("staticMock"), MockStaticMethodAroundAdvice.class.getTypeName()));
         return result;
     }
     
-    private static ClassAdvisor createClassAdvisorsInTwice() {
-        ClassAdvisor result = new ClassAdvisor("org.apache.shardingsphere.agent.core.mock.material.RepeatedAdviceMaterial");
-        result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisor(ElementMatchers.named("mock"), MockInstanceMethodAroundAdvice.class.getTypeName()));
-        result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisor(ElementMatchers.named("mock"), MockInstanceMethodAroundRepeatedAdvice.class.getTypeName()));
+    private static ClassAdvisorConfiguration createClassAdvisorConfigurationInTwice() {
+        ClassAdvisorConfiguration result = new ClassAdvisorConfiguration("org.apache.shardingsphere.agent.core.mock.material.RepeatedAdviceMaterial");
+        result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisorConfiguration(ElementMatchers.named("mock"), MockInstanceMethodAroundAdvice.class.getTypeName()));
+        result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisorConfiguration(ElementMatchers.named("mock"), MockInstanceMethodAroundRepeatedAdvice.class.getTypeName()));
         return result;
     }
     
diff --git a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingAdvisorDefinitionService.java b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingAdvisorDefinitionService.java
index 798b687c3bf..23fe4b62d7d 100644
--- a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingAdvisorDefinitionService.java
+++ b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingAdvisorDefinitionService.java
@@ -18,8 +18,8 @@
 package org.apache.shardingsphere.agent.plugin.logging.base.definition;
 
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
-import org.apache.shardingsphere.agent.advisor.StaticMethodAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.StaticMethodAdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.plugin.advisor.ClassAdvisorRegistryFactory;
 import org.apache.shardingsphere.agent.plugin.logging.base.advice.MetaDataContextsFactoryAdvice;
 import org.apache.shardingsphere.agent.spi.AdvisorDefinitionService;
@@ -39,21 +39,21 @@ public final class BaseLoggingAdvisorDefinitionService implements AdvisorDefinit
     private static final String SCHEMA_METADATA_LOADER_ADVICE_CLASS = MetaDataContextsFactoryAdvice.class.getName();
     
     @Override
-    public Collection<ClassAdvisor> getProxyAdvisors() {
-        return getAdvisors();
+    public Collection<ClassAdvisorConfiguration> getProxyAdvisorConfigurations() {
+        return getAdvisorConfigurations();
     }
     
     @Override
-    public Collection<ClassAdvisor> getJDBCAdvisors() {
-        return getAdvisors();
+    public Collection<ClassAdvisorConfiguration> getJDBCAdvisorConfigurations() {
+        return getAdvisorConfigurations();
     }
     
-    private Collection<ClassAdvisor> getAdvisors() {
-        Collection<ClassAdvisor> result = new LinkedList<>();
-        ClassAdvisor classAdvisor = ClassAdvisorRegistryFactory.getRegistry(getType()).getAdvisor(SCHEMA_METADATA_LOADER_CLASS);
-        classAdvisor.getStaticMethodAdvisors().add(
-                new StaticMethodAdvisor(ElementMatchers.named(SCHEMA_METADATA_LOADER_METHOD_NAME).and(ElementMatchers.takesArguments(4)), SCHEMA_METADATA_LOADER_ADVICE_CLASS));
-        result.add(classAdvisor);
+    private Collection<ClassAdvisorConfiguration> getAdvisorConfigurations() {
+        Collection<ClassAdvisorConfiguration> result = new LinkedList<>();
+        ClassAdvisorConfiguration classAdvisorConfig = ClassAdvisorRegistryFactory.getRegistry(getType()).getAdvisorConfiguration(SCHEMA_METADATA_LOADER_CLASS);
+        classAdvisorConfig.getStaticMethodAdvisors().add(
+                new StaticMethodAdvisorConfiguration(ElementMatchers.named(SCHEMA_METADATA_LOADER_METHOD_NAME).and(ElementMatchers.takesArguments(4)), SCHEMA_METADATA_LOADER_ADVICE_CLASS));
+        result.add(classAdvisorConfig);
         return result;
     }
     
diff --git a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/service/BaseLoggingPluginBootService.java b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/service/BaseLoggingPluginBootService.java
index ae95b359cc0..9cdc1d85f95 100644
--- a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/service/BaseLoggingPluginBootService.java
+++ b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/service/BaseLoggingPluginBootService.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.agent.plugin.logging.base.service;
 
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.apache.shardingsphere.agent.spi.PluginBootService;
 
 /**
diff --git a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionService.java b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionService.java
index 1ba94da7f56..293ffb49e91 100644
--- a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionService.java
+++ b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionService.java
@@ -18,10 +18,10 @@
 package org.apache.shardingsphere.agent.metrics.prometheus.definition;
 
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
-import org.apache.shardingsphere.agent.advisor.ConstructorAdvisor;
-import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
-import org.apache.shardingsphere.agent.advisor.StaticMethodAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.ConstructorAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.InstanceMethodAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.StaticMethodAdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.plugin.advisor.ClassAdvisorRegistryFactory;
 import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlAdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlPointcutConfiguration;
@@ -38,34 +38,34 @@ import java.util.LinkedList;
 public final class PrometheusAdvisorDefinitionService implements AdvisorDefinitionService {
     
     @Override
-    public Collection<ClassAdvisor> getProxyAdvisors() {
-        Collection<ClassAdvisor> result = new LinkedList<>();
+    public Collection<ClassAdvisorConfiguration> getProxyAdvisorConfigurations() {
+        Collection<ClassAdvisorConfiguration> result = new LinkedList<>();
         for (YamlAdvisorConfiguration each : new YamlAdvisorsConfigurationSwapper().unmarshal(getClass().getResourceAsStream("/prometheus/advisors.yaml")).getAdvisors()) {
             if (null != each.getTarget()) {
-                result.add(createClassAdvisor(each));
+                result.add(createClassAdvisorConfiguration(each));
             }
         }
         return result;
     }
     
-    private ClassAdvisor createClassAdvisor(final YamlAdvisorConfiguration yamlAdvisorConfiguration) {
-        ClassAdvisor result = ClassAdvisorRegistryFactory.getRegistry(getType()).getAdvisor(yamlAdvisorConfiguration.getTarget());
-        if (null != yamlAdvisorConfiguration.getConstructAdvice() && !("".equals(yamlAdvisorConfiguration.getConstructAdvice()))) {
-            result.getConstructorAdvisors().add(new ConstructorAdvisor(ElementMatchers.isConstructor(), yamlAdvisorConfiguration.getConstructAdvice()));
+    private ClassAdvisorConfiguration createClassAdvisorConfiguration(final YamlAdvisorConfiguration yamlAdvisorConfig) {
+        ClassAdvisorConfiguration result = ClassAdvisorRegistryFactory.getRegistry(getType()).getAdvisorConfiguration(yamlAdvisorConfig.getTarget());
+        if (null != yamlAdvisorConfig.getConstructAdvice() && !("".equals(yamlAdvisorConfig.getConstructAdvice()))) {
+            result.getConstructorAdvisors().add(new ConstructorAdvisorConfiguration(ElementMatchers.isConstructor(), yamlAdvisorConfig.getConstructAdvice()));
         }
-        String[] instancePointcuts = yamlAdvisorConfiguration.getPointcuts().stream().filter(i -> "instance".equals(i.getType())).map(YamlPointcutConfiguration::getName).toArray(String[]::new);
+        String[] instancePointcuts = yamlAdvisorConfig.getPointcuts().stream().filter(i -> "instance".equals(i.getType())).map(YamlPointcutConfiguration::getName).toArray(String[]::new);
         if (instancePointcuts.length > 0) {
-            result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisor(ElementMatchers.namedOneOf(instancePointcuts), yamlAdvisorConfiguration.getInstanceAdvice()));
+            result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisorConfiguration(ElementMatchers.namedOneOf(instancePointcuts), yamlAdvisorConfig.getInstanceAdvice()));
         }
-        String[] staticPointcuts = yamlAdvisorConfiguration.getPointcuts().stream().filter(i -> "static".equals(i.getType())).map(YamlPointcutConfiguration::getName).toArray(String[]::new);
+        String[] staticPointcuts = yamlAdvisorConfig.getPointcuts().stream().filter(i -> "static".equals(i.getType())).map(YamlPointcutConfiguration::getName).toArray(String[]::new);
         if (staticPointcuts.length > 0) {
-            result.getStaticMethodAdvisors().add(new StaticMethodAdvisor(ElementMatchers.namedOneOf(staticPointcuts), yamlAdvisorConfiguration.getStaticAdvice()));
+            result.getStaticMethodAdvisors().add(new StaticMethodAdvisorConfiguration(ElementMatchers.namedOneOf(staticPointcuts), yamlAdvisorConfig.getStaticAdvice()));
         }
         return result;
     }
     
     @Override
-    public Collection<ClassAdvisor> getJDBCAdvisors() {
+    public Collection<ClassAdvisorConfiguration> getJDBCAdvisorConfigurations() {
         // TODO add JDBC related interceptors
         return Collections.emptyList();
     }
diff --git a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootService.java b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootService.java
index 8925bf39049..c076bb01c94 100644
--- a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootService.java
+++ b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootService.java
@@ -22,7 +22,7 @@ import io.prometheus.client.CollectorRegistry;
 import io.prometheus.client.exporter.HTTPServer;
 import io.prometheus.client.hotspot.DefaultExports;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.apache.shardingsphere.agent.metrics.api.MetricsPool;
 import org.apache.shardingsphere.agent.metrics.prometheus.collector.BuildInfoCollector;
 import org.apache.shardingsphere.agent.metrics.prometheus.collector.MetaDataInfoCollector;
diff --git a/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionServiceTest.java b/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionServiceTest.java
index 3d489441b85..4bb70b7669d 100644
--- a/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionServiceTest.java
+++ b/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionServiceTest.java
@@ -26,6 +26,6 @@ public final class PrometheusAdvisorDefinitionServiceTest {
     
     @Test
     public void assertGetProxyAdvisors() {
-        assertThat(new PrometheusAdvisorDefinitionService().getProxyAdvisors().size(), is(5));
+        assertThat(new PrometheusAdvisorDefinitionService().getProxyAdvisorConfigurations().size(), is(5));
     }
 }
diff --git a/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootServiceTest.java b/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootServiceTest.java
index 6f44055c8c9..136c07e6791 100644
--- a/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootServiceTest.java
+++ b/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootServiceTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.agent.metrics.prometheus.service;
 
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.apache.shardingsphere.agent.metrics.prometheus.ProxyContextRestorer;
 import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
 import org.apache.shardingsphere.infra.instance.ComputeNodeInstance;
diff --git a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingAdviceEngine.java b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingAdviceEngine.java
index 74adf9e3502..a25ef989669 100644
--- a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingAdviceEngine.java
+++ b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingAdviceEngine.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.agent.plugin.tracing.core.advice;
 
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
 import org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl.CommandExecutorTaskAdviser;
 import org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl.JDBCExecutorCallbackAdviser;
@@ -37,30 +37,30 @@ public final class TracingAdviceEngine {
     private final String type;
     
     /**
-     * Get proxy tracing advisors.
+     * Get proxy tracing advisor configurations.
      * 
      * @param commandExecutorTaskAdvice command executor task advice
      * @param sqlParserEngineAdvice SQL parser engine advice
      * @param jdbcExecutorCallbackAdvice JDBC executor callback advice
-     * @return got advisors
+     * @return got configurations
      */
-    public Collection<ClassAdvisor> getProxyAdvisors(final Class<? extends InstanceMethodAroundAdvice> commandExecutorTaskAdvice,
-                                                     final Class<? extends InstanceMethodAroundAdvice> sqlParserEngineAdvice,
-                                                     final Class<? extends InstanceMethodAroundAdvice> jdbcExecutorCallbackAdvice) {
+    public Collection<ClassAdvisorConfiguration> getProxyAdvisorConfigurations(final Class<? extends InstanceMethodAroundAdvice> commandExecutorTaskAdvice,
+                                                                               final Class<? extends InstanceMethodAroundAdvice> sqlParserEngineAdvice,
+                                                                               final Class<? extends InstanceMethodAroundAdvice> jdbcExecutorCallbackAdvice) {
         // TODO load from YAML, please ref metrics
-        Collection<ClassAdvisor> result = new LinkedList<>();
-        result.add(new CommandExecutorTaskAdviser(type).getAdvisor(commandExecutorTaskAdvice));
-        result.add(new SQLParserEngineAdviser(type).getAdvisor(sqlParserEngineAdvice));
-        result.add(new JDBCExecutorCallbackAdviser(type).getAdvisor(jdbcExecutorCallbackAdvice));
+        Collection<ClassAdvisorConfiguration> result = new LinkedList<>();
+        result.add(new CommandExecutorTaskAdviser(type).getAdvisorConfiguration(commandExecutorTaskAdvice));
+        result.add(new SQLParserEngineAdviser(type).getAdvisorConfiguration(sqlParserEngineAdvice));
+        result.add(new JDBCExecutorCallbackAdviser(type).getAdvisorConfiguration(jdbcExecutorCallbackAdvice));
         return result;
     }
     
     /**
-     * Get JDBC tracing advisors.
+     * Get JDBC tracing advisor configurations.
      * 
-     * @return got advisors
+     * @return got configurations
      */
-    public Collection<ClassAdvisor> getJDBCAdvisors() {
+    public Collection<ClassAdvisorConfiguration> getJDBCAdvisorConfigurations() {
         // TODO
         return Collections.emptyList();
     }
diff --git a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
index 186fcb80cba..2d29ef2368d 100644
--- a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
+++ b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser;
 
 import org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
 
 /**
  * Tracing adviser.
@@ -26,10 +26,10 @@ import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
 public interface TracingAdviser {
     
     /**
-     * Get advisor.
+     * Get advisor configuration.
      * 
      * @param instanceMethodAroundAdvice instance method around advice
-     * @return advisor
+     * @return advisor configuration
      */
-    ClassAdvisor getAdvisor(Class<? extends InstanceMethodAroundAdvice> instanceMethodAroundAdvice);
+    ClassAdvisorConfiguration getAdvisorConfiguration(Class<? extends InstanceMethodAroundAdvice> instanceMethodAroundAdvice);
 }
diff --git a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/CommandExecutorTaskAdviser.java b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/CommandExecutorTaskAdviser.java
index 92fc6ff5f8b..8ddbc46105e 100644
--- a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/CommandExecutorTaskAdviser.java
+++ b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/CommandExecutorTaskAdviser.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl;
 
 import lombok.RequiredArgsConstructor;
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
-import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.InstanceMethodAdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.plugin.advisor.ClassAdvisorRegistryFactory;
 import org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
 import org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.TracingAdviser;
@@ -38,9 +38,9 @@ public final class CommandExecutorTaskAdviser implements TracingAdviser {
     private final String type;
     
     @Override
-    public ClassAdvisor getAdvisor(final Class<? extends InstanceMethodAroundAdvice> commandExecutorTaskAdvice) {
-        ClassAdvisor result = ClassAdvisorRegistryFactory.getRegistry(type).getAdvisor(TARGET_CLASS);
-        result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisor(ElementMatchers.named(TARGET_METHOD), commandExecutorTaskAdvice.getName()));
+    public ClassAdvisorConfiguration getAdvisorConfiguration(final Class<? extends InstanceMethodAroundAdvice> commandExecutorTaskAdvice) {
+        ClassAdvisorConfiguration result = ClassAdvisorRegistryFactory.getRegistry(type).getAdvisorConfiguration(TARGET_CLASS);
+        result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisorConfiguration(ElementMatchers.named(TARGET_METHOD), commandExecutorTaskAdvice.getName()));
         return result;
     }
 }
diff --git a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/JDBCExecutorCallbackAdviser.java b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/JDBCExecutorCallbackAdviser.java
index b4a78896097..c2a67b875d9 100644
--- a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/JDBCExecutorCallbackAdviser.java
+++ b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/JDBCExecutorCallbackAdviser.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl;
 
 import lombok.RequiredArgsConstructor;
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
-import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.InstanceMethodAdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.plugin.advisor.ClassAdvisorRegistryFactory;
 import org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
 import org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.TracingAdviser;
@@ -40,9 +40,9 @@ public final class JDBCExecutorCallbackAdviser implements TracingAdviser {
     private final String type;
     
     @Override
-    public ClassAdvisor getAdvisor(final Class<? extends InstanceMethodAroundAdvice> jdbcExecutorCallbackAdvice) {
-        ClassAdvisor result = ClassAdvisorRegistryFactory.getRegistry(type).getAdvisor(TARGET_CLASS);
-        result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisor(
+    public ClassAdvisorConfiguration getAdvisorConfiguration(final Class<? extends InstanceMethodAroundAdvice> jdbcExecutorCallbackAdvice) {
+        ClassAdvisorConfiguration result = ClassAdvisorRegistryFactory.getRegistry(type).getAdvisorConfiguration(TARGET_CLASS);
+        result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisorConfiguration(
                 ElementMatchers.named(TARGET_METHOD).and(ElementMatchers.takesArgument(0, ElementMatchers.named(TARGET_METHOD_FIRST_PARAM))), jdbcExecutorCallbackAdvice.getName()));
         return result;
     }
diff --git a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/SQLParserEngineAdviser.java b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/SQLParserEngineAdviser.java
index ffc311becd1..c23e6944029 100644
--- a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/SQLParserEngineAdviser.java
+++ b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/SQLParserEngineAdviser.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl;
 
 import lombok.RequiredArgsConstructor;
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
-import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.InstanceMethodAdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.plugin.advisor.ClassAdvisorRegistryFactory;
 import org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
 import org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.TracingAdviser;
@@ -38,9 +38,9 @@ public final class SQLParserEngineAdviser implements TracingAdviser {
     private final String type;
     
     @Override
-    public ClassAdvisor getAdvisor(final Class<? extends InstanceMethodAroundAdvice> sqlParserEngineAdvice) {
-        ClassAdvisor result = ClassAdvisorRegistryFactory.getRegistry(type).getAdvisor(TARGET_CLASS);
-        result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisor(ElementMatchers.named(TARGET_METHOD), sqlParserEngineAdvice.getName()));
+    public ClassAdvisorConfiguration getAdvisorConfiguration(final Class<? extends InstanceMethodAroundAdvice> sqlParserEngineAdvice) {
+        ClassAdvisorConfiguration result = ClassAdvisorRegistryFactory.getRegistry(type).getAdvisorConfiguration(TARGET_CLASS);
+        result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisorConfiguration(ElementMatchers.named(TARGET_METHOD), sqlParserEngineAdvice.getName()));
         return result;
     }
 }
diff --git a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionService.java b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionService.java
index 1c682a2b355..97793060a93 100644
--- a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionService.java
+++ b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionService.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition;
 
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
 import org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingAdviceEngine;
 import org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice.CommandExecutorTaskAdvice;
 import org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice.JDBCExecutorCallbackAdvice;
@@ -33,13 +33,13 @@ public final class JaegerAdvisorDefinitionService implements AdvisorDefinitionSe
     private final TracingAdviceEngine engine = new TracingAdviceEngine(getType());
     
     @Override
-    public Collection<ClassAdvisor> getProxyAdvisors() {
-        return engine.getProxyAdvisors(CommandExecutorTaskAdvice.class, CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+    public Collection<ClassAdvisorConfiguration> getProxyAdvisorConfigurations() {
+        return engine.getProxyAdvisorConfigurations(CommandExecutorTaskAdvice.class, CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
     }
     
     @Override
-    public Collection<ClassAdvisor> getJDBCAdvisors() {
-        return engine.getJDBCAdvisors();
+    public Collection<ClassAdvisorConfiguration> getJDBCAdvisorConfigurations() {
+        return engine.getJDBCAdvisorConfigurations();
     }
     
     @Override
diff --git a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java
index bf70f15d816..e6c419b479e 100644
--- a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java
+++ b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.agent.plugin.tracing.jaeger.service;
 
 import io.jaegertracing.Configuration;
 import io.opentracing.util.GlobalTracer;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.apache.shardingsphere.agent.core.config.validator.PluginConfigurationValidator;
 import org.apache.shardingsphere.agent.spi.PluginBootService;
 
diff --git a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionServiceTest.java b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionServiceTest.java
index c80214df12d..9db43c9e824 100644
--- a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionServiceTest.java
+++ b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionServiceTest.java
@@ -26,6 +26,6 @@ public final class JaegerAdvisorDefinitionServiceTest {
     
     @Test
     public void assertGetProxyAdvisors() {
-        assertThat(new JaegerAdvisorDefinitionService().getProxyAdvisors().size(), is(3));
+        assertThat(new JaegerAdvisorDefinitionService().getProxyAdvisorConfigurations().size(), is(3));
     }
 }
diff --git a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootServiceTest.java b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootServiceTest.java
index f8a5134cb76..3cc469fd1fe 100644
--- a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootServiceTest.java
+++ b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootServiceTest.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.agent.plugin.tracing.jaeger.service;
 
 import io.opentracing.noop.NoopTracerFactory;
 import io.opentracing.util.GlobalTracer;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.junit.After;
 import org.junit.Test;
 
diff --git a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionService.java b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionService.java
index 4c24f836128..8aa7fe1afe9 100644
--- a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionService.java
+++ b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionService.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition;
 
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
 import org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingAdviceEngine;
 import org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice.CommandExecutorTaskAdvice;
 import org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice.JDBCExecutorCallbackAdvice;
@@ -33,13 +33,13 @@ public final class OpenTelemetryTracingAdvisorDefinitionService implements Advis
     private final TracingAdviceEngine engine = new TracingAdviceEngine(getType());
     
     @Override
-    public Collection<ClassAdvisor> getProxyAdvisors() {
-        return engine.getProxyAdvisors(CommandExecutorTaskAdvice.class, CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+    public Collection<ClassAdvisorConfiguration> getProxyAdvisorConfigurations() {
+        return engine.getProxyAdvisorConfigurations(CommandExecutorTaskAdvice.class, CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
     }
     
     @Override
-    public Collection<ClassAdvisor> getJDBCAdvisors() {
-        return engine.getJDBCAdvisors();
+    public Collection<ClassAdvisorConfiguration> getJDBCAdvisorConfigurations() {
+        return engine.getJDBCAdvisorConfigurations();
     }
     
     @Override
diff --git a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootService.java b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootService.java
index 252cd02f2e0..37e2e358edb 100644
--- a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootService.java
+++ b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootService.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.service;
 
 import io.opentelemetry.sdk.OpenTelemetrySdk;
 import io.opentelemetry.sdk.autoconfigure.OpenTelemetrySdkAutoConfiguration;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.apache.shardingsphere.agent.spi.PluginBootService;
 
 public class OpenTelemetryTracingPluginBootService implements PluginBootService {
diff --git a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionServiceTest.java b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionServiceTest.java
index 7156757f6b7..3b28c24f978 100644
--- a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionServiceTest.java
+++ b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionServiceTest.java
@@ -26,6 +26,6 @@ public final class OpenTelemetryTracingAdvisorDefinitionServiceTest {
     
     @Test
     public void assertGetProxyAdvisors() {
-        assertThat(new OpenTelemetryTracingAdvisorDefinitionService().getProxyAdvisors().size(), is(3));
+        assertThat(new OpenTelemetryTracingAdvisorDefinitionService().getProxyAdvisorConfigurations().size(), is(3));
     }
 }
diff --git a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootServiceTest.java b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootServiceTest.java
index 04d68c08f5b..d5eccb696fd 100644
--- a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootServiceTest.java
+++ b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootServiceTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.service;
 
 import io.opentelemetry.api.GlobalOpenTelemetry;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.junit.After;
 import org.junit.Test;
 
diff --git a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionService.java b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionService.java
index bbf840d24ff..1e1d619b311 100644
--- a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionService.java
+++ b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionService.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition;
 
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
 import org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingAdviceEngine;
 import org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice.CommandExecutorTaskAdvice;
 import org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice.JDBCExecutorCallbackAdvice;
@@ -33,13 +33,13 @@ public final class OpenTracingAdvisorDefinitionService implements AdvisorDefinit
     private final TracingAdviceEngine engine = new TracingAdviceEngine(getType());
     
     @Override
-    public Collection<ClassAdvisor> getProxyAdvisors() {
-        return engine.getProxyAdvisors(CommandExecutorTaskAdvice.class, CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+    public Collection<ClassAdvisorConfiguration> getProxyAdvisorConfigurations() {
+        return engine.getProxyAdvisorConfigurations(CommandExecutorTaskAdvice.class, CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
     }
     
     @Override
-    public Collection<ClassAdvisor> getJDBCAdvisors() {
-        return engine.getJDBCAdvisors();
+    public Collection<ClassAdvisorConfiguration> getJDBCAdvisorConfigurations() {
+        return engine.getJDBCAdvisorConfigurations();
     }
     
     @Override
diff --git a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootService.java b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootService.java
index cbcfb655097..d0ac66adff4 100644
--- a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootService.java
+++ b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootService.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.agent.plugin.tracing.opentracing.service;
 import com.google.common.base.Preconditions;
 import io.opentracing.Tracer;
 import io.opentracing.util.GlobalTracer;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.apache.shardingsphere.agent.spi.PluginBootService;
 
 /**
diff --git a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionServiceTest.java b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionServiceTest.java
index 2ecc2478a49..dfeb426d5e1 100644
--- a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionServiceTest.java
+++ b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionServiceTest.java
@@ -26,6 +26,6 @@ public final class OpenTracingAdvisorDefinitionServiceTest {
     
     @Test
     public void assertGetProxyAdvisors() {
-        assertThat(new OpenTracingAdvisorDefinitionService().getProxyAdvisors().size(), is(3));
+        assertThat(new OpenTracingAdvisorDefinitionService().getProxyAdvisorConfigurations().size(), is(3));
     }
 }
diff --git a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootServiceTest.java b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootServiceTest.java
index ea4e890efc4..7b76fb93dcd 100644
--- a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootServiceTest.java
+++ b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootServiceTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.agent.plugin.tracing.opentracing.service;
 
 import io.opentracing.util.GlobalTracer;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.junit.After;
 import org.junit.Test;
 
diff --git a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionService.java b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionService.java
index d8d3bd692ff..bd99b1d4c6a 100644
--- a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionService.java
+++ b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionService.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition;
 
-import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.config.advisor.ClassAdvisorConfiguration;
 import org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingAdviceEngine;
 import org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.CommandExecutorTaskAdvice;
 import org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.JDBCExecutorCallbackAdvice;
@@ -33,13 +33,13 @@ public final class ZipkinAdvisorDefinitionService implements AdvisorDefinitionSe
     private final TracingAdviceEngine engine = new TracingAdviceEngine(getType());
     
     @Override
-    public Collection<ClassAdvisor> getProxyAdvisors() {
-        return engine.getProxyAdvisors(CommandExecutorTaskAdvice.class, CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+    public Collection<ClassAdvisorConfiguration> getProxyAdvisorConfigurations() {
+        return engine.getProxyAdvisorConfigurations(CommandExecutorTaskAdvice.class, CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
     }
     
     @Override
-    public Collection<ClassAdvisor> getJDBCAdvisors() {
-        return engine.getJDBCAdvisors();
+    public Collection<ClassAdvisorConfiguration> getJDBCAdvisorConfigurations() {
+        return engine.getJDBCAdvisorConfigurations();
     }
     
     @Override
diff --git a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
index 47869d92348..60b6ba72a2e 100644
--- a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
+++ b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
@@ -21,7 +21,7 @@ import brave.Tracing;
 import brave.sampler.BoundarySampler;
 import brave.sampler.RateLimitingSampler;
 import brave.sampler.Sampler;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.apache.shardingsphere.agent.core.config.validator.PluginConfigurationValidator;
 import org.apache.shardingsphere.agent.spi.PluginBootService;
 import zipkin2.reporter.brave.AsyncZipkinSpanHandler;
diff --git a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionServiceTest.java b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionServiceTest.java
index 37fa15af994..7f4a642f161 100644
--- a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionServiceTest.java
+++ b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionServiceTest.java
@@ -26,6 +26,6 @@ public final class ZipkinAdvisorDefinitionServiceTest {
     
     @Test
     public void assertGetProxyAdvisors() {
-        assertThat(new ZipkinAdvisorDefinitionService().getProxyAdvisors().size(), is(3));
+        assertThat(new ZipkinAdvisorDefinitionService().getProxyAdvisorConfigurations().size(), is(3));
     }
 }
diff --git a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootServiceTest.java b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootServiceTest.java
index ada7b183dac..6b0bf7b0eb2 100644
--- a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootServiceTest.java
+++ b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootServiceTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.agent.plugin.tracing.zipkin.service;
 
 import brave.Tracing;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.junit.After;
 import org.junit.Test;