You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/12/26 10:34:29 UTC

[shardingsphere] branch master updated: Optimize agent module (#23101)

This is an automated email from the ASF dual-hosted git repository.

zhonghongsheng 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 c4cd5c63933 Optimize agent module (#23101)
c4cd5c63933 is described below

commit c4cd5c63933c99f0412bf2f35f780dc56e332d5d
Author: jiangML <10...@qq.com>
AuthorDate: Mon Dec 26 18:34:17 2022 +0800

    Optimize agent module (#23101)
    
    * Merged agent-core and agent-bootstrap
    
    * add shardingsphere-agent-plugin-core module
    
    * add shardingsphere-agent-plugin-core module
    
    * add dependency shade
    
    * fix test error
    
    * add license header
---
 agent/bootstrap/pom.xml                            | 24 +++++++++++++++++++++-
 .../agent/bootstrap/ShardingSphereAgent.java       | 18 ++++++++--------
 .../bootstrap}/classloader/AgentClassLoader.java   |  6 +++---
 .../config/loader/PluginConfigurationLoader.java   |  8 ++++----
 .../entity/YamlPluginCategoryConfiguration.java    |  2 +-
 .../yaml/entity/YamlPluginConfiguration.java       |  2 +-
 .../yaml/entity/YamlPluginsConfiguration.java      |  2 +-
 .../swapper/YamlPluginsConfigurationSwapper.java   |  8 ++++----
 .../agent/bootstrap}/logging/LoggerFactory.java    |  6 +++---
 .../agent/bootstrap}/logging/LoggingListener.java  |  4 ++--
 .../agent/bootstrap}/path/AgentPathBuilder.java    |  2 +-
 .../plugin/PluginBootServiceManager.java           |  8 ++++----
 .../agent/bootstrap}/plugin/PluginContext.java     |  2 +-
 .../agent/bootstrap}/plugin/PluginJar.java         |  2 +-
 .../advisor/AdvisorConfigurationRegistry.java      |  2 +-
 .../AdvisorConfigurationRegistryFactory.java       |  2 +-
 .../bootstrap}/plugin/executor/AdviceExecutor.java |  2 +-
 .../executor/type/ConstructorAdviceExecutor.java   | 10 ++++-----
 .../type/InstanceMethodAdviceExecutor.java         | 10 ++++-----
 .../executor/type/StaticMethodAdviceExecutor.java  | 10 ++++-----
 .../plugin/loader/AdvisorConfigurationLoader.java  | 12 +++++------
 .../plugin/loader/AgentPluginLoader.java           | 10 ++++-----
 .../yaml/entity/YamlAdvisorConfiguration.java      |  2 +-
 .../yaml/entity/YamlAdvisorsConfiguration.java     |  2 +-
 .../yaml/entity/YamlPointcutConfiguration.java     |  2 +-
 .../entity/YamlPointcutParameterConfiguration.java |  2 +-
 .../loader/YamlAdvisorsConfigurationLoader.java    |  4 ++--
 .../swapper/YamlAdvisorConfigurationSwapper.java   |  8 ++++----
 .../swapper/YamlAdvisorsConfigurationSwapper.java  |  6 +++---
 .../swapper/YamlPointcutConfigurationSwapper.java  |  6 +++---
 .../agent/bootstrap}/spi/AgentServiceLoader.java   |  2 +-
 .../bootstrap}/spi/PluginBootServiceRegistry.java  |  2 +-
 .../bootstrap}/transformer/AgentJunction.java      |  2 +-
 .../bootstrap}/transformer/AgentTransformer.java   |  8 ++++----
 .../bootstrap}/transformer/MethodAdvisor.java      |  4 ++--
 .../transformer/builder/MethodAdvisorBuilder.java  | 16 +++++++--------
 .../transformer/builder/advise/AdviceFactory.java  |  4 ++--
 .../builder/advise/JDBCAdviceFactory.java          |  8 ++++----
 .../builder/advise/ProxyAdviceFactory.java         |  4 ++--
 .../loader/PluginConfigurationLoaderTest.java      |  4 ++--
 .../AdvisorConfigurationRegistryFactoryTest.java   |  2 +-
 .../advisor/AdvisorConfigurationRegistryTest.java  |  2 +-
 .../plugin/yaml/fixture/YamlAdviceFixture.java     |  2 +-
 .../yaml/fixture/YamlTargetObjectFixture.java      |  2 +-
 .../YamlAdvisorsConfigurationLoaderTest.java       | 14 ++++++-------
 .../YamlAdvisorsConfigurationSwapperTest.java      |  8 ++++----
 .../transformer/AgentTransformerTest.java          | 16 +++++++--------
 .../transformer/fixture/advice/BarAdvice.java      |  2 +-
 .../transformer/fixture/advice/FooAdvice.java      |  2 +-
 .../fixture/targeted/TargetObjectFixture.java      |  2 +-
 .../src/test/resources/conf/advisors.yaml          |  4 ++--
 .../src/test/resources/conf/agent.yaml             |  0
 .../src/test/resources/conf/empty-advisors.yaml    |  0
 .../src/test/resources/logback-test.xml            |  0
 agent/{ => plugins}/core/pom.xml                   | 22 ++------------------
 .../validator/PluginConfigurationValidator.java}   |  4 ++--
 .../plugin}/core/util/AgentReflectionUtil.java     |  2 +-
 .../agent/plugin}/core/util/TimeRecorder.java      |  2 +-
 .../PluginConfigurationValidatorTest.java}         | 12 +++++------
 .../plugin}/core/util/AgentReflectionUtilTest.java |  4 ++--
 .../core/util/fixture/ReflectionFixture.java       |  2 +-
 .../base/advice/MetaDataContextsFactoryAdvice.java |  2 +-
 agent/plugins/logging/pom.xml                      |  9 +++++++-
 .../core/advice/CommandExecutorTaskAdvice.java     |  2 +-
 agent/plugins/metrics/pom.xml                      |  8 ++++++++
 .../prometheus/PrometheusPluginBootService.java    |  4 ++--
 agent/plugins/pom.xml                              |  3 ++-
 agent/plugins/tracing/pom.xml                      |  1 -
 .../jaeger/JaegerTracingPluginBootService.java     |  4 ++--
 .../jaeger/advice/CommandExecutorTaskAdvice.java   |  2 +-
 .../jaeger/advice/JDBCExecutorCallbackAdvice.java  |  2 +-
 .../advice/JDBCExecutorCallbackAdvice.java         |  2 +-
 agent/plugins/tracing/type/pom.xml                 |  6 ++++++
 .../zipkin/ZipkinTracingPluginBootService.java     |  4 ++--
 .../zipkin/advice/CommandExecutorTaskAdvice.java   |  2 +-
 .../zipkin/advice/JDBCExecutorCallbackAdvice.java  |  2 +-
 agent/pom.xml                                      |  1 -
 77 files changed, 210 insertions(+), 186 deletions(-)

diff --git a/agent/bootstrap/pom.xml b/agent/bootstrap/pom.xml
index af644ed335a..6ddc357baa3 100644
--- a/agent/bootstrap/pom.xml
+++ b/agent/bootstrap/pom.xml
@@ -34,7 +34,21 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-agent-core</artifactId>
+            <artifactId>shardingsphere-agent-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.yaml</groupId>
+            <artifactId>snakeyaml</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-agent-plugin-core</artifactId>
             <version>${project.version}</version>
         </dependency>
     </dependencies>
@@ -90,6 +104,14 @@
                                     <pattern>org.apache.commons</pattern>
                                     <shadedPattern>${shade.package}.org.apache.commons</shadedPattern>
                                 </relocation>
+                                <relocation>
+                                    <pattern>org.slf4j</pattern>
+                                    <shadedPattern>${shade.package}.org.slf4j</shadedPattern>
+                                </relocation>
+                                <relocation>
+                                    <pattern>ch.qos.logback</pattern>
+                                    <shadedPattern>${shade.package}.ch.qos.logback</shadedPattern>
+                                </relocation>
                             </relocations>
                             <filters>
                                 <filter>
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 1e5c57b58ad..b66c594c74e 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
@@ -25,15 +25,15 @@ import net.bytebuddy.dynamic.scaffold.TypeValidation;
 import net.bytebuddy.matcher.ElementMatchers;
 import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
 import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.classloader.AgentClassLoader;
-import org.apache.shardingsphere.agent.core.config.loader.PluginConfigurationLoader;
-import org.apache.shardingsphere.agent.core.logging.LoggingListener;
-import org.apache.shardingsphere.agent.core.plugin.PluginBootServiceManager;
-import org.apache.shardingsphere.agent.core.plugin.PluginJar;
-import org.apache.shardingsphere.agent.core.plugin.loader.AdvisorConfigurationLoader;
-import org.apache.shardingsphere.agent.core.plugin.loader.AgentPluginLoader;
-import org.apache.shardingsphere.agent.core.transformer.AgentJunction;
-import org.apache.shardingsphere.agent.core.transformer.AgentTransformer;
+import org.apache.shardingsphere.agent.bootstrap.classloader.AgentClassLoader;
+import org.apache.shardingsphere.agent.bootstrap.config.loader.PluginConfigurationLoader;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggingListener;
+import org.apache.shardingsphere.agent.bootstrap.plugin.PluginBootServiceManager;
+import org.apache.shardingsphere.agent.bootstrap.plugin.PluginJar;
+import org.apache.shardingsphere.agent.bootstrap.plugin.loader.AdvisorConfigurationLoader;
+import org.apache.shardingsphere.agent.bootstrap.plugin.loader.AgentPluginLoader;
+import org.apache.shardingsphere.agent.bootstrap.transformer.AgentJunction;
+import org.apache.shardingsphere.agent.bootstrap.transformer.AgentTransformer;
 
 import java.io.IOException;
 import java.lang.instrument.Instrumentation;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/classloader/AgentClassLoader.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/classloader/AgentClassLoader.java
similarity index 96%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/classloader/AgentClassLoader.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/classloader/AgentClassLoader.java
index a3a4dc2650a..dd53f19ec99 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/classloader/AgentClassLoader.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/classloader/AgentClassLoader.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.classloader;
+package org.apache.shardingsphere.agent.bootstrap.classloader;
 
 import com.google.common.io.ByteStreams;
 import lombok.Getter;
-import org.apache.shardingsphere.agent.core.plugin.loader.AgentPluginLoader;
-import org.apache.shardingsphere.agent.core.plugin.PluginJar;
+import org.apache.shardingsphere.agent.bootstrap.plugin.PluginJar;
+import org.apache.shardingsphere.agent.bootstrap.plugin.loader.AgentPluginLoader;
 
 import java.io.IOException;
 import java.net.MalformedURLException;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/loader/PluginConfigurationLoader.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/loader/PluginConfigurationLoader.java
similarity index 87%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/loader/PluginConfigurationLoader.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/loader/PluginConfigurationLoader.java
index 61fcd5c7d2c..afb8c21f0aa 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/loader/PluginConfigurationLoader.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/loader/PluginConfigurationLoader.java
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.config.loader;
+package org.apache.shardingsphere.agent.bootstrap.config.loader;
 
 import com.google.common.base.Preconditions;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.agent.bootstrap.config.yaml.entity.YamlPluginsConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.config.yaml.swapper.YamlPluginsConfigurationSwapper;
+import org.apache.shardingsphere.agent.bootstrap.path.AgentPathBuilder;
 import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.config.yaml.entity.YamlPluginsConfiguration;
-import org.apache.shardingsphere.agent.core.config.yaml.swapper.YamlPluginsConfigurationSwapper;
-import org.apache.shardingsphere.agent.core.path.AgentPathBuilder;
 import org.yaml.snakeyaml.Yaml;
 
 import java.io.File;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/entity/YamlPluginCategoryConfiguration.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/yaml/entity/YamlPluginCategoryConfiguration.java
similarity index 94%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/entity/YamlPluginCategoryConfiguration.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/yaml/entity/YamlPluginCategoryConfiguration.java
index be0253729b9..7e33f1c92b3 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/entity/YamlPluginCategoryConfiguration.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/yaml/entity/YamlPluginCategoryConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.config.yaml.entity;
+package org.apache.shardingsphere.agent.bootstrap.config.yaml.entity;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/entity/YamlPluginConfiguration.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/yaml/entity/YamlPluginConfiguration.java
similarity index 94%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/entity/YamlPluginConfiguration.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/yaml/entity/YamlPluginConfiguration.java
index 9701152f217..1b2b9f88dd7 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/entity/YamlPluginConfiguration.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/yaml/entity/YamlPluginConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.config.yaml.entity;
+package org.apache.shardingsphere.agent.bootstrap.config.yaml.entity;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/entity/YamlPluginsConfiguration.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/yaml/entity/YamlPluginsConfiguration.java
similarity index 93%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/entity/YamlPluginsConfiguration.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/yaml/entity/YamlPluginsConfiguration.java
index 24f10644057..b8450218486 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/entity/YamlPluginsConfiguration.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/yaml/entity/YamlPluginsConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.config.yaml.entity;
+package org.apache.shardingsphere.agent.bootstrap.config.yaml.entity;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/YamlPluginsConfigurationSwapper.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/yaml/swapper/YamlPluginsConfigurationSwapper.java
similarity index 88%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/YamlPluginsConfigurationSwapper.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/yaml/swapper/YamlPluginsConfigurationSwapper.java
index 71ccb87c8b1..d6afebceabb 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/YamlPluginsConfigurationSwapper.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/config/yaml/swapper/YamlPluginsConfigurationSwapper.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.config.yaml.swapper;
+package org.apache.shardingsphere.agent.bootstrap.config.yaml.swapper;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.agent.bootstrap.config.yaml.entity.YamlPluginCategoryConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.config.yaml.entity.YamlPluginConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.config.yaml.entity.YamlPluginsConfiguration;
 import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.config.yaml.entity.YamlPluginsConfiguration;
-import org.apache.shardingsphere.agent.core.config.yaml.entity.YamlPluginCategoryConfiguration;
-import org.apache.shardingsphere.agent.core.config.yaml.entity.YamlPluginConfiguration;
 
 import java.util.LinkedHashMap;
 import java.util.Map;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/logging/LoggerFactory.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/logging/LoggerFactory.java
similarity index 95%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/logging/LoggerFactory.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/logging/LoggerFactory.java
index c61f4c48edf..72efb11ac14 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/logging/LoggerFactory.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/logging/LoggerFactory.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.logging;
+package org.apache.shardingsphere.agent.bootstrap.logging;
 
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
-import org.apache.shardingsphere.agent.core.classloader.AgentClassLoader;
-import org.apache.shardingsphere.agent.core.plugin.PluginJar;
+import org.apache.shardingsphere.agent.bootstrap.classloader.AgentClassLoader;
+import org.apache.shardingsphere.agent.bootstrap.plugin.PluginJar;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/logging/LoggingListener.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/logging/LoggingListener.java
similarity index 94%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/logging/LoggingListener.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/logging/LoggingListener.java
index 218f353d7c7..36118f231d2 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/logging/LoggingListener.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/logging/LoggingListener.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.logging;
+package org.apache.shardingsphere.agent.bootstrap.logging;
 
 import net.bytebuddy.agent.builder.AgentBuilder.Listener;
 import net.bytebuddy.description.type.TypeDescription;
 import net.bytebuddy.dynamic.DynamicType;
 import net.bytebuddy.utility.JavaModule;
-import org.apache.shardingsphere.agent.core.logging.LoggerFactory.Logger;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggerFactory.Logger;
 
 /**
  * Logging listener for ByteBuddy lifecycle.
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/path/AgentPathBuilder.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/path/AgentPathBuilder.java
similarity index 98%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/path/AgentPathBuilder.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/path/AgentPathBuilder.java
index 3f4edfc2d44..e17a8fbadd2 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/path/AgentPathBuilder.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/path/AgentPathBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.path;
+package org.apache.shardingsphere.agent.bootstrap.path;
 
 import com.google.common.base.Preconditions;
 import lombok.AccessLevel;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginBootServiceManager.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/PluginBootServiceManager.java
similarity index 91%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginBootServiceManager.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/PluginBootServiceManager.java
index 8e14e3fe4cd..dde5f96d2a9 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginBootServiceManager.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/PluginBootServiceManager.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin;
+package org.apache.shardingsphere.agent.bootstrap.plugin;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.agent.bootstrap.spi.PluginBootServiceRegistry;
 import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.logging.LoggerFactory;
-import org.apache.shardingsphere.agent.core.logging.LoggerFactory.Logger;
-import org.apache.shardingsphere.agent.core.spi.PluginBootServiceRegistry;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggerFactory;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggerFactory.Logger;
 
 import java.io.IOException;
 import java.util.Collection;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginContext.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/PluginContext.java
similarity index 95%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginContext.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/PluginContext.java
index 5b4d70c3f93..bc2ae6567a7 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginContext.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/PluginContext.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin;
+package org.apache.shardingsphere.agent.bootstrap.plugin;
 
 /**
  * Plugin Context.
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginJar.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/PluginJar.java
similarity index 94%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginJar.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/PluginJar.java
index 0e55765ef39..fe23dc16f6f 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginJar.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/PluginJar.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin;
+package org.apache.shardingsphere.agent.bootstrap.plugin;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/AdvisorConfigurationRegistry.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/advisor/AdvisorConfigurationRegistry.java
similarity index 95%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/AdvisorConfigurationRegistry.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/advisor/AdvisorConfigurationRegistry.java
index 96b4dc82a31..8a924465303 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/AdvisorConfigurationRegistry.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/advisor/AdvisorConfigurationRegistry.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.advisor;
+package org.apache.shardingsphere.agent.bootstrap.plugin.advisor;
 
 import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
 
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/AdvisorConfigurationRegistryFactory.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/advisor/AdvisorConfigurationRegistryFactory.java
similarity index 95%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/AdvisorConfigurationRegistryFactory.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/advisor/AdvisorConfigurationRegistryFactory.java
index adc305540bb..f2bba41a1bb 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advisor/AdvisorConfigurationRegistryFactory.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/advisor/AdvisorConfigurationRegistryFactory.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.advisor;
+package org.apache.shardingsphere.agent.bootstrap.plugin.advisor;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/AdviceExecutor.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/executor/AdviceExecutor.java
similarity index 94%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/AdviceExecutor.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/executor/AdviceExecutor.java
index 502d3819069..d12eb7cef0c 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/AdviceExecutor.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/executor/AdviceExecutor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.executor;
+package org.apache.shardingsphere.agent.bootstrap.plugin.executor;
 
 import net.bytebuddy.description.method.MethodDescription;
 import net.bytebuddy.dynamic.DynamicType.Builder;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/ConstructorAdviceExecutor.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/executor/type/ConstructorAdviceExecutor.java
similarity index 88%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/ConstructorAdviceExecutor.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/executor/type/ConstructorAdviceExecutor.java
index 301c8dfcb10..5cda3660b39 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/ConstructorAdviceExecutor.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/executor/type/ConstructorAdviceExecutor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.executor.type;
+package org.apache.shardingsphere.agent.bootstrap.plugin.executor.type;
 
 import lombok.RequiredArgsConstructor;
 import net.bytebuddy.description.method.MethodDescription;
@@ -28,10 +28,10 @@ import net.bytebuddy.implementation.bind.annotation.This;
 import net.bytebuddy.matcher.ElementMatchers;
 import org.apache.shardingsphere.agent.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.advice.type.ConstructorAdvice;
-import org.apache.shardingsphere.agent.core.logging.LoggerFactory;
-import org.apache.shardingsphere.agent.core.logging.LoggerFactory.Logger;
-import org.apache.shardingsphere.agent.core.plugin.PluginContext;
-import org.apache.shardingsphere.agent.core.plugin.executor.AdviceExecutor;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggerFactory;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggerFactory.Logger;
+import org.apache.shardingsphere.agent.bootstrap.plugin.PluginContext;
+import org.apache.shardingsphere.agent.bootstrap.plugin.executor.AdviceExecutor;
 
 import java.util.Collection;
 
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/InstanceMethodAdviceExecutor.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/executor/type/InstanceMethodAdviceExecutor.java
similarity index 92%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/InstanceMethodAdviceExecutor.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/executor/type/InstanceMethodAdviceExecutor.java
index 94e1f5c95b8..92158b17a40 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/InstanceMethodAdviceExecutor.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/executor/type/InstanceMethodAdviceExecutor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.executor.type;
+package org.apache.shardingsphere.agent.bootstrap.plugin.executor.type;
 
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
@@ -30,10 +30,10 @@ import net.bytebuddy.implementation.bind.annotation.This;
 import net.bytebuddy.matcher.ElementMatchers;
 import org.apache.shardingsphere.agent.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.advice.type.InstanceMethodAdvice;
-import org.apache.shardingsphere.agent.core.logging.LoggerFactory;
-import org.apache.shardingsphere.agent.core.logging.LoggerFactory.Logger;
-import org.apache.shardingsphere.agent.core.plugin.PluginContext;
-import org.apache.shardingsphere.agent.core.plugin.executor.AdviceExecutor;
+import org.apache.shardingsphere.agent.bootstrap.plugin.executor.AdviceExecutor;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggerFactory;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggerFactory.Logger;
+import org.apache.shardingsphere.agent.bootstrap.plugin.PluginContext;
 
 import java.lang.reflect.Method;
 import java.util.Collection;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/StaticMethodAdviceExecutor.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/executor/type/StaticMethodAdviceExecutor.java
similarity index 92%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/StaticMethodAdviceExecutor.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/executor/type/StaticMethodAdviceExecutor.java
index d9444a3eb68..9589f016e70 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/StaticMethodAdviceExecutor.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/executor/type/StaticMethodAdviceExecutor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.executor.type;
+package org.apache.shardingsphere.agent.bootstrap.plugin.executor.type;
 
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
@@ -28,10 +28,10 @@ import net.bytebuddy.implementation.bind.annotation.RuntimeType;
 import net.bytebuddy.implementation.bind.annotation.SuperCall;
 import net.bytebuddy.matcher.ElementMatchers;
 import org.apache.shardingsphere.agent.advice.type.StaticMethodAdvice;
-import org.apache.shardingsphere.agent.core.logging.LoggerFactory;
-import org.apache.shardingsphere.agent.core.logging.LoggerFactory.Logger;
-import org.apache.shardingsphere.agent.core.plugin.PluginContext;
-import org.apache.shardingsphere.agent.core.plugin.executor.AdviceExecutor;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggerFactory;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggerFactory.Logger;
+import org.apache.shardingsphere.agent.bootstrap.plugin.PluginContext;
+import org.apache.shardingsphere.agent.bootstrap.plugin.executor.AdviceExecutor;
 
 import java.lang.reflect.Method;
 import java.util.Collection;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdvisorConfigurationLoader.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/loader/AdvisorConfigurationLoader.java
similarity index 86%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdvisorConfigurationLoader.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/loader/AdvisorConfigurationLoader.java
index a78c45699b4..abd2e1a4a3e 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdvisorConfigurationLoader.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/loader/AdvisorConfigurationLoader.java
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.loader;
+package org.apache.shardingsphere.agent.bootstrap.plugin.loader;
 
 import com.google.common.collect.ImmutableMap;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.agent.bootstrap.classloader.AgentClassLoader;
+import org.apache.shardingsphere.agent.bootstrap.plugin.PluginJar;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.loader.YamlAdvisorsConfigurationLoader;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.swapper.YamlAdvisorsConfigurationSwapper;
+import org.apache.shardingsphere.agent.bootstrap.spi.PluginBootServiceRegistry;
 import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
-import org.apache.shardingsphere.agent.core.classloader.AgentClassLoader;
-import org.apache.shardingsphere.agent.core.plugin.PluginJar;
-import org.apache.shardingsphere.agent.core.plugin.yaml.loader.YamlAdvisorsConfigurationLoader;
-import org.apache.shardingsphere.agent.core.plugin.yaml.swapper.YamlAdvisorsConfigurationSwapper;
-import org.apache.shardingsphere.agent.core.spi.PluginBootServiceRegistry;
 import org.apache.shardingsphere.agent.spi.PluginBootService;
 
 import java.io.InputStream;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AgentPluginLoader.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/loader/AgentPluginLoader.java
similarity index 84%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AgentPluginLoader.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/loader/AgentPluginLoader.java
index fe5bf384516..9c488c238fa 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AgentPluginLoader.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/loader/AgentPluginLoader.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.loader;
+package org.apache.shardingsphere.agent.bootstrap.plugin.loader;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.agent.core.logging.LoggerFactory;
-import org.apache.shardingsphere.agent.core.logging.LoggerFactory.Logger;
-import org.apache.shardingsphere.agent.core.path.AgentPathBuilder;
-import org.apache.shardingsphere.agent.core.plugin.PluginJar;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggerFactory;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggerFactory.Logger;
+import org.apache.shardingsphere.agent.bootstrap.path.AgentPathBuilder;
+import org.apache.shardingsphere.agent.bootstrap.plugin.PluginJar;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/entity/YamlAdvisorConfiguration.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/entity/YamlAdvisorConfiguration.java
similarity index 94%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/entity/YamlAdvisorConfiguration.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/entity/YamlAdvisorConfiguration.java
index 83b26d42557..0bd8f4d535d 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/entity/YamlAdvisorConfiguration.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/entity/YamlAdvisorConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.yaml.entity;
+package org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/entity/YamlAdvisorsConfiguration.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/entity/YamlAdvisorsConfiguration.java
similarity index 94%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/entity/YamlAdvisorsConfiguration.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/entity/YamlAdvisorsConfiguration.java
index 68d054e5a01..06455f603e6 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/entity/YamlAdvisorsConfiguration.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/entity/YamlAdvisorsConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.yaml.entity;
+package org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/entity/YamlPointcutConfiguration.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/entity/YamlPointcutConfiguration.java
similarity index 94%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/entity/YamlPointcutConfiguration.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/entity/YamlPointcutConfiguration.java
index bc08ffd2d42..88487bdef0e 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/entity/YamlPointcutConfiguration.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/entity/YamlPointcutConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.yaml.entity;
+package org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/entity/YamlPointcutParameterConfiguration.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/entity/YamlPointcutParameterConfiguration.java
similarity index 93%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/entity/YamlPointcutParameterConfiguration.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/entity/YamlPointcutParameterConfiguration.java
index 39f128daa93..a086ca38a1d 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/entity/YamlPointcutParameterConfiguration.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/entity/YamlPointcutParameterConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.yaml.entity;
+package org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoader.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/loader/YamlAdvisorsConfigurationLoader.java
similarity index 90%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoader.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/loader/YamlAdvisorsConfigurationLoader.java
index 8feb3d32433..eb4223705c8 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoader.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/loader/YamlAdvisorsConfigurationLoader.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.yaml.loader;
+package org.apache.shardingsphere.agent.bootstrap.plugin.yaml.loader;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlAdvisorsConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity.YamlAdvisorsConfiguration;
 import org.yaml.snakeyaml.Yaml;
 
 import java.io.InputStream;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorConfigurationSwapper.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/swapper/YamlAdvisorConfigurationSwapper.java
similarity index 84%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorConfigurationSwapper.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/swapper/YamlAdvisorConfigurationSwapper.java
index 00a4e9acad2..7e8462c08b5 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorConfigurationSwapper.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/swapper/YamlAdvisorConfigurationSwapper.java
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.yaml.swapper;
+package org.apache.shardingsphere.agent.bootstrap.plugin.yaml.swapper;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
 import org.apache.shardingsphere.agent.config.advisor.MethodAdvisorConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.advisor.AdvisorConfigurationRegistryFactory;
-import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlAdvisorConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlPointcutConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.plugin.advisor.AdvisorConfigurationRegistryFactory;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity.YamlAdvisorConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity.YamlPointcutConfiguration;
 
 /**
  * YAML advisor configuration swapper.
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapper.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapper.java
similarity index 87%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapper.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapper.java
index fa8136f0685..4fb82d2f02b 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapper.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapper.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.yaml.swapper;
+package org.apache.shardingsphere.agent.bootstrap.plugin.yaml.swapper;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlAdvisorConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlAdvisorsConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity.YamlAdvisorConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity.YamlAdvisorsConfiguration;
 
 import java.util.Collection;
 import java.util.LinkedList;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlPointcutConfigurationSwapper.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/swapper/YamlPointcutConfigurationSwapper.java
similarity index 90%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlPointcutConfigurationSwapper.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/swapper/YamlPointcutConfigurationSwapper.java
index 07731138c49..e7e1eb7fefa 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlPointcutConfigurationSwapper.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/swapper/YamlPointcutConfigurationSwapper.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.yaml.swapper;
+package org.apache.shardingsphere.agent.bootstrap.plugin.yaml.swapper;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
@@ -23,8 +23,8 @@ import net.bytebuddy.description.method.MethodDescription;
 import net.bytebuddy.matcher.ElementMatcher;
 import net.bytebuddy.matcher.ElementMatcher.Junction;
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlPointcutConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlPointcutParameterConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity.YamlPointcutConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity.YamlPointcutParameterConfiguration;
 
 import java.util.Optional;
 
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentServiceLoader.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/spi/AgentServiceLoader.java
similarity index 97%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentServiceLoader.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/spi/AgentServiceLoader.java
index 879fbfedc67..ef2f10603cb 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentServiceLoader.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/spi/AgentServiceLoader.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.spi;
+package org.apache.shardingsphere.agent.bootstrap.spi;
 
 import com.google.common.base.Preconditions;
 import lombok.Getter;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/spi/PluginBootServiceRegistry.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/spi/PluginBootServiceRegistry.java
similarity index 97%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/spi/PluginBootServiceRegistry.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/spi/PluginBootServiceRegistry.java
index 682c7abee10..90f7fb2f274 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/spi/PluginBootServiceRegistry.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/spi/PluginBootServiceRegistry.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.spi;
+package org.apache.shardingsphere.agent.bootstrap.spi;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentJunction.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/AgentJunction.java
similarity index 96%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentJunction.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/AgentJunction.java
index 8c5b0a620d8..4b9befe9908 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentJunction.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/AgentJunction.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer;
+package org.apache.shardingsphere.agent.bootstrap.transformer;
 
 import lombok.RequiredArgsConstructor;
 import net.bytebuddy.description.type.TypeDescription;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformer.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/AgentTransformer.java
similarity index 89%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformer.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/AgentTransformer.java
index 3fdfc7f7c55..7eea7ec2749 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformer.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/AgentTransformer.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer;
+package org.apache.shardingsphere.agent.bootstrap.transformer;
 
 import lombok.RequiredArgsConstructor;
 import net.bytebuddy.agent.builder.AgentBuilder.Transformer;
@@ -25,11 +25,11 @@ import net.bytebuddy.implementation.FieldAccessor;
 import net.bytebuddy.jar.asm.Opcodes;
 import net.bytebuddy.utility.JavaModule;
 import org.apache.shardingsphere.agent.advice.TargetAdviceObject;
+import org.apache.shardingsphere.agent.bootstrap.plugin.PluginJar;
 import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
 import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.PluginJar;
-import org.apache.shardingsphere.agent.core.transformer.builder.MethodAdvisorBuilder;
-import org.apache.shardingsphere.agent.core.transformer.builder.advise.AdviceFactory;
+import org.apache.shardingsphere.agent.bootstrap.transformer.builder.MethodAdvisorBuilder;
+import org.apache.shardingsphere.agent.bootstrap.transformer.builder.advise.AdviceFactory;
 
 import java.util.Collection;
 import java.util.Map;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/MethodAdvisor.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/MethodAdvisor.java
similarity index 88%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/MethodAdvisor.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/MethodAdvisor.java
index 2879468daa7..9d8b2b511db 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/MethodAdvisor.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/MethodAdvisor.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer;
+package org.apache.shardingsphere.agent.bootstrap.transformer;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import net.bytebuddy.description.method.MethodDescription;
-import org.apache.shardingsphere.agent.core.plugin.executor.AdviceExecutor;
+import org.apache.shardingsphere.agent.bootstrap.plugin.executor.AdviceExecutor;
 
 /**
  * Method advisor.
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/MethodAdvisorBuilder.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/builder/MethodAdvisorBuilder.java
similarity index 86%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/MethodAdvisorBuilder.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/builder/MethodAdvisorBuilder.java
index 91e0bce6e8a..38f68727b52 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/MethodAdvisorBuilder.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/builder/MethodAdvisorBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer.builder;
+package org.apache.shardingsphere.agent.bootstrap.transformer.builder;
 
 import lombok.RequiredArgsConstructor;
 import net.bytebuddy.description.method.MethodDescription.InDefinedShape;
@@ -25,14 +25,14 @@ import org.apache.shardingsphere.agent.advice.AgentAdvice;
 import org.apache.shardingsphere.agent.advice.type.ConstructorAdvice;
 import org.apache.shardingsphere.agent.advice.type.InstanceMethodAdvice;
 import org.apache.shardingsphere.agent.advice.type.StaticMethodAdvice;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggerFactory;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggerFactory.Logger;
+import org.apache.shardingsphere.agent.bootstrap.plugin.executor.type.ConstructorAdviceExecutor;
+import org.apache.shardingsphere.agent.bootstrap.plugin.executor.type.InstanceMethodAdviceExecutor;
+import org.apache.shardingsphere.agent.bootstrap.plugin.executor.type.StaticMethodAdviceExecutor;
+import org.apache.shardingsphere.agent.bootstrap.transformer.MethodAdvisor;
 import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
-import org.apache.shardingsphere.agent.core.logging.LoggerFactory;
-import org.apache.shardingsphere.agent.core.logging.LoggerFactory.Logger;
-import org.apache.shardingsphere.agent.core.plugin.executor.type.ConstructorAdviceExecutor;
-import org.apache.shardingsphere.agent.core.plugin.executor.type.InstanceMethodAdviceExecutor;
-import org.apache.shardingsphere.agent.core.plugin.executor.type.StaticMethodAdviceExecutor;
-import org.apache.shardingsphere.agent.core.transformer.MethodAdvisor;
-import org.apache.shardingsphere.agent.core.transformer.builder.advise.AdviceFactory;
+import org.apache.shardingsphere.agent.bootstrap.transformer.builder.advise.AdviceFactory;
 
 import java.util.Collection;
 import java.util.Optional;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/AdviceFactory.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/builder/advise/AdviceFactory.java
similarity index 93%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/AdviceFactory.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/builder/advise/AdviceFactory.java
index c35db8668a4..a0ece22914b 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/AdviceFactory.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/builder/advise/AdviceFactory.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer.builder.advise;
+package org.apache.shardingsphere.agent.bootstrap.transformer.builder.advise;
 
 import org.apache.shardingsphere.agent.advice.AgentAdvice;
+import org.apache.shardingsphere.agent.bootstrap.plugin.PluginJar;
 import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.PluginJar;
 
 import java.util.Collection;
 import java.util.Map;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/JDBCAdviceFactory.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/builder/advise/JDBCAdviceFactory.java
similarity index 90%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/JDBCAdviceFactory.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/builder/advise/JDBCAdviceFactory.java
index 9b4255b8ce3..bdc365f11ec 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/JDBCAdviceFactory.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/builder/advise/JDBCAdviceFactory.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer.builder.advise;
+package org.apache.shardingsphere.agent.bootstrap.transformer.builder.advise;
 
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
+import org.apache.shardingsphere.agent.bootstrap.classloader.AgentClassLoader;
+import org.apache.shardingsphere.agent.bootstrap.plugin.PluginJar;
 import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.classloader.AgentClassLoader;
-import org.apache.shardingsphere.agent.core.plugin.PluginBootServiceManager;
-import org.apache.shardingsphere.agent.core.plugin.PluginJar;
+import org.apache.shardingsphere.agent.bootstrap.plugin.PluginBootServiceManager;
 
 import java.util.Collection;
 import java.util.HashMap;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/ProxyAdviceFactory.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/builder/advise/ProxyAdviceFactory.java
similarity index 91%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/ProxyAdviceFactory.java
rename to agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/builder/advise/ProxyAdviceFactory.java
index 7353023b40a..59223762d95 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/ProxyAdviceFactory.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/transformer/builder/advise/ProxyAdviceFactory.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer.builder.advise;
+package org.apache.shardingsphere.agent.bootstrap.transformer.builder.advise;
 
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
 import org.apache.shardingsphere.agent.advice.AgentAdvice;
-import org.apache.shardingsphere.agent.core.classloader.AgentClassLoader;
+import org.apache.shardingsphere.agent.bootstrap.classloader.AgentClassLoader;
 
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/loader/PluginConfigurationLoaderTest.java b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/config/loader/PluginConfigurationLoaderTest.java
similarity index 92%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/loader/PluginConfigurationLoaderTest.java
rename to agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/config/loader/PluginConfigurationLoaderTest.java
index 01780be94c2..1e64dfadd6e 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/loader/PluginConfigurationLoaderTest.java
+++ b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/config/loader/PluginConfigurationLoaderTest.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.config.loader;
+package org.apache.shardingsphere.agent.bootstrap.config.loader;
 
-import org.apache.shardingsphere.agent.core.path.AgentPathBuilder;
+import org.apache.shardingsphere.agent.bootstrap.path.AgentPathBuilder;
 import org.junit.Test;
 import org.mockito.internal.configuration.plugins.Plugins;
 
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/AdvisorConfigurationRegistryFactoryTest.java b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/advisor/AdvisorConfigurationRegistryFactoryTest.java
similarity index 94%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/AdvisorConfigurationRegistryFactoryTest.java
rename to agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/advisor/AdvisorConfigurationRegistryFactoryTest.java
index a45921d9ad0..7b57895296e 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/AdvisorConfigurationRegistryFactoryTest.java
+++ b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/advisor/AdvisorConfigurationRegistryFactoryTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.advisor;
+package org.apache.shardingsphere.agent.bootstrap.plugin.advisor;
 
 import org.junit.Test;
 
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/AdvisorConfigurationRegistryTest.java b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/advisor/AdvisorConfigurationRegistryTest.java
similarity index 95%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/AdvisorConfigurationRegistryTest.java
rename to agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/advisor/AdvisorConfigurationRegistryTest.java
index 05471dc8b1b..8285fad320c 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/advisor/AdvisorConfigurationRegistryTest.java
+++ b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/advisor/AdvisorConfigurationRegistryTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.advisor;
+package org.apache.shardingsphere.agent.bootstrap.plugin.advisor;
 
 import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
 import org.junit.Test;
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/fixture/YamlAdviceFixture.java b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/fixture/YamlAdviceFixture.java
similarity index 96%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/fixture/YamlAdviceFixture.java
rename to agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/fixture/YamlAdviceFixture.java
index 5cffd45cf32..59a2961ad10 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/fixture/YamlAdviceFixture.java
+++ b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/fixture/YamlAdviceFixture.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.yaml.fixture;
+package org.apache.shardingsphere.agent.bootstrap.plugin.yaml.fixture;
 
 import org.apache.shardingsphere.agent.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.advice.type.ConstructorAdvice;
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/fixture/YamlTargetObjectFixture.java b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/fixture/YamlTargetObjectFixture.java
similarity index 96%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/fixture/YamlTargetObjectFixture.java
rename to agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/fixture/YamlTargetObjectFixture.java
index 3fa377432d1..69763f25d7f 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/fixture/YamlTargetObjectFixture.java
+++ b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/fixture/YamlTargetObjectFixture.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.yaml.fixture;
+package org.apache.shardingsphere.agent.bootstrap.plugin.yaml.fixture;
 
 import lombok.NoArgsConstructor;
 
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java
similarity index 89%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java
rename to agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java
index ce274bf7431..d50636c5ff9 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java
+++ b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.yaml.loader;
+package org.apache.shardingsphere.agent.bootstrap.plugin.yaml.loader;
 
-import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlAdvisorConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlAdvisorsConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlPointcutConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlPointcutParameterConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity.YamlAdvisorConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity.YamlAdvisorsConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity.YamlPointcutConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity.YamlPointcutParameterConfiguration;
 import org.junit.Test;
 
 import java.util.ArrayList;
@@ -42,8 +42,8 @@ public final class YamlAdvisorsConfigurationLoaderTest {
     }
     
     private void assertYamlAdvisorConfiguration(final YamlAdvisorConfiguration actual) {
-        assertThat(actual.getTarget(), is("org.apache.shardingsphere.agent.core.plugin.yaml.fixture.YamlTargetObjectFixture"));
-        assertThat(actual.getAdvice(), is("org.apache.shardingsphere.agent.core.plugin.yaml.fixture.YamlAdviceFixture"));
+        assertThat(actual.getTarget(), is("org.apache.shardingsphere.agent.bootstrap.plugin.yaml.fixture.YamlTargetObjectFixture"));
+        assertThat(actual.getAdvice(), is("org.apache.shardingsphere.agent.bootstrap.plugin.yaml.fixture.YamlAdviceFixture"));
         assertThat(actual.getPointcuts().size(), is(8));
         List<YamlPointcutConfiguration> actualYamlPointcutConfigs = new ArrayList<>(actual.getPointcuts());
         assertYamlPointcutConfiguration(actualYamlPointcutConfigs.get(0), null, "constructor", Collections.emptyList());
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java
similarity index 91%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java
rename to agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java
index 123e83c974c..d4a054775a9 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java
+++ b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.yaml.swapper;
+package org.apache.shardingsphere.agent.bootstrap.plugin.yaml.swapper;
 
 import net.bytebuddy.matcher.ElementMatchers;
 import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
 import org.apache.shardingsphere.agent.config.advisor.MethodAdvisorConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlAdvisorsConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.yaml.fixture.YamlAdviceFixture;
-import org.apache.shardingsphere.agent.core.plugin.yaml.fixture.YamlTargetObjectFixture;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.entity.YamlAdvisorsConfiguration;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.fixture.YamlAdviceFixture;
+import org.apache.shardingsphere.agent.bootstrap.plugin.yaml.fixture.YamlTargetObjectFixture;
 import org.junit.Test;
 import org.yaml.snakeyaml.Yaml;
 
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformerTest.java b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/transformer/AgentTransformerTest.java
similarity index 90%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformerTest.java
rename to agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/transformer/AgentTransformerTest.java
index f81e7fbcb15..df4855403d2 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformerTest.java
+++ b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/transformer/AgentTransformerTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer;
+package org.apache.shardingsphere.agent.bootstrap.transformer;
 
 import net.bytebuddy.ByteBuddy;
 import net.bytebuddy.agent.ByteBuddyAgent;
@@ -25,11 +25,11 @@ import net.bytebuddy.dynamic.scaffold.TypeValidation;
 import net.bytebuddy.matcher.ElementMatchers;
 import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
 import org.apache.shardingsphere.agent.config.advisor.MethodAdvisorConfiguration;
-import org.apache.shardingsphere.agent.core.classloader.AgentClassLoader;
-import org.apache.shardingsphere.agent.core.logging.LoggingListener;
-import org.apache.shardingsphere.agent.core.transformer.fixture.advice.BarAdvice;
-import org.apache.shardingsphere.agent.core.transformer.fixture.advice.FooAdvice;
-import org.apache.shardingsphere.agent.core.transformer.fixture.targeted.TargetObjectFixture;
+import org.apache.shardingsphere.agent.bootstrap.classloader.AgentClassLoader;
+import org.apache.shardingsphere.agent.bootstrap.logging.LoggingListener;
+import org.apache.shardingsphere.agent.bootstrap.transformer.fixture.advice.BarAdvice;
+import org.apache.shardingsphere.agent.bootstrap.transformer.fixture.advice.FooAdvice;
+import org.apache.shardingsphere.agent.bootstrap.transformer.fixture.targeted.TargetObjectFixture;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -55,7 +55,7 @@ public final class AgentTransformerTest {
         Map<String, AdvisorConfiguration> advisorConfigs = Collections.singletonMap(advisorConfig.getTargetClassName(), advisorConfig);
         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.transformer.fixture"))))
+                        .and(ElementMatchers.not(ElementMatchers.nameStartsWith("org.apache.shardingsphere.agent.bootstrap.transformer.fixture"))))
                 .with(AgentBuilder.RedefinitionStrategy.RETRANSFORMATION)
                 .with(new LoggingListener())
                 .type(new AgentJunction(advisorConfigs))
@@ -65,7 +65,7 @@ public final class AgentTransformerTest {
     }
     
     private static AdvisorConfiguration createAdvisorConfiguration() {
-        AdvisorConfiguration result = new AdvisorConfiguration("org.apache.shardingsphere.agent.core.transformer.fixture.targeted.TargetObjectFixture");
+        AdvisorConfiguration result = new AdvisorConfiguration("org.apache.shardingsphere.agent.bootstrap.transformer.fixture.targeted.TargetObjectFixture");
         result.getAdvisors().add(new MethodAdvisorConfiguration(ElementMatchers.isConstructor().and(ElementMatchers.takesArguments(1)), FooAdvice.class.getName()));
         result.getAdvisors().add(new MethodAdvisorConfiguration(ElementMatchers.isConstructor().and(ElementMatchers.takesArguments(1)), BarAdvice.class.getName()));
         result.getAdvisors().add(new MethodAdvisorConfiguration(ElementMatchers.named("call"), FooAdvice.class.getName()));
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/fixture/advice/BarAdvice.java b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/transformer/fixture/advice/BarAdvice.java
similarity index 97%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/fixture/advice/BarAdvice.java
rename to agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/transformer/fixture/advice/BarAdvice.java
index 90f08eeffa3..a6e5a7246e9 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/fixture/advice/BarAdvice.java
+++ b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/transformer/fixture/advice/BarAdvice.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer.fixture.advice;
+package org.apache.shardingsphere.agent.bootstrap.transformer.fixture.advice;
 
 import org.apache.shardingsphere.agent.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.advice.type.ConstructorAdvice;
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/fixture/advice/FooAdvice.java b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/transformer/fixture/advice/FooAdvice.java
similarity index 97%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/fixture/advice/FooAdvice.java
rename to agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/transformer/fixture/advice/FooAdvice.java
index b80a7ea6b63..1cb51c23879 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/fixture/advice/FooAdvice.java
+++ b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/transformer/fixture/advice/FooAdvice.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer.fixture.advice;
+package org.apache.shardingsphere.agent.bootstrap.transformer.fixture.advice;
 
 import org.apache.shardingsphere.agent.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.advice.type.ConstructorAdvice;
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/fixture/targeted/TargetObjectFixture.java b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/transformer/fixture/targeted/TargetObjectFixture.java
similarity index 95%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/fixture/targeted/TargetObjectFixture.java
rename to agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/transformer/fixture/targeted/TargetObjectFixture.java
index 5352d448b2b..ca0af3b5784 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/fixture/targeted/TargetObjectFixture.java
+++ b/agent/bootstrap/src/test/java/org/apache/shardingsphere/agent/bootstrap/transformer/fixture/targeted/TargetObjectFixture.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer.fixture.targeted;
+package org.apache.shardingsphere.agent.bootstrap.transformer.fixture.targeted;
 
 import java.util.List;
 
diff --git a/agent/core/src/test/resources/conf/advisors.yaml b/agent/bootstrap/src/test/resources/conf/advisors.yaml
similarity index 89%
rename from agent/core/src/test/resources/conf/advisors.yaml
rename to agent/bootstrap/src/test/resources/conf/advisors.yaml
index 12f584edbb0..22b2201836a 100644
--- a/agent/core/src/test/resources/conf/advisors.yaml
+++ b/agent/bootstrap/src/test/resources/conf/advisors.yaml
@@ -16,8 +16,8 @@
 #
 
 advisors:
-  - target: org.apache.shardingsphere.agent.core.plugin.yaml.fixture.YamlTargetObjectFixture
-    advice: org.apache.shardingsphere.agent.core.plugin.yaml.fixture.YamlAdviceFixture
+  - target: org.apache.shardingsphere.agent.bootstrap.plugin.yaml.fixture.YamlTargetObjectFixture
+    advice: org.apache.shardingsphere.agent.bootstrap.plugin.yaml.fixture.YamlAdviceFixture
     pointcuts:
       - type: constructor
       - type: constructor
diff --git a/agent/core/src/test/resources/conf/agent.yaml b/agent/bootstrap/src/test/resources/conf/agent.yaml
similarity index 100%
rename from agent/core/src/test/resources/conf/agent.yaml
rename to agent/bootstrap/src/test/resources/conf/agent.yaml
diff --git a/agent/core/src/test/resources/conf/empty-advisors.yaml b/agent/bootstrap/src/test/resources/conf/empty-advisors.yaml
similarity index 100%
rename from agent/core/src/test/resources/conf/empty-advisors.yaml
rename to agent/bootstrap/src/test/resources/conf/empty-advisors.yaml
diff --git a/agent/core/src/test/resources/logback-test.xml b/agent/bootstrap/src/test/resources/logback-test.xml
similarity index 100%
rename from agent/core/src/test/resources/logback-test.xml
rename to agent/bootstrap/src/test/resources/logback-test.xml
diff --git a/agent/core/pom.xml b/agent/plugins/core/pom.xml
similarity index 65%
rename from agent/core/pom.xml
rename to agent/plugins/core/pom.xml
index c30a5a3939e..82f3f19d5e7 100644
--- a/agent/core/pom.xml
+++ b/agent/plugins/core/pom.xml
@@ -21,27 +21,9 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.shardingsphere</groupId>
-        <artifactId>shardingsphere-agent</artifactId>
+        <artifactId>shardingsphere-agent-plugins</artifactId>
         <version>5.3.1-SNAPSHOT</version>
     </parent>
-    <artifactId>shardingsphere-agent-core</artifactId>
+    <artifactId>shardingsphere-agent-plugin-core</artifactId>
     <name>${project.artifactId}</name>
-    
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-agent-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        
-        <dependency>
-            <groupId>org.yaml</groupId>
-            <artifactId>snakeyaml</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-classic</artifactId>
-            <scope>compile</scope>
-        </dependency>
-    </dependencies>
 </project>
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/validator/RemotePluginConfigurationValidator.java b/agent/plugins/core/src/main/java/org/apache/shardingsphere/agent/plugin/core/config/validator/PluginConfigurationValidator.java
similarity index 94%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/validator/RemotePluginConfigurationValidator.java
rename to agent/plugins/core/src/main/java/org/apache/shardingsphere/agent/plugin/core/config/validator/PluginConfigurationValidator.java
index 61e86c328f8..7d415f0b088 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/config/validator/RemotePluginConfigurationValidator.java
+++ b/agent/plugins/core/src/main/java/org/apache/shardingsphere/agent/plugin/core/config/validator/PluginConfigurationValidator.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.config.validator;
+package org.apache.shardingsphere.agent.plugin.core.config.validator;
 
 import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
  * Remote plugin configuration validator.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class RemotePluginConfigurationValidator {
+public final class PluginConfigurationValidator {
     
     /**
      * Validate host and port.
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/util/AgentReflectionUtil.java b/agent/plugins/core/src/main/java/org/apache/shardingsphere/agent/plugin/core/util/AgentReflectionUtil.java
similarity index 98%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/util/AgentReflectionUtil.java
rename to agent/plugins/core/src/main/java/org/apache/shardingsphere/agent/plugin/core/util/AgentReflectionUtil.java
index 9e183ec4d9b..e1a53eaa349 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/util/AgentReflectionUtil.java
+++ b/agent/plugins/core/src/main/java/org/apache/shardingsphere/agent/plugin/core/util/AgentReflectionUtil.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.util;
+package org.apache.shardingsphere.agent.plugin.core.util;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/util/TimeRecorder.java b/agent/plugins/core/src/main/java/org/apache/shardingsphere/agent/plugin/core/util/TimeRecorder.java
similarity index 96%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/util/TimeRecorder.java
rename to agent/plugins/core/src/main/java/org/apache/shardingsphere/agent/plugin/core/util/TimeRecorder.java
index a425d12b9b0..a1b6eeb81bc 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/util/TimeRecorder.java
+++ b/agent/plugins/core/src/main/java/org/apache/shardingsphere/agent/plugin/core/util/TimeRecorder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.util;
+package org.apache.shardingsphere.agent.plugin.core.util;
 
 /**
  * Time recorder.
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/validator/RemotePluginConfigurationValidatorTest.java b/agent/plugins/core/src/test/java/org/apache/shardingsphere/agent/plugin/core/config/validator/PluginConfigurationValidatorTest.java
similarity index 70%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/validator/RemotePluginConfigurationValidatorTest.java
rename to agent/plugins/core/src/test/java/org/apache/shardingsphere/agent/plugin/core/config/validator/PluginConfigurationValidatorTest.java
index d1eb97b5981..6beec7eea59 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/validator/RemotePluginConfigurationValidatorTest.java
+++ b/agent/plugins/core/src/test/java/org/apache/shardingsphere/agent/plugin/core/config/validator/PluginConfigurationValidatorTest.java
@@ -15,35 +15,35 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.config.validator;
+package org.apache.shardingsphere.agent.plugin.core.config.validator;
 
 import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.junit.Test;
 
 import static org.junit.Assert.assertThrows;
 
-public final class RemotePluginConfigurationValidatorTest {
+public final class PluginConfigurationValidatorTest {
     
     @Test
     public void assertValidateHostAndPortSuccess() {
-        RemotePluginConfigurationValidator.validateHostAndPort("foo_type", new PluginConfiguration("localhost", 8080, "pwd", null));
+        PluginConfigurationValidator.validateHostAndPort("foo_type", new PluginConfiguration("localhost", 8080, "pwd", null));
     }
     
     @Test
     public void assertValidateHostAndPortWhenHostIsEmpty() {
         assertThrows("Hostname of foo_type is required", IllegalArgumentException.class,
-                () -> RemotePluginConfigurationValidator.validateHostAndPort("foo_type", new PluginConfiguration("", 8080, "pwd", null)));
+                () -> PluginConfigurationValidator.validateHostAndPort("foo_type", new PluginConfiguration("", 8080, "pwd", null)));
     }
     
     @Test
     public void assertValidateHostAndPortWhenHostIsNull() {
         assertThrows("Hostname of foo_type is required", IllegalArgumentException.class,
-                () -> RemotePluginConfigurationValidator.validateHostAndPort("foo_type", new PluginConfiguration(null, 8080, "pwd", null)));
+                () -> PluginConfigurationValidator.validateHostAndPort("foo_type", new PluginConfiguration(null, 8080, "pwd", null)));
     }
     
     @Test
     public void assertValidateHostAndPortWhenPortLessThanOne() {
         assertThrows("Port `0` of foo_host must be a positive number", IllegalArgumentException.class,
-                () -> RemotePluginConfigurationValidator.validateHostAndPort("foo_type", new PluginConfiguration("localhost", 0, "pwd", null)));
+                () -> PluginConfigurationValidator.validateHostAndPort("foo_type", new PluginConfiguration("localhost", 0, "pwd", null)));
     }
 }
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/util/AgentReflectionUtilTest.java b/agent/plugins/core/src/test/java/org/apache/shardingsphere/agent/plugin/core/util/AgentReflectionUtilTest.java
similarity index 91%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/util/AgentReflectionUtilTest.java
rename to agent/plugins/core/src/test/java/org/apache/shardingsphere/agent/plugin/core/util/AgentReflectionUtilTest.java
index 93c53c8e04c..87c1a92020e 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/util/AgentReflectionUtilTest.java
+++ b/agent/plugins/core/src/test/java/org/apache/shardingsphere/agent/plugin/core/util/AgentReflectionUtilTest.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.util;
+package org.apache.shardingsphere.agent.plugin.core.util;
 
-import org.apache.shardingsphere.agent.core.util.fixture.ReflectionFixture;
+import org.apache.shardingsphere.agent.plugin.core.util.fixture.ReflectionFixture;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.is;
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/util/fixture/ReflectionFixture.java b/agent/plugins/core/src/test/java/org/apache/shardingsphere/agent/plugin/core/util/fixture/ReflectionFixture.java
similarity index 94%
rename from agent/core/src/test/java/org/apache/shardingsphere/agent/core/util/fixture/ReflectionFixture.java
rename to agent/plugins/core/src/test/java/org/apache/shardingsphere/agent/plugin/core/util/fixture/ReflectionFixture.java
index 5dd9812895e..ef94178b181 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/util/fixture/ReflectionFixture.java
+++ b/agent/plugins/core/src/test/java/org/apache/shardingsphere/agent/plugin/core/util/fixture/ReflectionFixture.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.util.fixture;
+package org.apache.shardingsphere.agent.plugin.core.util.fixture;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/advice/MetaDataContextsFactoryAdvice.java b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/advice/MetaDataContextsFactoryAdvice.java
index 9df2168f570..6ea2fc75a50 100644
--- a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/advice/MetaDataContextsFactoryAdvice.java
+++ b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/advice/MetaDataContextsFactoryAdvice.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.agent.plugin.logging.base.advice;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.agent.advice.type.StaticMethodAdvice;
-import org.apache.shardingsphere.agent.core.util.TimeRecorder;
+import org.apache.shardingsphere.agent.plugin.core.util.TimeRecorder;
 
 import java.lang.reflect.Method;
 
diff --git a/agent/plugins/logging/pom.xml b/agent/plugins/logging/pom.xml
index bb18316335b..5723799498a 100644
--- a/agent/plugins/logging/pom.xml
+++ b/agent/plugins/logging/pom.xml
@@ -35,7 +35,14 @@
     <properties>
         <target.directory>${project.basedir}/../target/plugins</target.directory>
     </properties>
-    
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-agent-plugin-core</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
     <build>
         <plugins>
             <plugin>
diff --git a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/metrics/core/advice/CommandExecutorTaskAdvice.java b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/metrics/core/advice/CommandExecutorTaskAdvice.java
index a965ec9a871..fd3f00156c8 100644
--- a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/metrics/core/advice/CommandExecutorTaskAdvice.java
+++ b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/metrics/core/advice/CommandExecutorTaskAdvice.java
@@ -19,10 +19,10 @@ package org.apache.shardingsphere.agent.metrics.core.advice;
 
 import org.apache.shardingsphere.agent.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.advice.type.InstanceMethodAdvice;
-import org.apache.shardingsphere.agent.core.util.TimeRecorder;
 import org.apache.shardingsphere.agent.metrics.core.MetricsPool;
 import org.apache.shardingsphere.agent.metrics.core.MetricsWrapper;
 import org.apache.shardingsphere.agent.metrics.core.constant.MetricIds;
+import org.apache.shardingsphere.agent.plugin.core.util.TimeRecorder;
 
 import java.lang.reflect.Method;
 
diff --git a/agent/plugins/metrics/pom.xml b/agent/plugins/metrics/pom.xml
index f42fe0643b5..a049e3fc86d 100644
--- a/agent/plugins/metrics/pom.xml
+++ b/agent/plugins/metrics/pom.xml
@@ -32,4 +32,12 @@
         <module>core</module>
         <module>type</module>
     </modules>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-agent-plugin-core</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/PrometheusPluginBootService.java b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/PrometheusPluginBootService.java
index 5b71aadb142..bb95af19e97 100644
--- a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/PrometheusPluginBootService.java
+++ b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/PrometheusPluginBootService.java
@@ -23,12 +23,12 @@ import io.prometheus.client.exporter.HTTPServer;
 import io.prometheus.client.hotspot.DefaultExports;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.config.validator.RemotePluginConfigurationValidator;
 import org.apache.shardingsphere.agent.metrics.core.MetricsPool;
 import org.apache.shardingsphere.agent.metrics.prometheus.collector.BuildInfoCollector;
 import org.apache.shardingsphere.agent.metrics.prometheus.collector.MetaDataInfoCollector;
 import org.apache.shardingsphere.agent.metrics.prometheus.collector.ProxyInfoCollector;
 import org.apache.shardingsphere.agent.metrics.prometheus.wrapper.PrometheusWrapperFactory;
+import org.apache.shardingsphere.agent.plugin.core.config.validator.PluginConfigurationValidator;
 import org.apache.shardingsphere.agent.spi.PluginBootService;
 
 import java.io.IOException;
@@ -46,7 +46,7 @@ public final class PrometheusPluginBootService implements PluginBootService {
     
     @Override
     public void start(final PluginConfiguration pluginConfig, final boolean isEnhancedForProxy) {
-        RemotePluginConfigurationValidator.validatePort(getType(), pluginConfig);
+        PluginConfigurationValidator.validatePort(getType(), pluginConfig);
         startServer(pluginConfig, isEnhancedForProxy);
         MetricsPool.setMetricsFactory(new PrometheusWrapperFactory());
     }
diff --git a/agent/plugins/pom.xml b/agent/plugins/pom.xml
index ea4a8764c8a..2c664bdcdc2 100644
--- a/agent/plugins/pom.xml
+++ b/agent/plugins/pom.xml
@@ -29,6 +29,7 @@
     <name>${project.artifactId}</name>
     
     <modules>
+        <module>core</module>
         <module>metrics</module>
         <module>tracing</module>
         <module>logging</module>
@@ -37,7 +38,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-agent-core</artifactId>
+            <artifactId>shardingsphere-agent-api</artifactId>
             <version>${project.version}</version>
             <scope>provided</scope>
         </dependency>
diff --git a/agent/plugins/tracing/pom.xml b/agent/plugins/tracing/pom.xml
index 6665ee29a9c..05e732a95a3 100644
--- a/agent/plugins/tracing/pom.xml
+++ b/agent/plugins/tracing/pom.xml
@@ -59,7 +59,6 @@
             </dependency>
         </dependencies>
     </dependencyManagement>
-    
     <build>
         <plugins>
             <plugin>
diff --git a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootService.java b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootService.java
index d222f53e48c..513628d025c 100644
--- a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootService.java
+++ b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootService.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.agent.plugin.tracing.jaeger;
 import io.jaegertracing.Configuration;
 import io.opentracing.util.GlobalTracer;
 import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.config.validator.RemotePluginConfigurationValidator;
+import org.apache.shardingsphere.agent.plugin.core.config.validator.PluginConfigurationValidator;
 import org.apache.shardingsphere.agent.spi.PluginBootService;
 
 import java.util.Optional;
@@ -39,7 +39,7 @@ public final class JaegerTracingPluginBootService implements PluginBootService {
     @SuppressWarnings("AccessOfSystemProperties")
     @Override
     public void start(final PluginConfiguration pluginConfig, final boolean isEnhancedForProxy) {
-        RemotePluginConfigurationValidator.validateHostAndPort(getType(), pluginConfig);
+        PluginConfigurationValidator.validateHostAndPort(getType(), pluginConfig);
         pluginConfig.getProps().forEach((key, value) -> setSystemProperty(String.valueOf(key), String.valueOf(value)));
         Configuration.SamplerConfiguration samplerConfig = Configuration.SamplerConfiguration.fromEnv();
         Configuration.ReporterConfiguration reporterConfig = Configuration.ReporterConfiguration.fromEnv()
diff --git a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java
index beb4a32ba59..d0003c399e9 100644
--- a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java
+++ b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java
@@ -22,7 +22,7 @@ import io.opentracing.tag.Tags;
 import io.opentracing.util.GlobalTracer;
 import org.apache.shardingsphere.agent.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.advice.type.InstanceMethodAdvice;
-import org.apache.shardingsphere.agent.core.util.AgentReflectionUtil;
+import org.apache.shardingsphere.agent.plugin.core.util.AgentReflectionUtil;
 import org.apache.shardingsphere.agent.plugin.tracing.jaeger.constant.JaegerConstants;
 import org.apache.shardingsphere.agent.plugin.tracing.jaeger.span.JaegerErrorSpan;
 import org.apache.shardingsphere.infra.executor.kernel.model.ExecutorDataMap;
diff --git a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java
index 57f74cfec46..ce1502cb64d 100644
--- a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java
+++ b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java
@@ -25,7 +25,7 @@ import io.opentracing.util.GlobalTracer;
 import lombok.SneakyThrows;
 import org.apache.shardingsphere.agent.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.advice.type.InstanceMethodAdvice;
-import org.apache.shardingsphere.agent.core.util.AgentReflectionUtil;
+import org.apache.shardingsphere.agent.plugin.core.util.AgentReflectionUtil;
 import org.apache.shardingsphere.agent.plugin.tracing.jaeger.constant.JaegerConstants;
 import org.apache.shardingsphere.agent.plugin.tracing.jaeger.span.JaegerErrorSpan;
 import org.apache.shardingsphere.infra.database.metadata.DataSourceMetaData;
diff --git a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdvice.java b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdvice.java
index 3d7732bcd5f..e21eeb7cd43 100644
--- a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdvice.java
+++ b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdvice.java
@@ -26,7 +26,7 @@ import io.opentelemetry.context.Context;
 import lombok.SneakyThrows;
 import org.apache.shardingsphere.agent.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.advice.type.InstanceMethodAdvice;
-import org.apache.shardingsphere.agent.core.util.AgentReflectionUtil;
+import org.apache.shardingsphere.agent.plugin.core.util.AgentReflectionUtil;
 import org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.constant.OpenTelemetryConstants;
 import org.apache.shardingsphere.infra.database.metadata.DataSourceMetaData;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
diff --git a/agent/plugins/tracing/type/pom.xml b/agent/plugins/tracing/type/pom.xml
index 8d0130d5510..36cfbf4e573 100644
--- a/agent/plugins/tracing/type/pom.xml
+++ b/agent/plugins/tracing/type/pom.xml
@@ -52,6 +52,12 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-agent-plugin-core</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
     
     <build>
diff --git a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootService.java b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootService.java
index 4947cbec90e..66a88f4db08 100644
--- a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootService.java
+++ b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootService.java
@@ -22,7 +22,7 @@ import brave.sampler.BoundarySampler;
 import brave.sampler.RateLimitingSampler;
 import brave.sampler.Sampler;
 import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.config.validator.RemotePluginConfigurationValidator;
+import org.apache.shardingsphere.agent.plugin.core.config.validator.PluginConfigurationValidator;
 import org.apache.shardingsphere.agent.spi.PluginBootService;
 import zipkin2.reporter.brave.AsyncZipkinSpanHandler;
 import zipkin2.reporter.okhttp3.OkHttpSender;
@@ -59,7 +59,7 @@ public final class ZipkinTracingPluginBootService implements PluginBootService {
     
     @Override
     public void start(final PluginConfiguration pluginConfig, final boolean isEnhancedForProxy) {
-        RemotePluginConfigurationValidator.validateHostAndPort(getType(), pluginConfig);
+        PluginConfigurationValidator.validateHostAndPort(getType(), pluginConfig);
         Properties props = pluginConfig.getProps();
         String urlVersion = Optional.ofNullable(props.getProperty(KEY_URL_VERSION)).orElse(DEFAULT_URL_VERSION);
         String serviceName = Optional.ofNullable(props.getProperty(KEY_SERVICE_NAME)).orElse(DEFAULT_SERVICE_NAME);
diff --git a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java
index 91755e4b968..03b565af8f1 100644
--- a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java
+++ b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java
@@ -21,7 +21,7 @@ import brave.Span;
 import brave.Tracing;
 import org.apache.shardingsphere.agent.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.advice.type.InstanceMethodAdvice;
-import org.apache.shardingsphere.agent.core.util.AgentReflectionUtil;
+import org.apache.shardingsphere.agent.plugin.core.util.AgentReflectionUtil;
 import org.apache.shardingsphere.agent.plugin.tracing.zipkin.constant.ZipkinConstants;
 import org.apache.shardingsphere.infra.executor.kernel.model.ExecutorDataMap;
 import org.apache.shardingsphere.proxy.backend.communication.BackendConnection;
diff --git a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java
index 9f6b16b1c06..0e998b359d2 100644
--- a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java
+++ b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java
@@ -22,7 +22,7 @@ import brave.Tracing;
 import lombok.SneakyThrows;
 import org.apache.shardingsphere.agent.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.advice.type.InstanceMethodAdvice;
-import org.apache.shardingsphere.agent.core.util.AgentReflectionUtil;
+import org.apache.shardingsphere.agent.plugin.core.util.AgentReflectionUtil;
 import org.apache.shardingsphere.agent.plugin.tracing.zipkin.constant.ZipkinConstants;
 import org.apache.shardingsphere.infra.database.metadata.DataSourceMetaData;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
diff --git a/agent/pom.xml b/agent/pom.xml
index 37531ac3552..ddf0cf254c2 100644
--- a/agent/pom.xml
+++ b/agent/pom.xml
@@ -30,7 +30,6 @@
     
     <modules>
         <module>api</module>
-        <module>core</module>
         <module>bootstrap</module>
         <module>plugins</module>
         <module>distribution</module>