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

zhangliang 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 c403136  refactor agent code (#8756)
c403136 is described below

commit c4031369b86c274e71b7a022facee3b332fe6005
Author: xiaoyu <[email protected]>
AuthorDate: Thu Dec 24 18:31:53 2020 +0800

    refactor agent code (#8756)
    
    * refactor agent code
---
 .../agent/bootstrap/ShardingSphereAgent.java       | 27 +++++-----
 .../core/config/JaegerPluginConfiguration.java     |  3 +-
 .../core/config/PrometheusPluginConfiguration.java |  3 +-
 .../core/config/ZipkinPluginConfiguration.java     |  3 +-
 .../config/loader/AgentConfigurationLoader.java    |  5 +-
 .../config/yaml/YamlJaegerPluginConfiguration.java |  3 +-
 .../yaml/YamlPrometheusPluginConfiguration.java    |  3 +-
 .../config/yaml/YamlZipkinPluginConfiguration.java |  3 +-
 .../JaegerPluginConfigurationYamlSwapper.java      |  3 +-
 .../PrometheusPluginConfigurationYamlSwapper.java  |  3 +-
 .../ZipkinPluginConfigurationYamlSwapper.java      |  3 +-
 .../agent/core/constant/AgentConstant.java         | 30 -----------
 .../{AgentPluginLoader.java => PluginLoader.java}  | 62 ++++++++++-----------
 .../{BootService.java => PluginBootService.java}   | 16 +++---
 ...ceSupervisor.java => PluginServiceManager.java} | 19 +++----
 .../agent/core/spi/AgentServiceLoader.java         |  4 +-
 .../transformer/ShardingSphereTransformer.java     | 14 ++---
 .../agent/core/base/ReflectiveUtil.java            | 63 ++++++++++++++++++++++
 .../core/config/AgentConfigurationLoaderTest.java  | 10 ++--
 .../shardingsphere/agent/metrics/api/BaseTest.java |  7 ++-
 .../agent/metrics/api/ReflectiveUtil.java          | 63 ++++++++++++++++++++++
 .../register/PrometheusMetricsRegisterFactory.java |  3 +-
 ...rvice.java => PrometheusPluginBootService.java} |  9 ++--
 ...re.agent.core.plugin.service.PluginBootService} |  2 +-
 .../jaeger/advice/CommandExecutorTaskAdvice.java   |  4 +-
 .../jaeger/advice/JDBCExecutorCallbackAdvice.java  |  4 +-
 .../jaeger/advice/SQLParserEngineAdvice.java       |  4 +-
 .../jaeger/definition/JaegerPluginDefinition.java  |  3 +-
 ...ce.java => JaegerTracingPluginBootService.java} |  9 ++--
 .../span/{ErrorSpan.java => JaegerErrorSpan.java}  |  4 +-
 ...re.agent.core.plugin.service.PluginBootService} |  2 +-
 .../zipkin/definition/ZipkinPluginDefinition.java  |  3 +-
 ...ce.java => ZipkinTracingPluginBootService.java} |  9 ++--
 ...re.agent.core.plugin.service.PluginBootService} |  2 +-
 34 files changed, 247 insertions(+), 158 deletions(-)

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 e81de27..a609c42 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
@@ -18,6 +18,8 @@
 package org.apache.shardingsphere.agent.bootstrap;
 
 import java.util.Collection;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import net.bytebuddy.ByteBuddy;
 import net.bytebuddy.agent.builder.AgentBuilder;
 import net.bytebuddy.dynamic.scaffold.TypeValidation;
@@ -27,8 +29,8 @@ import 
org.apache.shardingsphere.agent.core.config.PluginConfiguration;
 import org.apache.shardingsphere.agent.core.listener.LoggingListener;
 import 
org.apache.shardingsphere.agent.core.transformer.ShardingSphereTransformer;
 import 
org.apache.shardingsphere.agent.core.config.loader.AgentConfigurationLoader;
-import org.apache.shardingsphere.agent.core.plugin.loader.AgentPluginLoader;
-import org.apache.shardingsphere.agent.core.plugin.service.ServiceSupervisor;
+import org.apache.shardingsphere.agent.core.plugin.loader.PluginLoader;
+import 
org.apache.shardingsphere.agent.core.plugin.service.PluginServiceManager;
 import org.apache.shardingsphere.agent.core.cache.AgentObjectPool;
 
 import java.io.IOException;
@@ -37,6 +39,7 @@ import java.lang.instrument.Instrumentation;
 /**
  * ShardingSphere agent.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class ShardingSphereAgent {
     
     /**
@@ -49,27 +52,27 @@ public final class ShardingSphereAgent {
     public static void premain(final String arguments, final Instrumentation 
instrumentation) throws IOException {
         AgentConfiguration agentConfiguration = 
AgentConfigurationLoader.load();
         AgentObjectPool.INSTANCE.put(agentConfiguration);
-        AgentPluginLoader agentPluginLoader = createAgentPluginLoader();
-        setUpAgentBuilder(instrumentation, agentPluginLoader);
+        PluginLoader pluginLoader = createPluginLoader();
+        setUpAgentBuilder(instrumentation, pluginLoader);
         setupPluginBootService(agentConfiguration.getPluginConfigurations());
     }
     
-    private static AgentPluginLoader createAgentPluginLoader() throws 
IOException {
-        AgentPluginLoader result = AgentPluginLoader.getInstance();
+    private static PluginLoader createPluginLoader() throws IOException {
+        PluginLoader result = PluginLoader.getInstance();
         result.loadAllPlugins();
         return result;
     }
     
     private static void setupPluginBootService(final 
Collection<PluginConfiguration> pluginConfigurations) {
-        ServiceSupervisor.setupAllService(pluginConfigurations);
-        ServiceSupervisor.startAllService(pluginConfigurations);
-        Runtime.getRuntime().addShutdownHook(new 
Thread(ServiceSupervisor::clernAllService));
+        PluginServiceManager.setUpAllService(pluginConfigurations);
+        PluginServiceManager.startAllService(pluginConfigurations);
+        Runtime.getRuntime().addShutdownHook(new 
Thread(PluginServiceManager::cleanUpAllService));
     }
     
-    private static void setUpAgentBuilder(final Instrumentation 
instrumentation, final AgentPluginLoader agentPluginLoader) {
+    private static void setUpAgentBuilder(final Instrumentation 
instrumentation, final PluginLoader pluginLoader) {
         AgentBuilder agentBuilder = new AgentBuilder.Default().with(new 
ByteBuddy().with(TypeValidation.ENABLED))
                 
.ignore(ElementMatchers.isSynthetic()).or(ElementMatchers.nameStartsWith("org.apache.shardingsphere.agent."));
-        agentBuilder.type(agentPluginLoader.typeMatcher())
-                .transform(new 
ShardingSphereTransformer(agentPluginLoader)).with(AgentBuilder.RedefinitionStrategy.RETRANSFORMATION).with(new
 LoggingListener()).installOn(instrumentation);
+        agentBuilder.type(pluginLoader.typeMatcher())
+                .transform(new 
ShardingSphereTransformer(pluginLoader)).with(AgentBuilder.RedefinitionStrategy.RETRANSFORMATION).with(new
 LoggingListener()).installOn(instrumentation);
     }
 }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/JaegerPluginConfiguration.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/JaegerPluginConfiguration.java
index bf50b5f..e4c139c 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/JaegerPluginConfiguration.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/JaegerPluginConfiguration.java
@@ -21,7 +21,6 @@ import java.util.HashMap;
 import java.util.Map;
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
 
 /**
  * Jaeger plugin configuration.
@@ -40,6 +39,6 @@ public final class JaegerPluginConfiguration implements 
PluginConfiguration {
     
     @Override
     public String getPluginName() {
-        return AgentConstant.PLUGIN_NAME_JAEGER;
+        return "Jaeger";
     }
 }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/PrometheusPluginConfiguration.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/PrometheusPluginConfiguration.java
index f119afb..2799969 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/PrometheusPluginConfiguration.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/PrometheusPluginConfiguration.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.agent.core.config;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
 
 /**
  * Prometheus plugin configuration.
@@ -36,6 +35,6 @@ public final class PrometheusPluginConfiguration implements 
PluginConfiguration
     
     @Override
     public String getPluginName() {
-        return AgentConstant.PLUGIN_NAME_PROMETHEUS;
+        return "Prometheus";
     }
 }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/ZipkinPluginConfiguration.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/ZipkinPluginConfiguration.java
index 1c68186..5fbc684 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/ZipkinPluginConfiguration.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/ZipkinPluginConfiguration.java
@@ -21,7 +21,6 @@ import java.util.HashMap;
 import java.util.Map;
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
 
 /**
  * Zipkin plugin configuration.
@@ -38,6 +37,6 @@ public final class ZipkinPluginConfiguration implements 
PluginConfiguration {
     
     @Override
     public String getPluginName() {
-        return AgentConstant.PLUGIN_NAME_ZIPKIN;
+        return "Zipkin";
     }
 }
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 fd34f7a..d44b673 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
@@ -36,8 +36,6 @@ public final class AgentConfigurationLoader {
     
     private static final String DEFAULT_CONFIG_PATH = "/conf/agent.yaml";
     
-    private static final String SPECIFIED_CONFIG_PATH = "agent-path";
-    
     /**
      * Load configuration of ShardingSphere-Agent.
      *
@@ -45,8 +43,7 @@ public final class AgentConfigurationLoader {
      * @throws IOException IO exception
      */
     public static AgentConfiguration load() throws IOException {
-        String specifiedConfigPath = System.getProperty(SPECIFIED_CONFIG_PATH);
-        File configFile = null == specifiedConfigPath ? new 
File(AgentPathBuilder.getAgentPath(), DEFAULT_CONFIG_PATH) : new 
File(specifiedConfigPath);
+        File configFile = new File(AgentPathBuilder.getAgentPath(), 
DEFAULT_CONFIG_PATH);
         YamlAgentConfiguration yamlAgentConfiguration = 
loadAgentConfiguration(configFile);
         return new 
YamlAgentConfigurationSwapper().swap(yamlAgentConfiguration);
     }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/YamlJaegerPluginConfiguration.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/YamlJaegerPluginConfiguration.java
index ffb1bf5..29c883d 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/YamlJaegerPluginConfiguration.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/YamlJaegerPluginConfiguration.java
@@ -21,7 +21,6 @@ import java.util.HashMap;
 import java.util.Map;
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
 import 
org.apache.shardingsphere.agent.core.yaml.config.YamlPluginConfiguration;
 
 /**
@@ -39,6 +38,6 @@ public final class YamlJaegerPluginConfiguration implements 
YamlPluginConfigurat
     
     @Override
     public String getPluginName() {
-        return AgentConstant.PLUGIN_NAME_JAEGER;
+        return "Jaeger";
     }
 }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/YamlPrometheusPluginConfiguration.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/YamlPrometheusPluginConfiguration.java
index c6dd64a..2f1930f 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/YamlPrometheusPluginConfiguration.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/YamlPrometheusPluginConfiguration.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.agent.core.config.yaml;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
 import 
org.apache.shardingsphere.agent.core.yaml.config.YamlPluginConfiguration;
 
 /**
@@ -37,6 +36,6 @@ public class YamlPrometheusPluginConfiguration implements 
YamlPluginConfiguratio
     
     @Override
     public String getPluginName() {
-        return AgentConstant.PLUGIN_NAME_PROMETHEUS;
+        return "Prometheus";
     }
 }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/YamlZipkinPluginConfiguration.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/YamlZipkinPluginConfiguration.java
index 23580fd..aa2f7e4 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/YamlZipkinPluginConfiguration.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/YamlZipkinPluginConfiguration.java
@@ -21,7 +21,6 @@ import java.util.HashMap;
 import java.util.Map;
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
 import 
org.apache.shardingsphere.agent.core.yaml.config.YamlPluginConfiguration;
 
 /**
@@ -39,6 +38,6 @@ public class YamlZipkinPluginConfiguration implements 
YamlPluginConfiguration {
     
     @Override
     public String getPluginName() {
-        return AgentConstant.PLUGIN_NAME_ZIPKIN;
+        return "Zipkin";
     }
 }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/JaegerPluginConfigurationYamlSwapper.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/JaegerPluginConfigurationYamlSwapper.java
index 7320874..10080ec 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/JaegerPluginConfigurationYamlSwapper.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/JaegerPluginConfigurationYamlSwapper.java
@@ -19,7 +19,6 @@ package 
org.apache.shardingsphere.agent.core.config.yaml.swapper;
 
 import org.apache.shardingsphere.agent.core.config.JaegerPluginConfiguration;
 import 
org.apache.shardingsphere.agent.core.config.yaml.YamlJaegerPluginConfiguration;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
 import 
org.apache.shardingsphere.agent.core.yaml.swapper.YamlPluginConfigurationSwapper;
 
 /**
@@ -43,6 +42,6 @@ public final class JaegerPluginConfigurationYamlSwapper 
implements YamlPluginCon
     
     @Override
     public String getType() {
-        return AgentConstant.PLUGIN_NAME_JAEGER;
+        return "Jaeger";
     }
 }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/PrometheusPluginConfigurationYamlSwapper.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/PrometheusPluginConfigurationYamlSwapper.java
index 3cb67a8..e8b3d2d 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/PrometheusPluginConfigurationYamlSwapper.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/PrometheusPluginConfigurationYamlSwapper.java
@@ -19,7 +19,6 @@ package 
org.apache.shardingsphere.agent.core.config.yaml.swapper;
 
 import 
org.apache.shardingsphere.agent.core.config.PrometheusPluginConfiguration;
 import 
org.apache.shardingsphere.agent.core.config.yaml.YamlPrometheusPluginConfiguration;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
 import 
org.apache.shardingsphere.agent.core.yaml.swapper.YamlPluginConfigurationSwapper;
 
 /**
@@ -43,6 +42,6 @@ public final class PrometheusPluginConfigurationYamlSwapper 
implements YamlPlugi
     
     @Override
     public String getType() {
-        return AgentConstant.PLUGIN_NAME_PROMETHEUS;
+        return "Prometheus";
     }
 }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/ZipkinPluginConfigurationYamlSwapper.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/ZipkinPluginConfigurationYamlSwapper.java
index b80e158..a7d2d02 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/ZipkinPluginConfigurationYamlSwapper.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/config/yaml/swapper/ZipkinPluginConfigurationYamlSwapper.java
@@ -19,7 +19,6 @@ package 
org.apache.shardingsphere.agent.core.config.yaml.swapper;
 
 import org.apache.shardingsphere.agent.core.config.ZipkinPluginConfiguration;
 import 
org.apache.shardingsphere.agent.core.config.yaml.YamlZipkinPluginConfiguration;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
 import 
org.apache.shardingsphere.agent.core.yaml.swapper.YamlPluginConfigurationSwapper;
 
 /**
@@ -43,6 +42,6 @@ public final class ZipkinPluginConfigurationYamlSwapper 
implements YamlPluginCon
     
     @Override
     public String getType() {
-        return AgentConstant.PLUGIN_NAME_ZIPKIN;
+        return "Zipkin";
     }
 }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/constant/AgentConstant.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/constant/AgentConstant.java
deleted file mode 100644
index 224808b..0000000
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/constant/AgentConstant.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * 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.constant;
-
-/**
- * Agent constant.
- */
-public final class AgentConstant {
-    
-    public static final String PLUGIN_NAME_PROMETHEUS = "Prometheus";
-    
-    public static final String PLUGIN_NAME_JAEGER = "Jaeger";
-    
-    public static final String PLUGIN_NAME_ZIPKIN = "Zipkin";
-}
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AgentPluginLoader.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/PluginLoader.java
similarity index 94%
rename from 
shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AgentPluginLoader.java
rename to 
shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/PluginLoader.java
index 35715dc..314d756 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AgentPluginLoader.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/PluginLoader.java
@@ -55,16 +55,16 @@ import java.util.jar.Manifest;
 import java.util.zip.ZipEntry;
 
 /**
- * Agent plugin loader.
+ * Plugin loader.
  */
 @Slf4j
-public final class AgentPluginLoader extends ClassLoader implements Closeable {
+public final class PluginLoader extends ClassLoader implements Closeable {
     
     static {
         registerAsParallelCapable();
     }
     
-    private static volatile AgentPluginLoader agentPluginLoader;
+    private static volatile PluginLoader pluginLoader;
     
     private final ConcurrentHashMap<String, Object> objectPool = new 
ConcurrentHashMap<>();
     
@@ -74,24 +74,24 @@ public final class AgentPluginLoader extends ClassLoader 
implements Closeable {
     
     private Map<String, PluginInterceptorPoint> interceptorPointMap;
     
-    private AgentPluginLoader() {
-        super(AgentPluginLoader.class.getClassLoader());
+    private PluginLoader() {
+        super(PluginLoader.class.getClassLoader());
     }
     
     /**
-     * Get agent plugin loader instance.
+     * Get plugin loader instance.
      *
-     * @return agent plugin loader instance
+     * @return plugin loader instance
      */
-    public static AgentPluginLoader getInstance() {
-        if (null == agentPluginLoader) {
-            synchronized (AgentPluginLoader.class) {
-                if (null == agentPluginLoader) {
-                    agentPluginLoader = new AgentPluginLoader();
+    public static PluginLoader getInstance() {
+        if (null == pluginLoader) {
+            synchronized (PluginLoader.class) {
+                if (null == pluginLoader) {
+                    pluginLoader = new PluginLoader();
                 }
             }
         }
-        return agentPluginLoader;
+        return pluginLoader;
     }
     
     /**
@@ -228,24 +228,6 @@ public final class AgentPluginLoader extends ClassLoader 
implements Closeable {
         throw new ClassNotFoundException("Class " + name + " not found.");
     }
     
-    private String classNameToPath(final String className) {
-        return className.replace(".", "/") + ".class";
-    }
-    
-    private void definePackageInternal(final String packageName, final 
Manifest manifest) {
-        if (getPackage(packageName) != null) {
-            return;
-        }
-        Attributes attr = manifest.getMainAttributes();
-        String specTitle = attr.getValue(Attributes.Name.SPECIFICATION_TITLE);
-        String specVersion = 
attr.getValue(Attributes.Name.SPECIFICATION_VERSION);
-        String specVendor = 
attr.getValue(Attributes.Name.SPECIFICATION_VENDOR);
-        String implTitle = attr.getValue(Attributes.Name.IMPLEMENTATION_TITLE);
-        String implVersion = 
attr.getValue(Attributes.Name.IMPLEMENTATION_VERSION);
-        String implVendor = 
attr.getValue(Attributes.Name.IMPLEMENTATION_VENDOR);
-        super.definePackage(packageName, specTitle, specVersion, specVendor, 
implTitle, implVersion, implVendor, null);
-    }
-    
     @Override
     protected Enumeration<URL> findResources(final String name) {
         List<URL> resources = Lists.newArrayList();
@@ -286,6 +268,24 @@ public final class AgentPluginLoader extends ClassLoader 
implements Closeable {
         }
     }
     
+    private String classNameToPath(final String className) {
+        return className.replace(".", "/") + ".class";
+    }
+    
+    private void definePackageInternal(final String packageName, final 
Manifest manifest) {
+        if (null != getPackage(packageName)) {
+            return;
+        }
+        Attributes attr = manifest.getMainAttributes();
+        String specTitle = attr.getValue(Attributes.Name.SPECIFICATION_TITLE);
+        String specVersion = 
attr.getValue(Attributes.Name.SPECIFICATION_VERSION);
+        String specVendor = 
attr.getValue(Attributes.Name.SPECIFICATION_VENDOR);
+        String implTitle = attr.getValue(Attributes.Name.IMPLEMENTATION_TITLE);
+        String implVersion = 
attr.getValue(Attributes.Name.IMPLEMENTATION_VERSION);
+        String implVendor = 
attr.getValue(Attributes.Name.IMPLEMENTATION_VENDOR);
+        super.definePackage(packageName, specTitle, specVersion, specVendor, 
implTitle, implVersion, implVendor, null);
+    }
+    
     private void buildPluginInterceptorPointMap(final PluginDefinition 
pluginDefinition, final Map<String, PluginInterceptorPoint> pointMap) {
         pluginDefinition.build().forEach(each -> {
             String target = each.getClassNameOfTarget();
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/BootService.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/PluginBootService.java
similarity index 72%
rename from 
shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/BootService.java
rename to 
shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/PluginBootService.java
index 1f2e254..3fe0c93 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/BootService.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/PluginBootService.java
@@ -21,29 +21,29 @@ import 
org.apache.shardingsphere.agent.core.config.PluginConfiguration;
 import org.apache.shardingsphere.agent.core.spi.AgentTypedSPI;
 
 /**
- * Boot service that the lifecycle is from the agent startup to shutdown.
+ * Plugin boot service that the lifecycle is from the agent startup to 
shutdown.
  *
- * @param <T> plugin configuration
+ * @param <T> type of plugin configuration
  */
-public interface BootService<T extends PluginConfiguration> extends 
AgentTypedSPI {
+public interface PluginBootService<T extends PluginConfiguration> extends 
AgentTypedSPI {
     
     /**
-     * Setup the boot service, like to configure or to initial.
+     * Setup plugin boot service, like to configure or to initial.
      *
-     * @param configuration configuration
+     * @param configuration type of plugin configuration
      */
     void setup(T configuration);
     
     /**
-     * Start up the boot service.
+     * Start plugin boot service.
      *
-     * @param configuration configuration
+     * @param configuration type of plugin configuration
      */
     default void start(T configuration) {
     }
     
     /**
-     * Cleanup the boot service.
+     * Cleanup plugin boot service.
      */
     default void cleanup() {
     }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/ServiceSupervisor.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/PluginServiceManager.java
similarity index 80%
rename from 
shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/ServiceSupervisor.java
rename to 
shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/PluginServiceManager.java
index a548478..813d18e 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/ServiceSupervisor.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/service/PluginServiceManager.java
@@ -25,20 +25,20 @@ import 
org.apache.shardingsphere.agent.core.config.PluginConfiguration;
 import org.apache.shardingsphere.agent.core.spi.AgentTypedSPIRegistry;
 
 /**
- * Service supervisor.
+ * Plugin Service manager.
  */
 @Slf4j
-@SuppressWarnings("ALL")
-public final class ServiceSupervisor {
+public final class PluginServiceManager {
     
     /**
      * Set up all service.
      *
      * @param pluginConfigurations plugin configurations
      */
-    public static void setupAllService(final Collection<PluginConfiguration> 
pluginConfigurations) {
+    @SuppressWarnings(value = {"unchecked", "rawtypes"})
+    public static void setUpAllService(final Collection<PluginConfiguration> 
pluginConfigurations) {
         Collection<String> pluginNames = 
pluginConfigurations.stream().map(PluginConfiguration::getPluginName).collect(Collectors.toList());
-        for (Map.Entry<String, BootService> entry : 
AgentTypedSPIRegistry.getRegisteredServices(pluginNames, 
BootService.class).entrySet()) {
+        for (Map.Entry<String, PluginBootService> entry : 
AgentTypedSPIRegistry.getRegisteredServices(pluginNames, 
PluginBootService.class).entrySet()) {
             for (PluginConfiguration each : pluginConfigurations) {
                 if (each.getPluginName().equals(entry.getKey())) {
                     try {
@@ -58,9 +58,10 @@ public final class ServiceSupervisor {
      *
      * @param pluginConfigurations plugin configurations
      */
+    @SuppressWarnings(value = {"unchecked", "rawtypes"})
     public static void startAllService(final Collection<PluginConfiguration> 
pluginConfigurations) {
         Collection<String> pluginNames = 
pluginConfigurations.stream().map(PluginConfiguration::getPluginName).collect(Collectors.toList());
-        for (Map.Entry<String, BootService> entry : 
AgentTypedSPIRegistry.getRegisteredServices(pluginNames, 
BootService.class).entrySet()) {
+        for (Map.Entry<String, PluginBootService> entry : 
AgentTypedSPIRegistry.getRegisteredServices(pluginNames, 
PluginBootService.class).entrySet()) {
             for (PluginConfiguration each : pluginConfigurations) {
                 if (each.getPluginName().equals(entry.getKey())) {
                     try {
@@ -76,10 +77,10 @@ public final class ServiceSupervisor {
     }
     
     /**
-     * Clern all service.
+     * Clean up all service.
      */
-    public static void clernAllService() {
-        
AgentTypedSPIRegistry.getAllRegisteredService(BootService.class).forEach(each 
-> {
+    public static void cleanUpAllService() {
+        
AgentTypedSPIRegistry.getAllRegisteredService(PluginBootService.class).forEach(each
 -> {
             try {
                 each.cleanup();
                 // CHECKSTYLE:OFF
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentServiceLoader.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentServiceLoader.java
index f6f08fa..ebb9d6c 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentServiceLoader.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentServiceLoader.java
@@ -22,7 +22,7 @@ import java.util.LinkedList;
 import java.util.Map;
 import java.util.ServiceLoader;
 import java.util.concurrent.ConcurrentHashMap;
-import org.apache.shardingsphere.agent.core.plugin.loader.AgentPluginLoader;
+import org.apache.shardingsphere.agent.core.plugin.loader.PluginLoader;
 
 /**
  * Agent service loader.
@@ -77,7 +77,7 @@ public final class AgentServiceLoader<T> {
             return;
         }
         serviceMap.put(service, new LinkedList<>());
-        for (T each : ServiceLoader.load(service, 
AgentPluginLoader.getInstance())) {
+        for (T each : ServiceLoader.load(service, PluginLoader.getInstance())) 
{
             serviceMap.get(service).add(each);
         }
     }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/transformer/ShardingSphereTransformer.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/transformer/ShardingSphereTransformer.java
index 370f1eb..7ca5aad 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/transformer/ShardingSphereTransformer.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/transformer/ShardingSphereTransformer.java
@@ -27,7 +27,7 @@ import net.bytebuddy.implementation.MethodDelegation;
 import net.bytebuddy.implementation.SuperMethodCall;
 import net.bytebuddy.jar.asm.Opcodes;
 import net.bytebuddy.utility.JavaModule;
-import org.apache.shardingsphere.agent.core.plugin.loader.AgentPluginLoader;
+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;
@@ -46,16 +46,16 @@ public final class ShardingSphereTransformer implements 
Transformer {
     
     private static final String EXTRA_DATA = "_$EXTRA_DATA$_";
     
-    private final AgentPluginLoader agentPluginLoader;
+    private final PluginLoader pluginLoader;
     
     @Override
     public Builder<?> transform(final Builder<?> builder, final 
TypeDescription typeDescription, final ClassLoader classLoader, final 
JavaModule module) {
-        if (agentPluginLoader.containsType(typeDescription)) {
+        if (pluginLoader.containsType(typeDescription)) {
             Builder<?> newBuilder = builder;
             newBuilder = newBuilder.defineField(EXTRA_DATA, Object.class, 
Opcodes.ACC_PRIVATE | Opcodes.ACC_VOLATILE)
                     .implement(TargetObject.class)
                     .intercept(FieldAccessor.ofField(EXTRA_DATA));
-            PluginInterceptorPoint pluginInterceptorPoint = 
agentPluginLoader.loadPluginInterceptorPoint(typeDescription);
+            PluginInterceptorPoint pluginInterceptorPoint = 
pluginLoader.loadPluginInterceptorPoint(typeDescription);
             newBuilder = interceptorConstructorPoint(pluginInterceptorPoint, 
newBuilder);
             newBuilder = 
interceptorClassStaticMethodPoint(pluginInterceptorPoint, newBuilder);
             newBuilder = 
interceptorInstanceMethodPoint(pluginInterceptorPoint, newBuilder);
@@ -67,7 +67,7 @@ public final class ShardingSphereTransformer implements 
Transformer {
     private Builder<?> interceptorConstructorPoint(final 
PluginInterceptorPoint pluginInterceptorPoint, final Builder<?> builder) {
         for (ConstructorPoint each : 
pluginInterceptorPoint.getConstructorPoints()) {
             try {
-                ConstructorMethodInterceptor interceptor = new 
ConstructorMethodInterceptor(agentPluginLoader.getOrCreateInstance(each.getAdvice()));
+                ConstructorMethodInterceptor interceptor = new 
ConstructorMethodInterceptor(pluginLoader.getOrCreateInstance(each.getAdvice()));
                 return 
builder.constructor(each.getMatcher()).intercept(SuperMethodCall.INSTANCE.andThen(MethodDelegation.withDefaultConfiguration().to(interceptor)));
                 // CHECKSTYLE:OFF
             } catch (final Throwable ex) {
@@ -81,7 +81,7 @@ public final class ShardingSphereTransformer implements 
Transformer {
     private Builder<?> interceptorClassStaticMethodPoint(final 
PluginInterceptorPoint pluginInterceptorPoint, final Builder<?> builder) {
         for (ClassStaticMethodPoint each : 
pluginInterceptorPoint.getClassStaticMethodPoints()) {
             try {
-                StaticMethodAroundInterceptor interceptor = new 
StaticMethodAroundInterceptor(agentPluginLoader.getOrCreateInstance(each.getAdvice()));
+                StaticMethodAroundInterceptor interceptor = new 
StaticMethodAroundInterceptor(pluginLoader.getOrCreateInstance(each.getAdvice()));
                 return 
builder.method(each.getMatcher()).intercept(MethodDelegation.withDefaultConfiguration().to(interceptor));
                 // CHECKSTYLE:OFF
             } catch (final Throwable ex) {
@@ -95,7 +95,7 @@ public final class ShardingSphereTransformer implements 
Transformer {
     private Builder<?> interceptorInstanceMethodPoint(final 
PluginInterceptorPoint pluginInterceptorPoint, final Builder<?> builder) {
         for (InstanceMethodPoint each : 
pluginInterceptorPoint.getInstanceMethodPoints()) {
             try {
-                MethodAroundInterceptor interceptor = new 
MethodAroundInterceptor(agentPluginLoader.getOrCreateInstance(each.getAdvice()));
+                MethodAroundInterceptor interceptor = new 
MethodAroundInterceptor(pluginLoader.getOrCreateInstance(each.getAdvice()));
                 return 
builder.method(each.getMatcher()).intercept(MethodDelegation.withDefaultConfiguration().to(interceptor));
                 // CHECKSTYLE:OFF
             } catch (final Throwable ex) {
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/test/java/org/apache/shardingsphere/agent/core/base/ReflectiveUtil.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/test/java/org/apache/shardingsphere/agent/core/base/ReflectiveUtil.java
new file mode 100644
index 0000000..5a59e52
--- /dev/null
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/test/java/org/apache/shardingsphere/agent/core/base/ReflectiveUtil.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * 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.base;
+
+import com.google.common.base.Preconditions;
+import java.lang.reflect.Field;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+import lombok.SneakyThrows;
+
+/**
+ * Reflective utility.
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class ReflectiveUtil {
+    
+    /**
+     * Get field.
+     * @param target target
+     * @param fieldName field name
+     * @return field
+     */
+    private static Field getField(final Object target, final String fieldName) 
{
+        Class<?> clazz = target.getClass();
+        while (clazz != null) {
+            try {
+                return clazz.getDeclaredField(fieldName);
+            } catch (final NoSuchFieldException ignored) {
+            }
+            clazz = clazz.getSuperclass();
+        }
+        return null;
+    }
+    
+    /**
+     * Set value to specified field.
+     * @param target target
+     * @param fieldName field name
+     * @param value value
+     */
+    @SneakyThrows(ReflectiveOperationException.class)
+    public static void setProperty(final Object target, final String 
fieldName, final Object value) {
+        Field field = getField(target, fieldName);
+        Preconditions.checkNotNull(field);
+        field.setAccessible(true);
+        field.set(target, value);
+    }
+}
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 12580fc..457e8f1 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,9 +17,12 @@
 
 package org.apache.shardingsphere.agent.core.config;
 
+import java.io.File;
 import java.io.IOException;
 import java.net.URL;
+import org.apache.shardingsphere.agent.core.base.ReflectiveUtil;
 import 
org.apache.shardingsphere.agent.core.config.loader.AgentConfigurationLoader;
+import org.apache.shardingsphere.agent.core.path.AgentPathBuilder;
 import org.junit.Test;
 
 import static org.junit.Assert.assertNotNull;
@@ -30,13 +33,14 @@ public final class AgentConfigurationLoaderTest {
     
     @Test
     public void assertLoad() throws IOException {
-        System.setProperty("agent-path", getResourceUrl());
+        AgentPathBuilder builder = new AgentPathBuilder();
+        ReflectiveUtil.setProperty(builder, "agentPath", new 
File(getResourceUrl()));
         AgentConfiguration configuration = AgentConfigurationLoader.load();
         assertNotNull(configuration);
     }
     
-    private static String getResourceUrl() {
-        URL url = 
AgentConfigurationLoader.class.getResource(DEFAULT_CONFIG_PATH);
+    private String getResourceUrl() {
+        URL url = 
AgentConfigurationLoader.class.getClassLoader().getResource("");
         if (null != url) {
             return url.getFile();
         }
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 5e3257a..59918ea 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
@@ -17,11 +17,13 @@
 
 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.core.config.loader.AgentConfigurationLoader;
 import org.apache.shardingsphere.agent.core.cache.AgentObjectPool;
+import org.apache.shardingsphere.agent.core.path.AgentPathBuilder;
 import org.junit.Before;
 
 public class BaseTest {
@@ -30,13 +32,14 @@ public class BaseTest {
     
     @Before
     public void assertLoad() throws IOException {
-        System.setProperty("agent-path", getResourceUrl());
+        AgentPathBuilder builder = new AgentPathBuilder();
+        ReflectiveUtil.setProperty(builder, "agentPath", new 
File(getResourceUrl()));
         AgentConfiguration configuration = AgentConfigurationLoader.load();
         AgentObjectPool.INSTANCE.put(configuration);
     }
     
     private static String getResourceUrl() {
-        URL url = 
AgentConfigurationLoader.class.getResource(DEFAULT_CONFIG_PATH);
+        URL url = 
AgentConfigurationLoader.class.getClassLoader().getResource("");
         if (null != url) {
             return url.getFile();
         }
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/ReflectiveUtil.java
 
b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/test/java/org/apache/shardingsphere/agent/metrics/api/ReflectiveUtil.java
new file mode 100644
index 0000000..6bd8c59
--- /dev/null
+++ 
b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/test/java/org/apache/shardingsphere/agent/metrics/api/ReflectiveUtil.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * 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.metrics.api;
+
+import com.google.common.base.Preconditions;
+import java.lang.reflect.Field;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+import lombok.SneakyThrows;
+
+/**
+ * Reflective utility.
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class ReflectiveUtil {
+    
+    /**
+     * Get field.
+     * @param target target
+     * @param fieldName field name
+     * @return field
+     */
+    private static Field getField(final Object target, final String fieldName) 
{
+        Class<?> clazz = target.getClass();
+        while (clazz != null) {
+            try {
+                return clazz.getDeclaredField(fieldName);
+            } catch (final NoSuchFieldException ignored) {
+            }
+            clazz = clazz.getSuperclass();
+        }
+        return null;
+    }
+    
+    /**
+     * Set value to specified field.
+     * @param target target
+     * @param fieldName field name
+     * @param value value
+     */
+    @SneakyThrows(ReflectiveOperationException.class)
+    public static void setProperty(final Object target, final String 
fieldName, final Object value) {
+        Field field = getField(target, fieldName);
+        Preconditions.checkNotNull(field);
+        field.setAccessible(true);
+        field.set(target, value);
+    }
+}
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/register/PrometheusMetricsRegisterFactory.java
 
b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/register/PrometheusMetricsRegisterFactory.java
index 6d1bed8..5f6a3a9 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/register/PrometheusMetricsRegisterFactory.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/register/PrometheusMetricsRegisterFactory.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.agent.metrics.prometheus.register;
 
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
 import org.apache.shardingsphere.agent.metrics.api.MetricsRegister;
 import org.apache.shardingsphere.agent.metrics.api.MetricsRegisterFactory;
 
@@ -33,6 +32,6 @@ public final class PrometheusMetricsRegisterFactory 
implements MetricsRegisterFa
     
     @Override
     public String getType() {
-        return AgentConstant.PLUGIN_NAME_PROMETHEUS;
+        return "Prometheus";
     }
 }
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/PrometheusBootService.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
similarity index 90%
rename from 
shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusBootService.java
rename to 
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 02d9703..c72983f 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/PrometheusBootService.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
@@ -24,15 +24,14 @@ import java.io.IOException;
 import java.net.InetSocketAddress;
 import lombok.extern.slf4j.Slf4j;
 import 
org.apache.shardingsphere.agent.core.config.PrometheusPluginConfiguration;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
-import org.apache.shardingsphere.agent.core.plugin.service.BootService;
+import org.apache.shardingsphere.agent.core.plugin.service.PluginBootService;
 import 
org.apache.shardingsphere.agent.metrics.prometheus.collector.BuildInfoCollector;
 
 /**
- * Prometheus boot service.
+ * Prometheus plugin boot service.
  */
 @Slf4j
-public class PrometheusBootService implements 
BootService<PrometheusPluginConfiguration> {
+public class PrometheusPluginBootService implements 
PluginBootService<PrometheusPluginConfiguration> {
     
     private HTTPServer httpServer;
     
@@ -55,7 +54,7 @@ public class PrometheusBootService implements 
BootService<PrometheusPluginConfig
     
     @Override
     public String getType() {
-        return AgentConstant.PLUGIN_NAME_PROMETHEUS;
+        return "Prometheus";
     }
     
     private void registerJvm(final PrometheusPluginConfiguration 
configuration) {
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.BootService
 
b/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
similarity index 97%
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.BootService
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.core.plugin.service.PluginBootService
index 060f433..de7ecdf 100644
--- 
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.BootService
+++ 
b/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
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.metrics.prometheus.service.PrometheusBootService
+org.apache.shardingsphere.agent.metrics.prometheus.service.PrometheusPluginBootService
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 407f4c4..ade21da 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
@@ -23,7 +23,7 @@ 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.plugin.tracing.jaeger.span.ErrorSpan;
+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;
 
@@ -54,6 +54,6 @@ public final class CommandExecutorTaskAdvice implements 
MethodAroundAdvice {
     
     @Override
     public void onThrowing(final TargetObject target, final Method method, 
final Object[] args, final Throwable throwable) {
-        ErrorSpan.setError(GlobalTracer.get().activeSpan(), throwable);
+        JaegerErrorSpan.setError(GlobalTracer.get().activeSpan(), throwable);
     }
 }
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 ecd78be..6b7e60e 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
@@ -25,7 +25,7 @@ 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.plugin.tracing.jaeger.span.ErrorSpan;
+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;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit;
@@ -66,6 +66,6 @@ public final class JDBCExecutorCallbackAdvice implements 
MethodAroundAdvice {
     
     @Override
     public void onThrowing(final TargetObject target, final Method method, 
final Object[] args, final Throwable throwable) {
-        ErrorSpan.setError(GlobalTracer.get().activeSpan(), throwable);
+        JaegerErrorSpan.setError(GlobalTracer.get().activeSpan(), throwable);
     }
 }
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 1721474..89dd8cf 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
@@ -23,7 +23,7 @@ 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.plugin.tracing.jaeger.span.ErrorSpan;
+import 
org.apache.shardingsphere.agent.plugin.tracing.jaeger.span.JaegerErrorSpan;
 import 
org.apache.shardingsphere.agent.plugin.tracing.jaeger.constant.ShardingSphereTags;
 
 import java.lang.reflect.Method;
@@ -52,6 +52,6 @@ public final class SQLParserEngineAdvice implements 
MethodAroundAdvice {
     
     @Override
     public void onThrowing(final TargetObject target, final Method method, 
final Object[] args, final Throwable throwable) {
-        ErrorSpan.setError(GlobalTracer.get().activeSpan(), throwable);
+        JaegerErrorSpan.setError(GlobalTracer.get().activeSpan(), throwable);
     }
 }
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 7e8f703..478a562 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,6 @@
 package org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition;
 
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
 import org.apache.shardingsphere.agent.core.plugin.definition.PluginDefinition;
 
 /**
@@ -47,7 +46,7 @@ public final class JaegerPluginDefinition extends 
PluginDefinition {
     private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS = 
"org.apache.shardingsphere.agent.plugin.tracing.advice.JDBCExecutorCallbackAdvice";
     
     public JaegerPluginDefinition() {
-        super(AgentConstant.PLUGIN_NAME_JAEGER);
+        super("Jaeger");
     }
     
     @Override
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/JaegerTracingBootService.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
similarity index 86%
rename from 
shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingBootService.java
rename to 
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 b5dd7d9..af4332f 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/JaegerTracingBootService.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
@@ -20,13 +20,12 @@ 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.JaegerPluginConfiguration;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
-import org.apache.shardingsphere.agent.core.plugin.service.BootService;
+import org.apache.shardingsphere.agent.core.plugin.service.PluginBootService;
 
 /**
- * Jaeger tracing boot service.
+ * Jaeger tracing plugin boot service.
  */
-public final class JaegerTracingBootService implements 
BootService<JaegerPluginConfiguration> {
+public final class JaegerTracingPluginBootService implements 
PluginBootService<JaegerPluginConfiguration> {
     
     @Override
     public void setup(final JaegerPluginConfiguration configuration) {
@@ -46,6 +45,6 @@ public final class JaegerTracingBootService implements 
BootService<JaegerPluginC
     
     @Override
     public String getType() {
-        return AgentConstant.PLUGIN_NAME_JAEGER;
+        return "Jaeger";
     }
 }
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/span/ErrorSpan.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/span/JaegerErrorSpan.java
similarity index 96%
rename from 
shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/span/ErrorSpan.java
rename to 
shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/span/JaegerErrorSpan.java
index 825f302..6dd2279 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/span/ErrorSpan.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/span/JaegerErrorSpan.java
@@ -27,10 +27,10 @@ import java.util.HashMap;
 import java.util.Map;
 
 /**
- * Error span.
+ * Jaeger error span.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class ErrorSpan {
+public final class JaegerErrorSpan {
     
     /**
      * Set error.
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.BootService
 
b/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
similarity index 96%
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.BootService
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.core.plugin.service.PluginBootService
index b93c361..5fbf3d6 100644
--- 
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.BootService
+++ 
b/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
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.plugin.tracing.jaeger.service.JaegerTracingBootService
+org.apache.shardingsphere.agent.plugin.tracing.jaeger.service.JaegerTracingPluginBootService
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 bebdfa1..3f0931c 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,6 @@
 package org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition;
 
 import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
 import org.apache.shardingsphere.agent.core.plugin.definition.PluginDefinition;
 
 /**
@@ -47,7 +46,7 @@ public final class ZipkinPluginDefinition extends 
PluginDefinition {
     private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS = 
"org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.JDBCExecutorCallbackAdvice";
     
     public ZipkinPluginDefinition() {
-        super(AgentConstant.PLUGIN_NAME_ZIPKIN);
+        super("Zipkin");
     }
     
     @Override
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/ZipkinTracingBootService.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
similarity index 86%
rename from 
shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingBootService.java
rename to 
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 3725a91..b683269 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/ZipkinTracingBootService.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
@@ -19,15 +19,14 @@ package 
org.apache.shardingsphere.agent.plugin.tracing.zipkin.service;
 
 import brave.Tracing;
 import org.apache.shardingsphere.agent.core.config.ZipkinPluginConfiguration;
-import org.apache.shardingsphere.agent.core.constant.AgentConstant;
-import org.apache.shardingsphere.agent.core.plugin.service.BootService;
+import org.apache.shardingsphere.agent.core.plugin.service.PluginBootService;
 import zipkin2.reporter.brave.AsyncZipkinSpanHandler;
 import zipkin2.reporter.okhttp3.OkHttpSender;
 
 /**
- * Zipkin tracing boot service.
+ * Zipkin tracing plugin boot service.
  */
-public final class ZipkinTracingBootService implements 
BootService<ZipkinPluginConfiguration> {
+public final class ZipkinTracingPluginBootService implements 
PluginBootService<ZipkinPluginConfiguration> {
     
     private AsyncZipkinSpanHandler zipkinSpanHandler;
     
@@ -55,7 +54,7 @@ public final class ZipkinTracingBootService implements 
BootService<ZipkinPluginC
     
     @Override
     public String getType() {
-        return AgentConstant.PLUGIN_NAME_ZIPKIN;
+        return "Zipkin";
     }
     
     private String buildHttpPath(final ZipkinPluginConfiguration 
configuration) {
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.BootService
 
b/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
similarity index 96%
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.BootService
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.core.plugin.service.PluginBootService
index 7e13d19..576ca6d 100644
--- 
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.BootService
+++ 
b/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
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.plugin.tracing.zipkin.service.ZipkinTracingBootService
+org.apache.shardingsphere.agent.plugin.tracing.zipkin.service.ZipkinTracingPluginBootService

Reply via email to