You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by me...@apache.org on 2021/01/04 09:32:07 UTC

[shardingsphere] branch master updated: agent project refactor (#8878)

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

menghaoran 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 c1d6312  agent project refactor (#8878)
c1d6312 is described below

commit c1d63127460e6760c9c8b52b43a38f7f80b7a28f
Author: xiaoyu <54...@qq.com>
AuthorDate: Mon Jan 4 17:31:40 2021 +0800

    agent project refactor (#8878)
    
    * agent project refactor
    
    * agent project refactor
---
 shardingsphere-agent/pom.xml                       |  1 +
 .../pom.xml                                        | 23 +++-------------------
 .../agent/api}/advice/ConstructorAdvice.java       |  3 +--
 .../agent/api}/advice/MethodAroundAdvice.java      |  4 ++--
 .../agent/api}/advice/OverrideArgsInvoker.java     |  3 +--
 .../api}/advice/StaticMethodAroundAdvice.java      |  4 ++--
 .../agent/api}/advice/TargetObject.java            |  3 +--
 .../agent/api}/definition/PluginDefinition.java    |  4 ++--
 .../agent/api}/point/ClassStaticMethodPoint.java   |  2 +-
 .../agent/api}/point/ConstructorPoint.java         |  2 +-
 .../agent/api}/point/InstanceMethodPoint.java      |  2 +-
 .../agent/api}/point/PluginInterceptorPoint.java   |  4 ++--
 .../agent/api/result}/MethodInvocationResult.java  |  3 +--
 .../agent}/config/AgentConfiguration.java          |  2 +-
 .../agent}/config/PluginConfiguration.java         |  2 +-
 .../agent}/config/RemotePluginConfiguration.java   |  2 +-
 .../shardingsphere/agent}/spi/AgentTypedSPI.java   |  2 +-
 .../agent/spi}/PluginBootService.java              |  7 +++----
 .../shardingsphere-agent-bootstrap/pom.xml         |  5 +++++
 .../agent/bootstrap/ShardingSphereAgent.java       | 10 +++++-----
 .../shardingsphere-agent-core/pom.xml              |  6 ++++++
 .../transformer/ShardingSphereTransformer.java     | 16 +++++++--------
 .../config/loader/AgentConfigurationLoader.java    |  2 +-
 .../swapper/YamlAgentConfigurationSwapper.java     |  4 ++--
 .../ConstructorMethodInterceptor.java              | 12 ++++++-----
 .../MethodAroundInterceptor.java                   | 17 +++++++++-------
 .../StaticMethodAroundInterceptor.java             | 16 ++++++++-------
 .../agent/core/plugin/loader/PluginLoader.java     |  6 +++---
 .../PluginBootServiceManager.java}                 | 11 ++++++-----
 .../agent/core/spi/AgentTypedSPIRegistry.java      | 21 +-------------------
 .../core/config/AgentConfigurationLoaderTest.java  |  1 +
 .../shardingsphere-agent-plugins/pom.xml           |  2 +-
 .../shardingsphere-agent-plugin-logging/pom.xml    |  2 +-
 .../base/advice/SchemaMetaDataLoaderAdvice.java    |  4 ++--
 .../definition/BaseLoggingPluginDefinition.java    |  2 +-
 .../shardingsphere-agent-plugin-metrics/pom.xml    |  2 +-
 .../shardingsphere-agent-metrics-api/pom.xml       |  6 ++++++
 .../agent/metrics/api/MetricsRegisterFactory.java  |  2 +-
 .../metrics/api/advice/ChannelHandlerAdvice.java   |  6 +++---
 .../api/advice/CommandExecutorTaskAdvice.java      |  6 +++---
 .../metrics/api/advice/SQLRouteEngineAdvice.java   |  6 +++---
 .../metrics/api/advice/TransactionAdvice.java      |  6 +++---
 .../api/definition/MetricsPluginDefinition.java    |  2 +-
 .../metrics/api/provider/MetricsProvider.java      |  4 ++--
 .../shardingsphere/agent/metrics/api/BaseTest.java |  2 +-
 .../service/PrometheusPluginBootService.java       |  4 ++--
 ...che.shardingsphere.agent.spi.PluginBootService} |  0
 .../shardingsphere-agent-plugin-tracing/pom.xml    |  2 +-
 .../jaeger/advice/CommandExecutorTaskAdvice.java   |  6 +++---
 .../jaeger/advice/JDBCExecutorCallbackAdvice.java  |  6 +++---
 .../jaeger/advice/SQLParserEngineAdvice.java       |  6 +++---
 .../jaeger/definition/JaegerPluginDefinition.java  |  2 +-
 .../service/JaegerTracingPluginBootService.java    |  4 ++--
 ...che.shardingsphere.agent.spi.PluginBootService} |  0
 .../zipkin/advice/CommandExecutorTaskAdvice.java   |  6 +++---
 .../zipkin/advice/JDBCExecutorCallbackAdvice.java  |  6 +++---
 .../zipkin/advice/SQLParserEngineAdvice.java       |  6 +++---
 .../zipkin/definition/ZipkinPluginDefinition.java  |  2 +-
 .../service/ZipkinTracingPluginBootService.java    |  4 ++--
 ...che.shardingsphere.agent.spi.PluginBootService} |  0
 60 files changed, 146 insertions(+), 160 deletions(-)

diff --git a/shardingsphere-agent/pom.xml b/shardingsphere-agent/pom.xml
index 858ee02..41c5fe7 100644
--- a/shardingsphere-agent/pom.xml
+++ b/shardingsphere-agent/pom.xml
@@ -34,6 +34,7 @@
         <module>shardingsphere-agent-core</module>
         <module>shardingsphere-agent-plugins</module>
         <module>shardingsphere-agent-distribution</module>
+        <module>shardingsphere-agent-api</module>
     </modules>
     
     <properties>
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/pom.xml b/shardingsphere-agent/shardingsphere-agent-api/pom.xml
similarity index 65%
copy from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/pom.xml
copy to shardingsphere-agent/shardingsphere-agent-api/pom.xml
index 03900e2..7ffaa34 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-api/pom.xml
@@ -22,27 +22,10 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.shardingsphere</groupId>
-        <artifactId>shardingsphere-agent-plugins</artifactId>
+        <artifactId>shardingsphere-agent</artifactId>
         <version>5.0.0-RC1-SNAPSHOT</version>
     </parent>
-    <artifactId>shardingsphere-agent-plugin-metrics</artifactId>
-    <packaging>pom</packaging>
+    <artifactId>shardingsphere-agent-api</artifactId>
     <name>${project.artifactId}</name>
-    
-    <modules>
-        <module>shardingsphere-agent-metrics-api</module>
-        <module>shardingsphere-agent-metrics-prometheus</module>
-    </modules>
-    
-    <properties>
-        <entrypoint.class/>
-        <metrics.target.directory>${project.basedir}/../target/plugins</metrics.target.directory>
-    </properties>
-    
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-agent-core</artifactId>
-        </dependency>
-    </dependencies>
+
 </project>
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/ConstructorAdvice.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/ConstructorAdvice.java
similarity index 95%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/ConstructorAdvice.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/ConstructorAdvice.java
index c2d3999..9c5cefc 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/ConstructorAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/ConstructorAdvice.java
@@ -13,10 +13,9 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- *
  */
 
-package org.apache.shardingsphere.agent.core.plugin.advice;
+package org.apache.shardingsphere.agent.api.advice;
 
 /**
  * Weaving the advice around the constructor of target class.
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/MethodAroundAdvice.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/MethodAroundAdvice.java
similarity index 94%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/MethodAroundAdvice.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/MethodAroundAdvice.java
index ba26060..d559299 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/MethodAroundAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/MethodAroundAdvice.java
@@ -13,12 +13,12 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- *
  */
 
-package org.apache.shardingsphere.agent.core.plugin.advice;
+package org.apache.shardingsphere.agent.api.advice;
 
 import java.lang.reflect.Method;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
 
 /**
  * Weaving the advice around the target method.
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/OverrideArgsInvoker.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/OverrideArgsInvoker.java
similarity index 94%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/OverrideArgsInvoker.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/OverrideArgsInvoker.java
index d3b5fd4..3cd7037 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/OverrideArgsInvoker.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/OverrideArgsInvoker.java
@@ -13,10 +13,9 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- *
  */
 
-package org.apache.shardingsphere.agent.core.plugin.advice;
+package org.apache.shardingsphere.agent.api.advice;
 
 /**
  * Super(origin) method invoker for ByteBuddy only.
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/StaticMethodAroundAdvice.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/StaticMethodAroundAdvice.java
similarity index 94%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/StaticMethodAroundAdvice.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/StaticMethodAroundAdvice.java
index 65cb0f5..78a5e3c 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/StaticMethodAroundAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/StaticMethodAroundAdvice.java
@@ -13,12 +13,12 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- *
  */
 
-package org.apache.shardingsphere.agent.core.plugin.advice;
+package org.apache.shardingsphere.agent.api.advice;
 
 import java.lang.reflect.Method;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
 
 /**
  * Weaving the advice around the static methods of target class.
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/TargetObject.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/TargetObject.java
similarity index 95%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/TargetObject.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/TargetObject.java
index b0b31af..a9ae8e9 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/TargetObject.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/advice/TargetObject.java
@@ -13,10 +13,9 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- *
  */
 
-package org.apache.shardingsphere.agent.core.plugin.advice;
+package org.apache.shardingsphere.agent.api.advice;
 
 /**
  * Wrapped class for target and provide a context to store variable during invocation.
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/definition/PluginDefinition.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/definition/PluginDefinition.java
similarity index 93%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/definition/PluginDefinition.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/definition/PluginDefinition.java
index ee86684..0dbd1a9 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/definition/PluginDefinition.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/definition/PluginDefinition.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.definition;
+package org.apache.shardingsphere.agent.api.definition;
 
 import com.google.common.collect.Maps;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.agent.core.plugin.point.PluginInterceptorPoint;
+import org.apache.shardingsphere.agent.api.point.PluginInterceptorPoint;
 
 import java.util.List;
 import java.util.Map;
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/point/ClassStaticMethodPoint.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/point/ClassStaticMethodPoint.java
similarity index 95%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/point/ClassStaticMethodPoint.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/point/ClassStaticMethodPoint.java
index 8e45f33..0bc3b62 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/point/ClassStaticMethodPoint.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/point/ClassStaticMethodPoint.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.shardingsphere.agent.core.plugin.point;
+package org.apache.shardingsphere.agent.api.point;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/point/ConstructorPoint.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/point/ConstructorPoint.java
similarity index 95%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/point/ConstructorPoint.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/point/ConstructorPoint.java
index b111235..0515da3 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/point/ConstructorPoint.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/point/ConstructorPoint.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.shardingsphere.agent.core.plugin.point;
+package org.apache.shardingsphere.agent.api.point;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/point/InstanceMethodPoint.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/point/InstanceMethodPoint.java
similarity index 95%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/point/InstanceMethodPoint.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/point/InstanceMethodPoint.java
index ad15360..a18229c 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/point/InstanceMethodPoint.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/point/InstanceMethodPoint.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.shardingsphere.agent.core.plugin.point;
+package org.apache.shardingsphere.agent.api.point;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/point/PluginInterceptorPoint.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/point/PluginInterceptorPoint.java
similarity index 99%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/point/PluginInterceptorPoint.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/point/PluginInterceptorPoint.java
index f09edb6..fecbe86 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/point/PluginInterceptorPoint.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/point/PluginInterceptorPoint.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.point;
+package org.apache.shardingsphere.agent.api.point;
 
 import com.google.common.collect.Lists;
 import java.util.Collections;
@@ -28,7 +28,7 @@ import net.bytebuddy.matcher.ElementMatchers;
 import java.util.List;
 
 /**
- * Plugin interceptor Point.
+ * Plugin interceptor point.
  *
  * <code>
  * PluginInterceptorPoint.intercept("Target.class")
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/MethodInvocationResult.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/result/MethodInvocationResult.java
similarity index 95%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/MethodInvocationResult.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/result/MethodInvocationResult.java
index c1ac84b..10b42fe 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/MethodInvocationResult.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/result/MethodInvocationResult.java
@@ -13,10 +13,9 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- *
  */
 
-package org.apache.shardingsphere.agent.core.plugin.advice;
+package org.apache.shardingsphere.agent.api.result;
 
 import lombok.Getter;
 
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/AgentConfiguration.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/config/AgentConfiguration.java
similarity index 96%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/AgentConfiguration.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/config/AgentConfiguration.java
index 745d645..7245886 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/AgentConfiguration.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/config/AgentConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.config;
+package org.apache.shardingsphere.agent.config;
 
 import java.util.HashMap;
 import java.util.HashSet;
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/PluginConfiguration.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/config/PluginConfiguration.java
similarity index 95%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/PluginConfiguration.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/config/PluginConfiguration.java
index 316832c..af61b31 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/PluginConfiguration.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/config/PluginConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.config;
+package org.apache.shardingsphere.agent.config;
 
 import java.util.Properties;
 import lombok.Getter;
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/RemotePluginConfiguration.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/config/RemotePluginConfiguration.java
similarity index 95%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/RemotePluginConfiguration.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/config/RemotePluginConfiguration.java
index c9daf18..426e2b5 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/RemotePluginConfiguration.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/config/RemotePluginConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.config;
+package org.apache.shardingsphere.agent.config;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentTypedSPI.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/AgentTypedSPI.java
similarity index 95%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentTypedSPI.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/AgentTypedSPI.java
index 49e69ec..c022226 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentTypedSPI.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/AgentTypedSPI.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.spi;
+package org.apache.shardingsphere.agent.spi;
 
 /**
  * Agent typed SPI.
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/PluginBootService.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java
similarity index 83%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/PluginBootService.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java
index 8ae9e7c..b0b5a73 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/PluginBootService.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java
@@ -15,13 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.service;
+package org.apache.shardingsphere.agent.spi;
 
-import org.apache.shardingsphere.agent.core.config.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.spi.AgentTypedSPI;
+import org.apache.shardingsphere.agent.config.PluginConfiguration;
 
 /**
- * Plugin boot service that the lifecycle is from the agent startup to shutdown.
+ * Plugin boot service that the lifecycle is from the agent start to shutdown.
  */
 public interface PluginBootService extends AgentTypedSPI, AutoCloseable {
     
diff --git a/shardingsphere-agent/shardingsphere-agent-bootstrap/pom.xml b/shardingsphere-agent/shardingsphere-agent-bootstrap/pom.xml
index 39eb810..e7467fe 100644
--- a/shardingsphere-agent/shardingsphere-agent-bootstrap/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-bootstrap/pom.xml
@@ -38,6 +38,11 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-agent-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-agent-core</artifactId>
             <version>${project.version}</version>
         </dependency>
diff --git a/shardingsphere-agent/shardingsphere-agent-bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/ShardingSphereAgent.java b/shardingsphere-agent/shardingsphere-agent-bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/ShardingSphereAgent.java
index bf30caa..776ae63 100644
--- a/shardingsphere-agent/shardingsphere-agent-bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/ShardingSphereAgent.java
+++ b/shardingsphere-agent/shardingsphere-agent-bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/ShardingSphereAgent.java
@@ -27,12 +27,12 @@ import net.bytebuddy.agent.builder.AgentBuilder;
 import net.bytebuddy.dynamic.scaffold.TypeValidation;
 import net.bytebuddy.matcher.ElementMatchers;
 import org.apache.shardingsphere.agent.core.config.cache.AgentObjectPool;
-import org.apache.shardingsphere.agent.core.config.AgentConfiguration;
-import org.apache.shardingsphere.agent.core.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.AgentConfiguration;
+import org.apache.shardingsphere.agent.config.PluginConfiguration;
 import org.apache.shardingsphere.agent.core.config.loader.AgentConfigurationLoader;
 import org.apache.shardingsphere.agent.core.bytebuddy.listener.LoggingListener;
 import org.apache.shardingsphere.agent.core.plugin.loader.PluginLoader;
-import org.apache.shardingsphere.agent.core.plugin.service.PluginServiceManager;
+import org.apache.shardingsphere.agent.core.plugin.manager.PluginBootServiceManager;
 import org.apache.shardingsphere.agent.core.bytebuddy.transformer.ShardingSphereTransformer;
 
 /**
@@ -63,8 +63,8 @@ public final class ShardingSphereAgent {
     }
     
     private static void setupPluginBootService(final Map<String, PluginConfiguration> pluginConfigurationMap) {
-        PluginServiceManager.startAllServices(pluginConfigurationMap);
-        Runtime.getRuntime().addShutdownHook(new Thread(PluginServiceManager::closeAllServices));
+        PluginBootServiceManager.startAllServices(pluginConfigurationMap);
+        Runtime.getRuntime().addShutdownHook(new Thread(PluginBootServiceManager::closeAllServices));
     }
     
     private static void setUpAgentBuilder(final Instrumentation instrumentation, final PluginLoader pluginLoader) {
diff --git a/shardingsphere-agent/shardingsphere-agent-core/pom.xml b/shardingsphere-agent/shardingsphere-agent-core/pom.xml
index 89cf5c3..abf28e2 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-core/pom.xml
@@ -30,6 +30,12 @@
     
     <dependencies>
         <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-agent-api</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>org.yaml</groupId>
             <artifactId>snakeyaml</artifactId>
         </dependency>
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformer.java b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformer.java
index 0fdd644..f4c0811 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformer.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformer.java
@@ -28,14 +28,14 @@ import net.bytebuddy.implementation.SuperMethodCall;
 import net.bytebuddy.jar.asm.Opcodes;
 import net.bytebuddy.utility.JavaModule;
 import org.apache.shardingsphere.agent.core.plugin.loader.PluginLoader;
-import org.apache.shardingsphere.agent.core.plugin.point.PluginInterceptorPoint;
-import org.apache.shardingsphere.agent.core.plugin.advice.ConstructorMethodInterceptor;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodAroundInterceptor;
-import org.apache.shardingsphere.agent.core.plugin.advice.StaticMethodAroundInterceptor;
-import org.apache.shardingsphere.agent.core.plugin.advice.TargetObject;
-import org.apache.shardingsphere.agent.core.plugin.point.ClassStaticMethodPoint;
-import org.apache.shardingsphere.agent.core.plugin.point.ConstructorPoint;
-import org.apache.shardingsphere.agent.core.plugin.point.InstanceMethodPoint;
+import org.apache.shardingsphere.agent.api.point.PluginInterceptorPoint;
+import org.apache.shardingsphere.agent.core.plugin.interceptor.ConstructorMethodInterceptor;
+import org.apache.shardingsphere.agent.core.plugin.interceptor.MethodAroundInterceptor;
+import org.apache.shardingsphere.agent.core.plugin.interceptor.StaticMethodAroundInterceptor;
+import org.apache.shardingsphere.agent.api.advice.TargetObject;
+import org.apache.shardingsphere.agent.api.point.ClassStaticMethodPoint;
+import org.apache.shardingsphere.agent.api.point.ConstructorPoint;
+import org.apache.shardingsphere.agent.api.point.InstanceMethodPoint;
 
 /**
  * ShardingSphere transformer.
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/loader/AgentConfigurationLoader.java b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/loader/AgentConfigurationLoader.java
index 5078619..7e7c30c 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/loader/AgentConfigurationLoader.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/loader/AgentConfigurationLoader.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.agent.core.config.loader;
 import com.google.common.base.Preconditions;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.agent.core.config.AgentConfiguration;
+import org.apache.shardingsphere.agent.config.AgentConfiguration;
 import org.apache.shardingsphere.agent.core.config.yaml.YamlAgentConfiguration;
 import org.apache.shardingsphere.agent.core.config.yaml.swapper.YamlAgentConfigurationSwapper;
 import org.apache.shardingsphere.agent.core.config.path.AgentPathBuilder;
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/YamlAgentConfigurationSwapper.java b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/YamlAgentConfigurationSwapper.java
index 02f2b8d..321a4ae 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/YamlAgentConfigurationSwapper.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/YamlAgentConfigurationSwapper.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.agent.core.config.yaml.swapper;
 
 import java.util.Map;
 import java.util.stream.Collectors;
-import org.apache.shardingsphere.agent.core.config.AgentConfiguration;
-import org.apache.shardingsphere.agent.core.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.AgentConfiguration;
+import org.apache.shardingsphere.agent.config.PluginConfiguration;
 import org.apache.shardingsphere.agent.core.config.yaml.YamlAgentConfiguration;
 import org.apache.shardingsphere.agent.core.config.yaml.YamlPluginConfiguration;
 
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/ConstructorMethodInterceptor.java b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/ConstructorMethodInterceptor.java
similarity index 82%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/ConstructorMethodInterceptor.java
rename to shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/ConstructorMethodInterceptor.java
index 5483918..aff812c 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/ConstructorMethodInterceptor.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/ConstructorMethodInterceptor.java
@@ -16,12 +16,14 @@
  *
  */
 
-package org.apache.shardingsphere.agent.core.plugin.advice;
+package org.apache.shardingsphere.agent.core.plugin.interceptor;
 
 import lombok.extern.slf4j.Slf4j;
 import net.bytebuddy.implementation.bind.annotation.AllArguments;
 import net.bytebuddy.implementation.bind.annotation.RuntimeType;
 import net.bytebuddy.implementation.bind.annotation.This;
+import org.apache.shardingsphere.agent.api.advice.ConstructorAdvice;
+import org.apache.shardingsphere.agent.api.advice.TargetObject;
 
 /**
  * Proxy class for ByteBuddy to intercept methods of target and weave post-method after constructor.
@@ -29,10 +31,10 @@ import net.bytebuddy.implementation.bind.annotation.This;
 @Slf4j
 public class ConstructorMethodInterceptor {
     
-    private final ConstructorAdvice advice;
+    private final ConstructorAdvice constructorAdvice;
     
-    public ConstructorMethodInterceptor(final ConstructorAdvice advice) {
-        this.advice = advice;
+    public ConstructorMethodInterceptor(final ConstructorAdvice constructorAdvice) {
+        this.constructorAdvice = constructorAdvice;
     }
     
     /**
@@ -44,7 +46,7 @@ public class ConstructorMethodInterceptor {
     @RuntimeType
     public void intercept(@This final TargetObject target, @AllArguments final Object[] args) {
         try {
-            advice.onConstructor(target, args);
+            constructorAdvice.onConstructor(target, args);
             // CHECKSTYLE:OFF
         } catch (final Throwable throwable) {
             // CHECKSTYLE:ON
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/MethodAroundInterceptor.java b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/MethodAroundInterceptor.java
similarity index 82%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/MethodAroundInterceptor.java
rename to shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/MethodAroundInterceptor.java
index 03983d2..9bd64d3 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/MethodAroundInterceptor.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/MethodAroundInterceptor.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.shardingsphere.agent.core.plugin.advice;
+package org.apache.shardingsphere.agent.core.plugin.interceptor;
 
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
@@ -28,6 +28,9 @@ import net.bytebuddy.implementation.bind.annotation.This;
 
 import java.lang.reflect.Method;
 import java.util.concurrent.Callable;
+import org.apache.shardingsphere.agent.api.advice.MethodAroundAdvice;
+import org.apache.shardingsphere.agent.api.advice.TargetObject;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
 
 /**
  * Proxy class for ByteBuddy to intercept methods of target and weave pre- and post-method around the target method.
@@ -35,10 +38,10 @@ import java.util.concurrent.Callable;
 @Slf4j
 public class MethodAroundInterceptor {
     
-    private final MethodAroundAdvice advice;
+    private final MethodAroundAdvice methodAroundAdvice;
     
-    public MethodAroundInterceptor(final MethodAroundAdvice advice) {
-        this.advice = advice;
+    public MethodAroundInterceptor(final MethodAroundAdvice methodAroundAdvice) {
+        this.methodAroundAdvice = methodAroundAdvice;
     }
     
     /**
@@ -57,7 +60,7 @@ public class MethodAroundInterceptor {
         MethodInvocationResult methodResult = new MethodInvocationResult();
         Object result;
         try {
-            advice.beforeMethod(instance, method, args, methodResult);
+            methodAroundAdvice.beforeMethod(instance, method, args, methodResult);
             // CHECKSTYLE:OFF
         } catch (final Throwable ex) {
             // CHECKSTYLE:ON
@@ -74,7 +77,7 @@ public class MethodAroundInterceptor {
         } catch (final Throwable ex) {
             // CHECKSTYLE:ON
             try {
-                advice.onThrowing(instance, method, args, ex);
+                methodAroundAdvice.onThrowing(instance, method, args, ex);
                 // CHECKSTYLE:OFF
             } catch (final Throwable ignored) {
                 // CHECKSTYLE:ON
@@ -83,7 +86,7 @@ public class MethodAroundInterceptor {
             throw ex;
         } finally {
             try {
-                advice.afterMethod(instance, method, args, methodResult);
+                methodAroundAdvice.afterMethod(instance, method, args, methodResult);
                 // CHECKSTYLE:OFF
             } catch (final Throwable ex) {
                 // CHECKSTYLE:ON
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/StaticMethodAroundInterceptor.java b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/StaticMethodAroundInterceptor.java
similarity index 83%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/StaticMethodAroundInterceptor.java
rename to shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/StaticMethodAroundInterceptor.java
index f72f19b..864bd20 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/advice/StaticMethodAroundInterceptor.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/StaticMethodAroundInterceptor.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.shardingsphere.agent.core.plugin.advice;
+package org.apache.shardingsphere.agent.core.plugin.interceptor;
 
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
@@ -27,6 +27,8 @@ import net.bytebuddy.implementation.bind.annotation.SuperCall;
 
 import java.lang.reflect.Method;
 import java.util.concurrent.Callable;
+import org.apache.shardingsphere.agent.api.advice.StaticMethodAroundAdvice;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
 
 /**
  * Proxy class for ByteBuddy to intercept methods of target and weave pre- and post-method around the target method.
@@ -34,10 +36,10 @@ import java.util.concurrent.Callable;
 @Slf4j
 public class StaticMethodAroundInterceptor {
     
-    private final StaticMethodAroundAdvice advice;
+    private final StaticMethodAroundAdvice staticMethodAroundAdvice;
     
-    public StaticMethodAroundInterceptor(final StaticMethodAroundAdvice advice) {
-        this.advice = advice;
+    public StaticMethodAroundInterceptor(final StaticMethodAroundAdvice staticMethodAroundAdvice) {
+        this.staticMethodAroundAdvice = staticMethodAroundAdvice;
     }
     
     /**
@@ -55,7 +57,7 @@ public class StaticMethodAroundInterceptor {
         MethodInvocationResult invocationResult = new MethodInvocationResult();
         Object result;
         try {
-            advice.beforeMethod(klass, method, args, invocationResult);
+            staticMethodAroundAdvice.beforeMethod(klass, method, args, invocationResult);
             // CHECKSTYLE:OFF
         } catch (final Throwable ex) {
             // CHECKSTYLE:ON
@@ -72,7 +74,7 @@ public class StaticMethodAroundInterceptor {
         } catch (final Throwable ex) {
             // CHECKSTYLE:ON
             try {
-                advice.onThrowing(klass, method, args, ex);
+                staticMethodAroundAdvice.onThrowing(klass, method, args, ex);
                 // CHECKSTYLE:OFF
             } catch (final Throwable ignored) {
                 // CHECKSTYLE:ON
@@ -81,7 +83,7 @@ public class StaticMethodAroundInterceptor {
             throw ex;
         } finally {
             try {
-                advice.afterMethod(klass, method, args, invocationResult);
+                staticMethodAroundAdvice.afterMethod(klass, method, args, invocationResult);
                 // CHECKSTYLE:OFF
             } catch (final Throwable ex) {
                 // CHECKSTYLE:ON
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/PluginLoader.java b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/PluginLoader.java
index cb69664..b6ee618 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/PluginLoader.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/PluginLoader.java
@@ -29,10 +29,10 @@ import net.bytebuddy.description.type.TypeDescription;
 import net.bytebuddy.matcher.ElementMatcher;
 import net.bytebuddy.matcher.ElementMatcher.Junction;
 import org.apache.shardingsphere.agent.core.config.cache.AgentObjectPool;
-import org.apache.shardingsphere.agent.core.config.AgentConfiguration;
+import org.apache.shardingsphere.agent.config.AgentConfiguration;
 import org.apache.shardingsphere.agent.core.config.path.AgentPathBuilder;
-import org.apache.shardingsphere.agent.core.plugin.definition.PluginDefinition;
-import org.apache.shardingsphere.agent.core.plugin.point.PluginInterceptorPoint;
+import org.apache.shardingsphere.agent.api.definition.PluginDefinition;
+import org.apache.shardingsphere.agent.api.point.PluginInterceptorPoint;
 
 import java.io.ByteArrayOutputStream;
 import java.io.Closeable;
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/PluginServiceManager.java b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/manager/PluginBootServiceManager.java
similarity index 86%
rename from shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/PluginServiceManager.java
rename to shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/manager/PluginBootServiceManager.java
index 9912133..ce7967e 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/PluginServiceManager.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/manager/PluginBootServiceManager.java
@@ -15,23 +15,24 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.plugin.service;
+package org.apache.shardingsphere.agent.core.plugin.manager;
 
 import java.util.Map;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.agent.core.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.config.PluginConfiguration;
 import org.apache.shardingsphere.agent.core.spi.AgentTypedSPIRegistry;
+import org.apache.shardingsphere.agent.spi.PluginBootService;
 
 /**
- * Plugin Service manager.
+ * Plugin boot service manager.
  */
 @Slf4j
-public final class PluginServiceManager {
+public final class PluginBootServiceManager {
     
     /**
      * Start all services.
      *
-     * @param pluginConfigurationMap plugin configurations
+     * @param pluginConfigurationMap plugin configuration map
      */
     public static void startAllServices(final Map<String, PluginConfiguration> pluginConfigurationMap) {
         for (Map.Entry<String, PluginConfiguration> entry: pluginConfigurationMap.entrySet()) {
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentTypedSPIRegistry.java b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentTypedSPIRegistry.java
index e821f50..97398d0 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentTypedSPIRegistry.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentTypedSPIRegistry.java
@@ -18,13 +18,11 @@
 package org.apache.shardingsphere.agent.core.spi;
 
 import java.util.Collection;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Objects;
 import java.util.Optional;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.agent.core.exception.AgentServiceProviderNotFoundException;
+import org.apache.shardingsphere.agent.spi.AgentTypedSPI;
 
 /**
  *  Agent typed SPI registry.
@@ -70,21 +68,4 @@ public final class AgentTypedSPIRegistry {
     public static <T extends AgentTypedSPI> Collection<T> getAllRegisteredService(final Class<T> typedSPIClass) {
         return AgentServiceLoader.getServiceLoader(typedSPIClass).newServiceInstances();
     }
-    
-    /**
-     * Get registered services.
-     *
-     * @param types types
-     * @param typedSPIClass typed SPI class
-     * @param <V> type of typed SPI class
-     * @return registered services
-     */
-    public static <V extends AgentTypedSPI> Map<String, V> getRegisteredServices(final Collection<String> types, final Class<V> typedSPIClass) {
-        Collection<V> registeredServices = AgentServiceLoader.getServiceLoader(typedSPIClass).newServiceInstances();
-        Map<String, V> result = new LinkedHashMap<>(registeredServices.size(), 1);
-        for (V each : registeredServices) {
-            types.stream().filter(type -> Objects.equals(each.getType(), type)).forEach(type -> result.put(type, each));
-        }
-        return result;
-    }
 }
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/test/java/org/apache/shardingsphere/agent/core/config/AgentConfigurationLoaderTest.java b/shardingsphere-agent/shardingsphere-agent-core/src/test/java/org/apache/shardingsphere/agent/core/config/AgentConfigurationLoaderTest.java
index 288dcd5..a09f1de 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/test/java/org/apache/shardingsphere/agent/core/config/AgentConfigurationLoaderTest.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/test/java/org/apache/shardingsphere/agent/core/config/AgentConfigurationLoaderTest.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.agent.core.config;
 
+import org.apache.shardingsphere.agent.config.AgentConfiguration;
 import org.apache.shardingsphere.agent.core.config.loader.AgentConfigurationLoader;
 import org.apache.shardingsphere.agent.core.config.path.AgentPathBuilder;
 import org.apache.shardingsphere.agent.core.util.ReflectiveUtil;
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/pom.xml b/shardingsphere-agent/shardingsphere-agent-plugins/pom.xml
index 37a960b..256b988 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/pom.xml
@@ -39,7 +39,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/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/pom.xml b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/pom.xml
index 9d119cb..6329b54 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/pom.xml
@@ -41,7 +41,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-agent-core</artifactId>
+            <artifactId>shardingsphere-agent-api</artifactId>
         </dependency>
     </dependencies>
     
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/advice/SchemaMetaDataLoaderAdvice.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/advice/SchemaMetaDataLoaderAdvice.java
index 8cdbd35..be51be5 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/advice/SchemaMetaDataLoaderAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/advice/SchemaMetaDataLoaderAdvice.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.agent.plugin.logging.base.advice;
 import java.lang.reflect.Method;
 import java.util.Collection;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodInvocationResult;
-import org.apache.shardingsphere.agent.core.plugin.advice.StaticMethodAroundAdvice;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
+import org.apache.shardingsphere.agent.api.advice.StaticMethodAroundAdvice;
 
 /**
  * Schema meta data loader advice.
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinition.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinition.java
index 8f71f15..982cd38 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinition.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinition.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.agent.plugin.logging.base.definition;
 
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.core.plugin.definition.PluginDefinition;
+import org.apache.shardingsphere.agent.api.definition.PluginDefinition;
 
 /**
  * Base logging plugin definition.
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/pom.xml b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/pom.xml
index 03900e2..fff3065 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/pom.xml
@@ -42,7 +42,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-agent-core</artifactId>
+            <artifactId>shardingsphere-agent-api</artifactId>
         </dependency>
     </dependencies>
 </project>
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/pom.xml b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/pom.xml
index ad4fe55..b503b05 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/pom.xml
@@ -35,6 +35,12 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-agent-core</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-infra-route</artifactId>
             <version>${project.version}</version>
             <scope>provided</scope>
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java
index 07aa45b..4a460d3 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.agent.metrics.api;
 
-import org.apache.shardingsphere.agent.core.spi.AgentTypedSPI;
+import org.apache.shardingsphere.agent.spi.AgentTypedSPI;
 
 /**
  * Metrics register factory.
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/ChannelHandlerAdvice.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/ChannelHandlerAdvice.java
index 34f940a..c14dfb9 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/ChannelHandlerAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/ChannelHandlerAdvice.java
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.agent.metrics.api.advice;
 
 import java.lang.reflect.Method;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodAroundAdvice;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodInvocationResult;
-import org.apache.shardingsphere.agent.core.plugin.advice.TargetObject;
+import org.apache.shardingsphere.agent.api.advice.MethodAroundAdvice;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
+import org.apache.shardingsphere.agent.api.advice.TargetObject;
 import org.apache.shardingsphere.agent.metrics.api.reporter.MetricsReporter;
 import org.apache.shardingsphere.agent.metrics.api.constant.MethodNameConstant;
 
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/CommandExecutorTaskAdvice.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/CommandExecutorTaskAdvice.java
index 1897d2c..c4d90a0 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/CommandExecutorTaskAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/CommandExecutorTaskAdvice.java
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.agent.metrics.api.advice;
 
 import java.lang.reflect.Method;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodAroundAdvice;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodInvocationResult;
-import org.apache.shardingsphere.agent.core.plugin.advice.TargetObject;
+import org.apache.shardingsphere.agent.api.advice.MethodAroundAdvice;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
+import org.apache.shardingsphere.agent.api.advice.TargetObject;
 import org.apache.shardingsphere.agent.metrics.api.reporter.MetricsReporter;
 import org.apache.shardingsphere.agent.metrics.api.threadlocal.ElapsedTimeThreadLocal;
 
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/SQLRouteEngineAdvice.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/SQLRouteEngineAdvice.java
index 0cb6e28..69f1dec 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/SQLRouteEngineAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/SQLRouteEngineAdvice.java
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.agent.metrics.api.advice;
 
 import java.lang.reflect.Method;
 import java.util.Collection;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodAroundAdvice;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodInvocationResult;
-import org.apache.shardingsphere.agent.core.plugin.advice.TargetObject;
+import org.apache.shardingsphere.agent.api.advice.MethodAroundAdvice;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
+import org.apache.shardingsphere.agent.api.advice.TargetObject;
 import org.apache.shardingsphere.agent.metrics.api.reporter.MetricsReporter;
 import org.apache.shardingsphere.infra.binder.LogicSQL;
 import org.apache.shardingsphere.infra.route.context.RouteContext;
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/TransactionAdvice.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/TransactionAdvice.java
index af835ba..7af913a 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/TransactionAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/advice/TransactionAdvice.java
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.agent.metrics.api.advice;
 
 import java.lang.reflect.Method;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodAroundAdvice;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodInvocationResult;
-import org.apache.shardingsphere.agent.core.plugin.advice.TargetObject;
+import org.apache.shardingsphere.agent.api.advice.MethodAroundAdvice;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
+import org.apache.shardingsphere.agent.api.advice.TargetObject;
 import org.apache.shardingsphere.agent.metrics.api.reporter.MetricsReporter;
 import org.apache.shardingsphere.agent.metrics.api.constant.MethodNameConstant;
 
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/definition/MetricsPluginDefinition.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/definition/MetricsPluginDefinition.java
index 91bfcd0..60449e0 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/definition/MetricsPluginDefinition.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/definition/MetricsPluginDefinition.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.agent.metrics.api.definition;
 
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.core.plugin.definition.PluginDefinition;
+import org.apache.shardingsphere.agent.api.definition.PluginDefinition;
 import org.apache.shardingsphere.agent.metrics.api.constant.MethodNameConstant;
 
 /**
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/provider/MetricsProvider.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/provider/MetricsProvider.java
index 95c5329..c57219e 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/provider/MetricsProvider.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/provider/MetricsProvider.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.agent.metrics.api.provider;
 
-import org.apache.shardingsphere.agent.core.config.AgentConfiguration;
-import org.apache.shardingsphere.agent.core.spi.AgentTypedSPIRegistry;
+import org.apache.shardingsphere.agent.config.AgentConfiguration;
 import org.apache.shardingsphere.agent.core.config.cache.AgentObjectPool;
+import org.apache.shardingsphere.agent.core.spi.AgentTypedSPIRegistry;
 import org.apache.shardingsphere.agent.metrics.api.MetricsRegister;
 import org.apache.shardingsphere.agent.metrics.api.MetricsRegisterFactory;
 
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/test/java/org/apache/shardingsphere/agent/metrics/api/BaseTest.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/test/java/org/apache/shardingsphere/agent/metrics/api/BaseTest.java
index 6fbc046..de0ef7b 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/test/java/org/apache/shardingsphere/agent/metrics/api/BaseTest.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/test/java/org/apache/shardingsphere/agent/metrics/api/BaseTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.agent.metrics.api;
 import java.io.File;
 import java.io.IOException;
 import java.net.URL;
-import org.apache.shardingsphere.agent.core.config.AgentConfiguration;
+import org.apache.shardingsphere.agent.config.AgentConfiguration;
 import org.apache.shardingsphere.agent.core.config.loader.AgentConfigurationLoader;
 import org.apache.shardingsphere.agent.core.config.cache.AgentObjectPool;
 import org.apache.shardingsphere.agent.core.config.path.AgentPathBuilder;
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootService.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootService.java
index 4f688db..3f61d34 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootService.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootService.java
@@ -21,8 +21,8 @@ import io.prometheus.client.CollectorRegistry;
 import io.prometheus.client.exporter.HTTPServer;
 import io.prometheus.client.hotspot.DefaultExports;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.agent.core.config.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.service.PluginBootService;
+import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.spi.PluginBootService;
 import org.apache.shardingsphere.agent.metrics.prometheus.collector.BuildInfoCollector;
 
 import java.io.IOException;
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.core.plugin.service.PluginBootService b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
similarity index 100%
rename from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.core.plugin.service.PluginBootService
rename to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/pom.xml b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/pom.xml
index e3ac2c3..695b0fd 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/pom.xml
@@ -42,7 +42,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-agent-core</artifactId>
+            <artifactId>shardingsphere-agent-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java
index ade21da..c35ba88 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice;
 import io.opentracing.Scope;
 import io.opentracing.tag.Tags;
 import io.opentracing.util.GlobalTracer;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodAroundAdvice;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodInvocationResult;
-import org.apache.shardingsphere.agent.core.plugin.advice.TargetObject;
+import org.apache.shardingsphere.agent.api.advice.MethodAroundAdvice;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
+import org.apache.shardingsphere.agent.api.advice.TargetObject;
 import org.apache.shardingsphere.agent.plugin.tracing.jaeger.span.JaegerErrorSpan;
 import org.apache.shardingsphere.agent.plugin.tracing.jaeger.constant.ShardingSphereTags;
 import org.apache.shardingsphere.infra.executor.kernel.model.ExecutorDataMap;
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java
index 6b7e60e..99dda53 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java
@@ -22,9 +22,9 @@ import io.opentracing.Span;
 import io.opentracing.Tracer;
 import io.opentracing.tag.Tags;
 import io.opentracing.util.GlobalTracer;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodAroundAdvice;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodInvocationResult;
-import org.apache.shardingsphere.agent.core.plugin.advice.TargetObject;
+import org.apache.shardingsphere.agent.api.advice.MethodAroundAdvice;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
+import org.apache.shardingsphere.agent.api.advice.TargetObject;
 import org.apache.shardingsphere.agent.plugin.tracing.jaeger.span.JaegerErrorSpan;
 import org.apache.shardingsphere.agent.plugin.tracing.jaeger.constant.ShardingSphereTags;
 import org.apache.shardingsphere.infra.executor.sql.context.ExecutionUnit;
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdvice.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdvice.java
index 89dd8cf..d15e038 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdvice.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice;
 import io.opentracing.Scope;
 import io.opentracing.tag.Tags;
 import io.opentracing.util.GlobalTracer;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodAroundAdvice;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodInvocationResult;
-import org.apache.shardingsphere.agent.core.plugin.advice.TargetObject;
+import org.apache.shardingsphere.agent.api.advice.MethodAroundAdvice;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
+import org.apache.shardingsphere.agent.api.advice.TargetObject;
 import org.apache.shardingsphere.agent.plugin.tracing.jaeger.span.JaegerErrorSpan;
 import org.apache.shardingsphere.agent.plugin.tracing.jaeger.constant.ShardingSphereTags;
 
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinition.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinition.java
index 478a562..eedf235 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinition.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinition.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition;
 
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.core.plugin.definition.PluginDefinition;
+import org.apache.shardingsphere.agent.api.definition.PluginDefinition;
 
 /**
  * Jaeger plugin definition.
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java
index 67e89fb..474109c 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.agent.plugin.tracing.jaeger.service;
 
 import io.jaegertracing.Configuration;
 import io.opentracing.util.GlobalTracer;
-import org.apache.shardingsphere.agent.core.config.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.service.PluginBootService;
+import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.spi.PluginBootService;
 
 /**
  * Jaeger tracing plugin boot service.
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.core.plugin.service.PluginBootService b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
similarity index 100%
rename from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.core.plugin.service.PluginBootService
rename to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java
index 4717b67..4b417f2 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice;
 import brave.Span;
 import brave.Tracing;
 import lombok.SneakyThrows;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodAroundAdvice;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodInvocationResult;
-import org.apache.shardingsphere.agent.core.plugin.advice.TargetObject;
+import org.apache.shardingsphere.agent.api.advice.MethodAroundAdvice;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
+import org.apache.shardingsphere.agent.api.advice.TargetObject;
 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.jdbc.connection.BackendConnection;
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java
index 1984e95..e8d91d2 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice;
 import brave.Span;
 import brave.Tracing;
 import lombok.SneakyThrows;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodAroundAdvice;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodInvocationResult;
-import org.apache.shardingsphere.agent.core.plugin.advice.TargetObject;
+import org.apache.shardingsphere.agent.api.advice.MethodAroundAdvice;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
+import org.apache.shardingsphere.agent.api.advice.TargetObject;
 import org.apache.shardingsphere.agent.plugin.tracing.zipkin.constant.ZipkinConstants;
 import org.apache.shardingsphere.infra.database.metadata.DataSourceMetaData;
 import org.apache.shardingsphere.infra.executor.sql.context.ExecutionUnit;
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdvice.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdvice.java
index 4bff743..0e99328 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdvice.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdvice.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice;
 import brave.Span;
 import brave.Tracing;
 import brave.propagation.TraceContext;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodAroundAdvice;
-import org.apache.shardingsphere.agent.core.plugin.advice.MethodInvocationResult;
-import org.apache.shardingsphere.agent.core.plugin.advice.TargetObject;
+import org.apache.shardingsphere.agent.api.advice.MethodAroundAdvice;
+import org.apache.shardingsphere.agent.api.result.MethodInvocationResult;
+import org.apache.shardingsphere.agent.api.advice.TargetObject;
 import org.apache.shardingsphere.agent.plugin.tracing.zipkin.constant.ZipkinConstants;
 import org.apache.shardingsphere.infra.executor.kernel.model.ExecutorDataMap;
 
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinition.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinition.java
index 3f0931c..2bacce0 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinition.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinition.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition;
 
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.core.plugin.definition.PluginDefinition;
+import org.apache.shardingsphere.agent.api.definition.PluginDefinition;
 
 /**
  * Zipkin plugin definition.
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
index afe43c5..c021c62 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
@@ -18,8 +18,8 @@
 package org.apache.shardingsphere.agent.plugin.tracing.zipkin.service;
 
 import brave.Tracing;
-import org.apache.shardingsphere.agent.core.config.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.service.PluginBootService;
+import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.spi.PluginBootService;
 import zipkin2.reporter.brave.AsyncZipkinSpanHandler;
 import zipkin2.reporter.okhttp3.OkHttpSender;
 
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.core.plugin.service.PluginBootService b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
similarity index 100%
rename from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.core.plugin.service.PluginBootService
rename to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService