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

duanzhengqiang 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 b90edc41643 Rename PluginDefinitionService to 
PointcutDefinitionService (#22847)
b90edc41643 is described below

commit b90edc416431b8906e6da91cbcc8b644ff84b1df
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Dec 13 16:26:12 2022 +0800

    Rename PluginDefinitionService to PointcutDefinitionService (#22847)
---
 ...Service.java => PointcutDefinitionService.java} | 20 ++++--
 ...e.java => PointcutDefinitionServiceEngine.java} | 29 ++++----
 .../agent/core/plugin/AgentPluginLoader.java       | 10 +--
 ...a => BaseLoggingPointcutDefinitionService.java} | 32 +++++----
 ...dingsphere.agent.spi.PointcutDefinitionService} |  2 +-
 .../PrometheusPluginDefinitionService.java         | 67 -------------------
 .../PrometheusPointcutDefinitionService.java       | 78 ++++++++++++++++++++++
 ...dingsphere.agent.spi.PointcutDefinitionService} |  2 +-
 ...> PrometheusPointcutDefinitionServiceTest.java} |  9 +--
 .../tracing/core/advice/TracingAdviceEngine.java   | 28 +++++---
 .../core/advice/adviser/TracingAdviser.java        |  4 +-
 .../adviser/impl/CommandExecutorTaskAdviser.java   | 12 ++--
 .../adviser/impl/JDBCExecutorCallbackAdviser.java  | 14 ++--
 .../adviser/impl/SQLParserEngineAdviser.java       | 12 ++--
 ...e.java => JaegerPointcutDefinitionService.java} | 19 +++---
 ...dingsphere.agent.spi.PointcutDefinitionService} |  2 +-
 ...va => JaegerPointcutDefinitionServiceTest.java} |  9 +--
 ...TelemetryTracingPointcutDefinitionService.java} | 19 +++---
 ...dingsphere.agent.spi.PointcutDefinitionService} |  2 +-
 ...metryTracingPointcutDefinitionServiceTest.java} |  9 +--
 ...a => OpenTracingPointcutDefinitionService.java} | 19 +++---
 ...dingsphere.agent.spi.PointcutDefinitionService} |  2 +-
 ... OpenTracingPointcutDefinitionServiceTest.java} |  9 +--
 ...e.java => ZipkinPointcutDefinitionService.java} | 19 +++---
 ...dingsphere.agent.spi.PointcutDefinitionService} |  2 +-
 ...va => ZipkinPointcutDefinitionServiceTest.java} |  9 +--
 docs/document/content/dev-manual/agent.cn.md       | 12 ++--
 docs/document/content/dev-manual/agent.en.md       | 12 ++--
 28 files changed, 251 insertions(+), 212 deletions(-)

diff --git 
a/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginDefinitionService.java
 
b/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PointcutDefinitionService.java
similarity index 68%
rename from 
agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginDefinitionService.java
rename to 
agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PointcutDefinitionService.java
index 9f5acf95f1b..2fe311644d5 100644
--- 
a/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginDefinitionService.java
+++ 
b/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PointcutDefinitionService.java
@@ -17,18 +17,26 @@
 
 package org.apache.shardingsphere.agent.spi;
 
+import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
+
+import java.util.Collection;
+
 /**
- * Plugin definition service.
+ * Pointcut definition service.
  */
-public interface PluginDefinitionService extends AgentSPI {
+public interface PointcutDefinitionService extends AgentSPI {
     
     /**
-     * Install Proxy Interceptors.
+     * Get proxy pointcuts.
+     * 
+     * @return proxy pointcuts
      */
-    void installProxyInterceptors();
+    Collection<ClassPointcuts> getProxyPointcuts();
     
     /**
-     * Install JDBC Interceptors.
+     * Get JDBC pointcuts.
+     * 
+     * @return JDBC pointcuts
      */
-    void installJdbcInterceptors();
+    Collection<ClassPointcuts> getJDBCPointcuts();
 }
diff --git 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/PluginDefinitionServiceEngine.java
 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/PointcutDefinitionServiceEngine.java
similarity index 56%
rename from 
agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/PluginDefinitionServiceEngine.java
rename to 
agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/PointcutDefinitionServiceEngine.java
index 01b60990024..5eb46e1742b 100644
--- 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/PluginDefinitionServiceEngine.java
+++ 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/PointcutDefinitionServiceEngine.java
@@ -19,40 +19,35 @@ package org.apache.shardingsphere.agent.core.definition;
 
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
+import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
 
 import java.util.Collection;
 
 /**
- * Plugin definition service engine.
+ * Pointcut definition service engine.
  */
 @RequiredArgsConstructor
-public final class PluginDefinitionServiceEngine {
+public final class PointcutDefinitionServiceEngine {
     
-    private final PluginDefinitionService pluginDefinitionService;
+    private final PointcutDefinitionService pointcutDefinitionService;
     
     /**
-     * Get class pointcuts.
+     * Get pointcuts.
      *
      * @param targetClassName target class name
-     * @return class pointcuts
+     * @return pointcuts
      */
-    public ClassPointcuts getClassPointcuts(final String targetClassName) {
-        return 
ClassPointcutsRegistryFactory.getRegistry(pluginDefinitionService.getType()).getClassPointcuts(targetClassName);
+    public ClassPointcuts getAllPointcuts(final String targetClassName) {
+        return 
ClassPointcutsRegistryFactory.getRegistry(pointcutDefinitionService.getType()).getClassPointcuts(targetClassName);
     }
     
     /**
-     * Install plugins.
+     * Get all pointcuts.
      * 
      * @param isEnhancedForProxy is enhanced for proxy
-     * @return class pointcuts
+     * @return all pointcuts
      */
-    public Collection<ClassPointcuts> install(final boolean 
isEnhancedForProxy) {
-        if (isEnhancedForProxy) {
-            pluginDefinitionService.installProxyInterceptors();
-        } else {
-            pluginDefinitionService.installJdbcInterceptors();
-        }
-        return 
ClassPointcutsRegistryFactory.getRegistry(pluginDefinitionService.getType()).getAllClassPointcuts();
+    public Collection<ClassPointcuts> getAllPointcuts(final boolean 
isEnhancedForProxy) {
+        return isEnhancedForProxy ? 
pointcutDefinitionService.getProxyPointcuts() : 
pointcutDefinitionService.getJDBCPointcuts();
     }
 }
diff --git 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/AgentPluginLoader.java
 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/AgentPluginLoader.java
index 7ecdd91e65c..a9fc20f346d 100644
--- 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/AgentPluginLoader.java
+++ 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/AgentPluginLoader.java
@@ -27,11 +27,11 @@ import 
org.apache.shardingsphere.agent.config.AgentConfiguration;
 import org.apache.shardingsphere.agent.core.common.AgentClassLoader;
 import org.apache.shardingsphere.agent.core.config.path.AgentPathBuilder;
 import 
org.apache.shardingsphere.agent.core.config.registry.AgentConfigurationRegistry;
-import 
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import 
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
 import org.apache.shardingsphere.agent.core.logging.LoggerFactory;
 import org.apache.shardingsphere.agent.core.spi.PluginServiceLoader;
 import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
+import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
 
 import java.io.File;
 import java.io.IOException;
@@ -99,14 +99,14 @@ public final class AgentPluginLoader implements 
PluginLoader {
     }
     
     private void loadPluginDefinitionServices(final Collection<String> 
pluginNames, final Map<String, ClassPointcuts> pointMap, final ClassLoader 
classLoader) {
-        PluginServiceLoader.newServiceInstances(PluginDefinitionService.class, 
classLoader)
+        
PluginServiceLoader.newServiceInstances(PointcutDefinitionService.class, 
classLoader)
                 .stream()
                 .filter(each -> pluginNames.contains(each.getType()))
                 .forEach(each -> buildPluginInterceptorPointMap(each, 
pointMap));
     }
     
-    private void buildPluginInterceptorPointMap(final PluginDefinitionService 
pluginDefinitionService, final Map<String, ClassPointcuts> pointMap) {
-        new 
PluginDefinitionServiceEngine(pluginDefinitionService).install(isEnhancedForProxy).forEach(each
 -> {
+    private void buildPluginInterceptorPointMap(final 
PointcutDefinitionService pointcutDefinitionService, final Map<String, 
ClassPointcuts> pointMap) {
+        new 
PointcutDefinitionServiceEngine(pointcutDefinitionService).getAllPointcuts(isEnhancedForProxy).forEach(each
 -> {
             String target = each.getTargetClassName();
             if (pointMap.containsKey(target)) {
                 ClassPointcuts classPointcuts = pointMap.get(target);
diff --git 
a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java
 
b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPointcutDefinitionService.java
similarity index 58%
rename from 
agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java
rename to 
agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPointcutDefinitionService.java
index 30d50f09215..6ff53723df2 100644
--- 
a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java
+++ 
b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPointcutDefinitionService.java
@@ -18,15 +18,19 @@
 package org.apache.shardingsphere.agent.plugin.logging.base.definition;
 
 import net.bytebuddy.matcher.ElementMatchers;
-import 
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import 
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
 import 
org.apache.shardingsphere.agent.plugin.logging.base.advice.MetaDataContextsFactoryAdvice;
+import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
 import org.apache.shardingsphere.agent.pointcut.StaticMethodPointcut;
-import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
+import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+
+import java.util.Collection;
+import java.util.LinkedList;
 
 /**
- * Base logging plugin definition service.
+ * Base logging pointcut definition service.
  */
-public final class BaseLoggingPluginDefinitionService implements 
PluginDefinitionService {
+public final class BaseLoggingPointcutDefinitionService implements 
PointcutDefinitionService {
     
     private static final String SCHEMA_METADATA_LOADER_CLASS = 
"org.apache.shardingsphere.mode.metadata.MetaDataContextsFactory";
     
@@ -35,19 +39,23 @@ public final class BaseLoggingPluginDefinitionService 
implements PluginDefinitio
     private static final String SCHEMA_METADATA_LOADER_ADVICE_CLASS = 
MetaDataContextsFactoryAdvice.class.getName();
     
     @Override
-    public void installProxyInterceptors() {
-        installInterceptors();
+    public Collection<ClassPointcuts> getProxyPointcuts() {
+        return getClassPointcuts();
     }
     
     @Override
-    public void installJdbcInterceptors() {
-        installInterceptors();
+    public Collection<ClassPointcuts> getJDBCPointcuts() {
+        return getClassPointcuts();
     }
     
-    private void installInterceptors() {
-        PluginDefinitionServiceEngine engine = new 
PluginDefinitionServiceEngine(this);
-        
engine.getClassPointcuts(SCHEMA_METADATA_LOADER_CLASS).getStaticMethodPointcuts()
-                .add(new 
StaticMethodPointcut(ElementMatchers.named(SCHEMA_METADATA_LOADER_METHOD_NAME).and(ElementMatchers.takesArguments(4)),
 SCHEMA_METADATA_LOADER_ADVICE_CLASS));
+    private Collection<ClassPointcuts> getClassPointcuts() {
+        Collection<ClassPointcuts> result = new LinkedList<>();
+        PointcutDefinitionServiceEngine engine = new 
PointcutDefinitionServiceEngine(this);
+        ClassPointcuts classPointcuts = 
engine.getAllPointcuts(SCHEMA_METADATA_LOADER_CLASS);
+        classPointcuts.getStaticMethodPointcuts().add(
+                new 
StaticMethodPointcut(ElementMatchers.named(SCHEMA_METADATA_LOADER_METHOD_NAME).and(ElementMatchers.takesArguments(4)),
 SCHEMA_METADATA_LOADER_ADVICE_CLASS));
+        result.add(classPointcuts);
+        return result;
     }
     
     @Override
diff --git 
a/agent/plugins/logging/base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
 
b/agent/plugins/logging/base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
similarity index 95%
rename from 
agent/plugins/logging/base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
rename to 
agent/plugins/logging/base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
index f78ffaf4844..b98861d5ed1 100644
--- 
a/agent/plugins/logging/base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
+++ 
b/agent/plugins/logging/base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingPluginDefinitionService
+org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingPointcutDefinitionService
diff --git 
a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java
 
b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java
deleted file mode 100644
index 53a5fd6f144..00000000000
--- 
a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java
+++ /dev/null
@@ -1,67 +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.metrics.prometheus.definition;
-
-import net.bytebuddy.matcher.ElementMatchers;
-import 
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
-import org.apache.shardingsphere.agent.core.yaml.entity.Interceptor;
-import org.apache.shardingsphere.agent.core.yaml.entity.TargetPoint;
-import 
org.apache.shardingsphere.agent.core.yaml.swapper.InterceptorsYamlSwapper;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.pointcut.ConstructorPointcut;
-import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
-import org.apache.shardingsphere.agent.pointcut.StaticMethodPointcut;
-import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
-
-/**
- * Metrics plugin definition service.
- */
-public final class PrometheusPluginDefinitionService implements 
PluginDefinitionService {
-    
-    @Override
-    public void installProxyInterceptors() {
-        PluginDefinitionServiceEngine engine = new 
PluginDefinitionServiceEngine(this);
-        for (Interceptor each : new 
InterceptorsYamlSwapper().unmarshal(getClass().getResourceAsStream("/prometheus/interceptors.yaml")).getInterceptors())
 {
-            if (null == each.getTarget()) {
-                continue;
-            }
-            ClassPointcuts classPointcuts = 
engine.getClassPointcuts(each.getTarget());
-            if (null != each.getConstructAdvice() && 
!("".equals(each.getConstructAdvice()))) {
-                classPointcuts.getConstructorPointcuts().add(new 
ConstructorPointcut(ElementMatchers.isConstructor(), 
each.getConstructAdvice()));
-            }
-            String[] instancePoints = each.getPoints().stream().filter(i -> 
"instance".equals(i.getType())).map(TargetPoint::getName).toArray(String[]::new);
-            if (instancePoints.length > 0) {
-                classPointcuts.getInstanceMethodPointcuts().add(new 
InstanceMethodPointcut(ElementMatchers.namedOneOf(instancePoints), 
each.getInstanceAdvice()));
-            }
-            String[] staticPoints = each.getPoints().stream().filter(i -> 
"static".equals(i.getType())).map(TargetPoint::getName).toArray(String[]::new);
-            if (staticPoints.length > 0) {
-                classPointcuts.getStaticMethodPointcuts().add(new 
StaticMethodPointcut(ElementMatchers.namedOneOf(staticPoints), 
each.getStaticAdvice()));
-            }
-        }
-    }
-    
-    @Override
-    public void installJdbcInterceptors() {
-        // TODO add JDBC related interception
-    }
-    
-    @Override
-    public String getType() {
-        return "Prometheus";
-    }
-}
diff --git 
a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPointcutDefinitionService.java
 
b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPointcutDefinitionService.java
new file mode 100644
index 00000000000..b8952d9e6cb
--- /dev/null
+++ 
b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPointcutDefinitionService.java
@@ -0,0 +1,78 @@
+/*
+ * 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.prometheus.definition;
+
+import net.bytebuddy.matcher.ElementMatchers;
+import 
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
+import org.apache.shardingsphere.agent.core.yaml.entity.Interceptor;
+import org.apache.shardingsphere.agent.core.yaml.entity.TargetPoint;
+import 
org.apache.shardingsphere.agent.core.yaml.swapper.InterceptorsYamlSwapper;
+import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
+import org.apache.shardingsphere.agent.pointcut.ConstructorPointcut;
+import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
+import org.apache.shardingsphere.agent.pointcut.StaticMethodPointcut;
+import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedList;
+
+/**
+ * Metrics pointcut definition service.
+ */
+public final class PrometheusPointcutDefinitionService implements 
PointcutDefinitionService {
+    
+    @Override
+    public Collection<ClassPointcuts> getProxyPointcuts() {
+        Collection<ClassPointcuts> result = new LinkedList<>();
+        PointcutDefinitionServiceEngine engine = new 
PointcutDefinitionServiceEngine(this);
+        for (Interceptor each : new 
InterceptorsYamlSwapper().unmarshal(getClass().getResourceAsStream("/prometheus/interceptors.yaml")).getInterceptors())
 {
+            if (null != each.getTarget()) {
+                result.add(createClassPointcuts(engine, each));
+            }
+        }
+        return result;
+    }
+    
+    private ClassPointcuts createClassPointcuts(final 
PointcutDefinitionServiceEngine engine, final Interceptor interceptor) {
+        ClassPointcuts result = 
engine.getAllPointcuts(interceptor.getTarget());
+        if (null != interceptor.getConstructAdvice() && 
!("".equals(interceptor.getConstructAdvice()))) {
+            result.getConstructorPointcuts().add(new 
ConstructorPointcut(ElementMatchers.isConstructor(), 
interceptor.getConstructAdvice()));
+        }
+        String[] instancePoints = interceptor.getPoints().stream().filter(i -> 
"instance".equals(i.getType())).map(TargetPoint::getName).toArray(String[]::new);
+        if (instancePoints.length > 0) {
+            result.getInstanceMethodPointcuts().add(new 
InstanceMethodPointcut(ElementMatchers.namedOneOf(instancePoints), 
interceptor.getInstanceAdvice()));
+        }
+        String[] staticPoints = interceptor.getPoints().stream().filter(i -> 
"static".equals(i.getType())).map(TargetPoint::getName).toArray(String[]::new);
+        if (staticPoints.length > 0) {
+            result.getStaticMethodPointcuts().add(new 
StaticMethodPointcut(ElementMatchers.namedOneOf(staticPoints), 
interceptor.getStaticAdvice()));
+        }
+        return result;
+    }
+    
+    @Override
+    public Collection<ClassPointcuts> getJDBCPointcuts() {
+        // TODO add JDBC related interceptors
+        return Collections.emptyList();
+    }
+    
+    @Override
+    public String getType() {
+        return "Prometheus";
+    }
+}
diff --git 
a/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
 
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
similarity index 96%
rename from 
agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
rename to 
agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
index 3f2d3eb9c2a..474b5f33548 100644
--- 
a/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
+++ 
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.metrics.prometheus.definition.PrometheusPluginDefinitionService
+org.apache.shardingsphere.agent.metrics.prometheus.definition.PrometheusPointcutDefinitionService
diff --git 
a/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionServiceTest.java
 
b/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPointcutDefinitionServiceTest.java
similarity index 67%
rename from 
agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionServiceTest.java
rename to 
agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPointcutDefinitionServiceTest.java
index bb3a4e720bc..af351d1756e 100644
--- 
a/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionServiceTest.java
+++ 
b/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPointcutDefinitionServiceTest.java
@@ -17,18 +17,15 @@
 
 package org.apache.shardingsphere.agent.metrics.prometheus.definition;
 
-import 
org.apache.shardingsphere.agent.core.definition.ClassPointcutsRegistryFactory;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-public final class PrometheusPluginDefinitionServiceTest {
+public final class PrometheusPointcutDefinitionServiceTest {
     
     @Test
-    public void assertInstallProxyInterceptors() {
-        PrometheusPluginDefinitionService pluginDefinitionService = new 
PrometheusPluginDefinitionService();
-        pluginDefinitionService.installProxyInterceptors();
-        
assertThat(ClassPointcutsRegistryFactory.getRegistry(pluginDefinitionService.getType()).getAllClassPointcuts().size(),
 is(5));
+    public void assertGetProxyClassPointcuts() {
+        assertThat(new 
PrometheusPointcutDefinitionService().getProxyPointcuts().size(), is(5));
     }
 }
diff --git 
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingAdviceEngine.java
 
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingAdviceEngine.java
index 6aecace59d9..401cd697b21 100644
--- 
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingAdviceEngine.java
+++ 
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingAdviceEngine.java
@@ -18,11 +18,16 @@
 package org.apache.shardingsphere.agent.plugin.tracing.core.advice;
 
 import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import 
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
 import 
org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
 import 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl.CommandExecutorTaskAdviser;
 import 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl.JDBCExecutorCallbackAdviser;
 import 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl.SQLParserEngineAdviser;
+import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedList;
 
 /**
  * Tracing advice engine.
@@ -30,7 +35,7 @@ import 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl.S
 @RequiredArgsConstructor
 public final class TracingAdviceEngine {
     
-    private final PluginDefinitionServiceEngine engine;
+    private final PointcutDefinitionServiceEngine engine;
     
     /**
      * Advice proxy tracing.
@@ -38,18 +43,25 @@ public final class TracingAdviceEngine {
      * @param commandExecutorTaskAdvice command executor task advice
      * @param sqlParserEngineAdvice SQL parser engine advice
      * @param jdbcExecutorCallbackAdvice JDBC executor callback advice
+     * @return class pointcuts
      */
-    public void adviceProxyTracing(final Class<? extends 
InstanceMethodAroundAdvice> commandExecutorTaskAdvice,
-                                   final Class<? extends 
InstanceMethodAroundAdvice> sqlParserEngineAdvice, final Class<? extends 
InstanceMethodAroundAdvice> jdbcExecutorCallbackAdvice) {
-        new 
CommandExecutorTaskAdviser(engine).advice(commandExecutorTaskAdvice);
-        new SQLParserEngineAdviser(engine).advice(sqlParserEngineAdvice);
-        new 
JDBCExecutorCallbackAdviser(engine).advice(jdbcExecutorCallbackAdvice);
+    public Collection<ClassPointcuts> adviceProxy(final Class<? extends 
InstanceMethodAroundAdvice> commandExecutorTaskAdvice, final Class<? extends 
InstanceMethodAroundAdvice> sqlParserEngineAdvice,
+                                                  final Class<? extends 
InstanceMethodAroundAdvice> jdbcExecutorCallbackAdvice) {
+        // TODO load from YAML, please ref metrics
+        Collection<ClassPointcuts> result = new LinkedList<>();
+        result.add(new 
CommandExecutorTaskAdviser(engine).advice(commandExecutorTaskAdvice));
+        result.add(new 
SQLParserEngineAdviser(engine).advice(sqlParserEngineAdvice));
+        result.add(new 
JDBCExecutorCallbackAdviser(engine).advice(jdbcExecutorCallbackAdvice));
+        return result;
     }
     
     /**
      * Advice JDBC tracing.
+     * 
+     * @return class pointcuts
      */
-    public void adviceJDBCTracing() {
+    public Collection<ClassPointcuts> adviceJDBC() {
         // TODO
+        return Collections.emptyList();
     }
 }
diff --git 
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
 
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
index 8e5b58b889f..fa188a6f1a5 100644
--- 
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
+++ 
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
@@ -18,6 +18,7 @@
 package org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser;
 
 import 
org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
+import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
 
 /**
  * Tracing adviser.
@@ -28,6 +29,7 @@ public interface TracingAdviser {
      * Advice.
      * 
      * @param instanceMethodAroundAdvice instance method around advice
+     * @return class pointcuts
      */
-    void advice(Class<? extends InstanceMethodAroundAdvice> 
instanceMethodAroundAdvice);
+    ClassPointcuts advice(Class<? extends InstanceMethodAroundAdvice> 
instanceMethodAroundAdvice);
 }
diff --git 
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/CommandExecutorTaskAdviser.java
 
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/CommandExecutorTaskAdviser.java
index 521ec4e8d77..d32f5548afb 100644
--- 
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/CommandExecutorTaskAdviser.java
+++ 
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/CommandExecutorTaskAdviser.java
@@ -19,9 +19,10 @@ package 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl;
 
 import lombok.RequiredArgsConstructor;
 import net.bytebuddy.matcher.ElementMatchers;
-import 
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import 
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
 import 
org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
 import 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.TracingAdviser;
+import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
 import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
 
 /**
@@ -34,11 +35,12 @@ public final class CommandExecutorTaskAdviser implements 
TracingAdviser {
     
     private static final String TARGET_METHOD = "run";
     
-    private final PluginDefinitionServiceEngine engine;
+    private final PointcutDefinitionServiceEngine engine;
     
     @Override
-    public void advice(final Class<? extends InstanceMethodAroundAdvice> 
commandExecutorTaskAdvice) {
-        engine.getClassPointcuts(TARGET_CLASS).getInstanceMethodPointcuts()
-                .add(new 
InstanceMethodPointcut(ElementMatchers.named(TARGET_METHOD), 
commandExecutorTaskAdvice.getName()));
+    public ClassPointcuts advice(final Class<? extends 
InstanceMethodAroundAdvice> commandExecutorTaskAdvice) {
+        ClassPointcuts result = engine.getAllPointcuts(TARGET_CLASS);
+        result.getInstanceMethodPointcuts().add(new 
InstanceMethodPointcut(ElementMatchers.named(TARGET_METHOD), 
commandExecutorTaskAdvice.getName()));
+        return result;
     }
 }
diff --git 
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/JDBCExecutorCallbackAdviser.java
 
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/JDBCExecutorCallbackAdviser.java
index 8ec9ccf2e65..29577378d96 100644
--- 
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/JDBCExecutorCallbackAdviser.java
+++ 
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/JDBCExecutorCallbackAdviser.java
@@ -19,9 +19,10 @@ package 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl;
 
 import lombok.RequiredArgsConstructor;
 import net.bytebuddy.matcher.ElementMatchers;
-import 
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import 
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
 import 
org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
 import 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.TracingAdviser;
+import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
 import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
 
 /**
@@ -36,12 +37,13 @@ public final class JDBCExecutorCallbackAdviser implements 
TracingAdviser {
     
     private static final String TARGET_METHOD_FIRST_PARAM = 
"org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit";
     
-    private final PluginDefinitionServiceEngine engine;
+    private final PointcutDefinitionServiceEngine engine;
     
     @Override
-    public void advice(final Class<? extends InstanceMethodAroundAdvice> 
jdbcExecutorCallbackAdvice) {
-        engine.getClassPointcuts(TARGET_CLASS).getInstanceMethodPointcuts()
-                .add(new 
InstanceMethodPointcut(ElementMatchers.named(TARGET_METHOD).and(ElementMatchers.takesArgument(0,
 ElementMatchers.named(TARGET_METHOD_FIRST_PARAM))),
-                        jdbcExecutorCallbackAdvice.getName()));
+    public ClassPointcuts advice(final Class<? extends 
InstanceMethodAroundAdvice> jdbcExecutorCallbackAdvice) {
+        ClassPointcuts result = engine.getAllPointcuts(TARGET_CLASS);
+        result.getInstanceMethodPointcuts().add(new InstanceMethodPointcut(
+                
ElementMatchers.named(TARGET_METHOD).and(ElementMatchers.takesArgument(0, 
ElementMatchers.named(TARGET_METHOD_FIRST_PARAM))), 
jdbcExecutorCallbackAdvice.getName()));
+        return result;
     }
 }
diff --git 
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/SQLParserEngineAdviser.java
 
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/SQLParserEngineAdviser.java
index 83cea28e46a..84931e3d956 100644
--- 
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/SQLParserEngineAdviser.java
+++ 
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/SQLParserEngineAdviser.java
@@ -19,9 +19,10 @@ package 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl;
 
 import lombok.RequiredArgsConstructor;
 import net.bytebuddy.matcher.ElementMatchers;
-import 
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import 
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
 import 
org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
 import 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.TracingAdviser;
+import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
 import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
 
 /**
@@ -34,11 +35,12 @@ public final class SQLParserEngineAdviser implements 
TracingAdviser {
     
     private static final String TARGET_METHOD = "parse";
     
-    private final PluginDefinitionServiceEngine engine;
+    private final PointcutDefinitionServiceEngine engine;
     
     @Override
-    public void advice(final Class<? extends InstanceMethodAroundAdvice> 
sqlParserEngineAdvice) {
-        engine.getClassPointcuts(TARGET_CLASS).getInstanceMethodPointcuts()
-                .add(new 
InstanceMethodPointcut(ElementMatchers.named(TARGET_METHOD), 
sqlParserEngineAdvice.getName()));
+    public ClassPointcuts advice(final Class<? extends 
InstanceMethodAroundAdvice> sqlParserEngineAdvice) {
+        ClassPointcuts result = engine.getAllPointcuts(TARGET_CLASS);
+        result.getInstanceMethodPointcuts().add(new 
InstanceMethodPointcut(ElementMatchers.named(TARGET_METHOD), 
sqlParserEngineAdvice.getName()));
+        return result;
     }
 }
diff --git 
a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
 
b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPointcutDefinitionService.java
similarity index 62%
rename from 
agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
rename to 
agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPointcutDefinitionService.java
index d9a4127672e..948c4480038 100644
--- 
a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
+++ 
b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPointcutDefinitionService.java
@@ -17,25 +17,28 @@
 
 package org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition;
 
-import 
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import 
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
 import 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingAdviceEngine;
 import 
org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice.CommandExecutorTaskAdvice;
 import 
org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice.JDBCExecutorCallbackAdvice;
-import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
+import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
+import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+
+import java.util.Collection;
 
 /**
- * Jaeger plugin definition service.
+ * Jaeger pointcut definition service.
  */
-public final class JaegerPluginDefinitionService implements 
PluginDefinitionService {
+public final class JaegerPointcutDefinitionService implements 
PointcutDefinitionService {
     
     @Override
-    public void installProxyInterceptors() {
-        new TracingAdviceEngine(new 
PluginDefinitionServiceEngine(this)).adviceProxyTracing(CommandExecutorTaskAdvice.class,
 CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+    public Collection<ClassPointcuts> getProxyPointcuts() {
+        return new TracingAdviceEngine(new 
PointcutDefinitionServiceEngine(this)).adviceProxy(CommandExecutorTaskAdvice.class,
 CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
     }
     
     @Override
-    public void installJdbcInterceptors() {
-        new TracingAdviceEngine(new 
PluginDefinitionServiceEngine(this)).adviceJDBCTracing();
+    public Collection<ClassPointcuts> getJDBCPointcuts() {
+        return new TracingAdviceEngine(new 
PointcutDefinitionServiceEngine(this)).adviceJDBC();
     }
     
     @Override
diff --git 
a/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
 
b/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
similarity index 96%
rename from 
agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
rename to 
agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
index 3ddbb2b763b..aa4b757e206 100644
--- 
a/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
+++ 
b/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerPluginDefinitionService
+org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerPointcutDefinitionService
diff --git 
a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionServiceTest.java
 
b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPointcutDefinitionServiceTest.java
similarity index 67%
rename from 
agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionServiceTest.java
rename to 
agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPointcutDefinitionServiceTest.java
index 689cdcef3e8..e01ffebc546 100644
--- 
a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionServiceTest.java
+++ 
b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPointcutDefinitionServiceTest.java
@@ -17,18 +17,15 @@
 
 package org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition;
 
-import 
org.apache.shardingsphere.agent.core.definition.ClassPointcutsRegistryFactory;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-public final class JaegerPluginDefinitionServiceTest {
+public final class JaegerPointcutDefinitionServiceTest {
     
     @Test
-    public void assertInstallProxyInterceptors() {
-        JaegerPluginDefinitionService pluginDefinitionService = new 
JaegerPluginDefinitionService();
-        pluginDefinitionService.installProxyInterceptors();
-        
assertThat(ClassPointcutsRegistryFactory.getRegistry(pluginDefinitionService.getType()).getAllClassPointcuts().size(),
 is(3));
+    public void assertGetProxyClassPointcuts() {
+        assertThat(new 
JaegerPointcutDefinitionService().getProxyPointcuts().size(), is(3));
     }
 }
diff --git 
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
 
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPointcutDefinitionService.java
similarity index 62%
rename from 
agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
rename to 
agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPointcutDefinitionService.java
index e6072eb6ffa..efd4ee233a8 100644
--- 
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
+++ 
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPointcutDefinitionService.java
@@ -17,25 +17,28 @@
 
 package 
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition;
 
-import 
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import 
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
 import 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingAdviceEngine;
 import 
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice.CommandExecutorTaskAdvice;
 import 
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice.JDBCExecutorCallbackAdvice;
-import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
+import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
+import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+
+import java.util.Collection;
 
 /**
- * OpenTelemetry plugin definition service.
+ * OpenTelemetry pointcut definition service.
  */
-public final class OpenTelemetryTracingPluginDefinitionService implements 
PluginDefinitionService {
+public final class OpenTelemetryTracingPointcutDefinitionService implements 
PointcutDefinitionService {
     
     @Override
-    public void installProxyInterceptors() {
-        new TracingAdviceEngine(new 
PluginDefinitionServiceEngine(this)).adviceProxyTracing(CommandExecutorTaskAdvice.class,
 CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+    public Collection<ClassPointcuts> getProxyPointcuts() {
+        return new TracingAdviceEngine(new 
PointcutDefinitionServiceEngine(this)).adviceProxy(CommandExecutorTaskAdvice.class,
 CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
     }
     
     @Override
-    public void installJdbcInterceptors() {
-        new TracingAdviceEngine(new 
PluginDefinitionServiceEngine(this)).adviceJDBCTracing();
+    public Collection<ClassPointcuts> getJDBCPointcuts() {
+        return new TracingAdviceEngine(new 
PointcutDefinitionServiceEngine(this)).adviceJDBC();
     }
     
     @Override
diff --git 
a/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
 
b/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
similarity index 94%
rename from 
agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
rename to 
agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
index e1935c9c90c..5be3a927828 100644
--- 
a/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
+++ 
b/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition.OpenTelemetryTracingPluginDefinitionService
+org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition.OpenTelemetryTracingPointcutDefinitionService
diff --git 
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionServiceTest.java
 
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPointcutDefinitionServiceTest.java
similarity index 66%
rename from 
agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionServiceTest.java
rename to 
agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPointcutDefinitionServiceTest.java
index b677a1497bd..fcae69b572b 100644
--- 
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionServiceTest.java
+++ 
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPointcutDefinitionServiceTest.java
@@ -17,18 +17,15 @@
 
 package 
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition;
 
-import 
org.apache.shardingsphere.agent.core.definition.ClassPointcutsRegistryFactory;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-public final class OpenTelemetryTracingPluginDefinitionServiceTest {
+public final class OpenTelemetryTracingPointcutDefinitionServiceTest {
     
     @Test
-    public void assertInstallProxyInterceptors() {
-        OpenTelemetryTracingPluginDefinitionService pluginDefinitionService = 
new OpenTelemetryTracingPluginDefinitionService();
-        pluginDefinitionService.installProxyInterceptors();
-        
assertThat(ClassPointcutsRegistryFactory.getRegistry(pluginDefinitionService.getType()).getAllClassPointcuts().size(),
 is(3));
+    public void assertGetProxyClassPointcuts() {
+        assertThat(new 
OpenTelemetryTracingPointcutDefinitionService().getProxyPointcuts().size(), 
is(3));
     }
 }
diff --git 
a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
 
b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPointcutDefinitionService.java
similarity index 62%
rename from 
agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
rename to 
agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPointcutDefinitionService.java
index 14c203f6203..b815773e841 100644
--- 
a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
+++ 
b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPointcutDefinitionService.java
@@ -17,25 +17,28 @@
 
 package org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition;
 
-import 
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import 
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
 import 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingAdviceEngine;
 import 
org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice.CommandExecutorTaskAdvice;
 import 
org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice.JDBCExecutorCallbackAdvice;
-import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
+import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
+import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+
+import java.util.Collection;
 
 /**
- * Open tracing plugin definition service.
+ * Open tracing pointcut definition service.
  */
-public final class OpenTracingPluginDefinitionService implements 
PluginDefinitionService {
+public final class OpenTracingPointcutDefinitionService implements 
PointcutDefinitionService {
     
     @Override
-    public void installProxyInterceptors() {
-        new TracingAdviceEngine(new 
PluginDefinitionServiceEngine(this)).adviceProxyTracing(CommandExecutorTaskAdvice.class,
 CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+    public Collection<ClassPointcuts> getProxyPointcuts() {
+        return new TracingAdviceEngine(new 
PointcutDefinitionServiceEngine(this)).adviceProxy(CommandExecutorTaskAdvice.class,
 CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
     }
     
     @Override
-    public void installJdbcInterceptors() {
-        new TracingAdviceEngine(new 
PluginDefinitionServiceEngine(this)).adviceJDBCTracing();
+    public Collection<ClassPointcuts> getJDBCPointcuts() {
+        return new TracingAdviceEngine(new 
PointcutDefinitionServiceEngine(this)).adviceJDBC();
     }
     
     @Override
diff --git 
a/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
 
b/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
similarity index 95%
rename from 
agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
rename to 
agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
index 8dc7967e873..dceb2a9b065 100644
--- 
a/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
+++ 
b/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition.OpenTracingPluginDefinitionService
+org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition.OpenTracingPointcutDefinitionService
diff --git 
a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionServiceTest.java
 
b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPointcutDefinitionServiceTest.java
similarity index 67%
rename from 
agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionServiceTest.java
rename to 
agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPointcutDefinitionServiceTest.java
index ffd3a482a96..3b7b9e3270f 100644
--- 
a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionServiceTest.java
+++ 
b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPointcutDefinitionServiceTest.java
@@ -17,18 +17,15 @@
 
 package org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition;
 
-import 
org.apache.shardingsphere.agent.core.definition.ClassPointcutsRegistryFactory;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-public final class OpenTracingPluginDefinitionServiceTest {
+public final class OpenTracingPointcutDefinitionServiceTest {
     
     @Test
-    public void assertInstallProxyInterceptors() {
-        OpenTracingPluginDefinitionService pluginDefinitionService = new 
OpenTracingPluginDefinitionService();
-        pluginDefinitionService.installProxyInterceptors();
-        
assertThat(ClassPointcutsRegistryFactory.getRegistry(pluginDefinitionService.getType()).getAllClassPointcuts().size(),
 is(3));
+    public void assertGetProxyClassPointcuts() {
+        assertThat(new 
OpenTracingPointcutDefinitionService().getProxyPointcuts().size(), is(3));
     }
 }
diff --git 
a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
 
b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPointcutDefinitionService.java
similarity index 62%
rename from 
agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
rename to 
agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPointcutDefinitionService.java
index a408e4d154e..ae8f4cd8e0e 100644
--- 
a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
+++ 
b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPointcutDefinitionService.java
@@ -17,25 +17,28 @@
 
 package org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition;
 
-import 
org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+import 
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
 import 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingAdviceEngine;
 import 
org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.CommandExecutorTaskAdvice;
 import 
org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.JDBCExecutorCallbackAdvice;
-import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
+import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
+import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+
+import java.util.Collection;
 
 /**
- * Zipkin plugin definition service.
+ * Zipkin pointcut definition service.
  */
-public final class ZipkinPluginDefinitionService implements 
PluginDefinitionService {
+public final class ZipkinPointcutDefinitionService implements 
PointcutDefinitionService {
     
     @Override
-    public void installProxyInterceptors() {
-        new TracingAdviceEngine(new 
PluginDefinitionServiceEngine(this)).adviceProxyTracing(CommandExecutorTaskAdvice.class,
 CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+    public Collection<ClassPointcuts> getProxyPointcuts() {
+        return new TracingAdviceEngine(new 
PointcutDefinitionServiceEngine(this)).adviceProxy(CommandExecutorTaskAdvice.class,
 CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
     }
     
     @Override
-    public void installJdbcInterceptors() {
-        new TracingAdviceEngine(new 
PluginDefinitionServiceEngine(this)).adviceJDBCTracing();
+    public Collection<ClassPointcuts> getJDBCPointcuts() {
+        return new TracingAdviceEngine(new 
PointcutDefinitionServiceEngine(this)).adviceJDBC();
     }
     
     @Override
diff --git 
a/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
 
b/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
similarity index 96%
rename from 
agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
rename to 
agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
index 988b0dedf18..4a669af245d 100644
--- 
a/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginDefinitionService
+++ 
b/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinPluginDefinitionService
+org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinPointcutDefinitionService
diff --git 
a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionServiceTest.java
 
b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPointcutDefinitionServiceTest.java
similarity index 67%
rename from 
agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionServiceTest.java
rename to 
agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPointcutDefinitionServiceTest.java
index d7fd6729898..cbd0ca264ef 100644
--- 
a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionServiceTest.java
+++ 
b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPointcutDefinitionServiceTest.java
@@ -17,18 +17,15 @@
 
 package org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition;
 
-import 
org.apache.shardingsphere.agent.core.definition.ClassPointcutsRegistryFactory;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-public final class ZipkinPluginDefinitionServiceTest {
+public final class ZipkinPointcutDefinitionServiceTest {
     
     @Test
-    public void assertInstallProxyInterceptors() {
-        ZipkinPluginDefinitionService pluginDefinitionService = new 
ZipkinPluginDefinitionService();
-        pluginDefinitionService.installProxyInterceptors();
-        
assertThat(ClassPointcutsRegistryFactory.getRegistry(pluginDefinitionService.getType()).getAllClassPointcuts().size(),
 is(3));
+    public void assertGetProxyClassPointcuts() {
+        assertThat(new 
ZipkinPointcutDefinitionService().getProxyPointcuts().size(), is(3));
     }
 }
diff --git a/docs/document/content/dev-manual/agent.cn.md 
b/docs/document/content/dev-manual/agent.cn.md
index e565a25a28c..a3714197317 100644
--- a/docs/document/content/dev-manual/agent.cn.md
+++ b/docs/document/content/dev-manual/agent.cn.md
@@ -40,9 +40,9 @@ chapter = true
 
 | *配置标识*     | *详细说明*                    | *全限定类名* |
 | ------------- | --------------------------- | ---------- |
-| Prometheus    | Prometheus 插件定义           | 
[`org.apache.shardingsphere.agent.metrics.prometheus.definition.PrometheusPluginDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java)
 |
-| Logging       | Logging 插件定义              | 
[`org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingPluginDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java)
 |
-| Jaeger        | Jaeger 插件定义               | 
[`org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerPluginDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java)
 |
-| OpenTelemetry | OpenTelemetryTracing 插件定义 | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition.OpenTelemetryTracingPluginDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java)
 |
-| OpenTracing   | OpenTracing 插件定义          | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition.OpenTracingPluginDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java)
 |
-| Zipkin        | Zipkin 插件定义               | 
[`org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinPluginDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java)
 |
+| Prometheus    | Prometheus 插件定义           | 
[`org.apache.shardingsphere.agent.metrics.prometheus.definition.PrometheusPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java)
 |
+| Logging       | Logging 插件定义              | 
[`org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java)
 |
+| Jaeger        | Jaeger 插件定义               | 
[`org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java)
 |
+| OpenTelemetry | OpenTelemetryTracing 插件定义 | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition.OpenTelemetryTracingPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java)
 |
+| OpenTracing   | OpenTracing 插件定义          | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition.OpenTracingPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java)
 |
+| Zipkin        | Zipkin 插件定义               | 
[`org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java)
 |
diff --git a/docs/document/content/dev-manual/agent.en.md 
b/docs/document/content/dev-manual/agent.en.md
index 8f5b027da86..c3d702989f8 100644
--- a/docs/document/content/dev-manual/agent.en.md
+++ b/docs/document/content/dev-manual/agent.en.md
@@ -40,9 +40,9 @@ Agent plugin definition
 
 | *Configuration Type* | *Description*                          | 
*Fully-qualified class name* |
 | -------------------- |--------------------------------------- | 
---------------------------- |
-| Prometheus           | Prometheus plugin definition           | 
[`org.apache.shardingsphere.agent.metrics.prometheus.definition.PrometheusPluginDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java)
 |
-| Logging              | Logging plugin definition              | 
[`org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingPluginDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java)
 |
-| Jaeger               | Jaeger plugin definition               | 
[`org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerPluginDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java)
 |
-| OpenTelemetry        | OpenTelemetryTracing plugin definition | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition.OpenTelemetryTracingPluginDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java)
 |
-| OpenTracing          | OpenTracing plugin definition          | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition.OpenTracingPluginDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java)
 |
-| Zipkin               | Zipkin plugin definition               | 
[`org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinPluginDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java)
 |
+| Prometheus           | Prometheus plugin definition           | 
[`org.apache.shardingsphere.agent.metrics.prometheus.definition.PrometheusPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java)
 |
+| Logging              | Logging plugin definition              | 
[`org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java)
 |
+| Jaeger               | Jaeger plugin definition               | 
[`org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java)
 |
+| OpenTelemetry        | OpenTelemetryTracing plugin definition | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition.OpenTelemetryTracingPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java)
 |
+| OpenTracing          | OpenTracing plugin definition          | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition.OpenTracingPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java)
 |
+| Zipkin               | Zipkin plugin definition               | 
[`org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java)
 |

Reply via email to