You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/12/13 04:28:04 UTC
[shardingsphere] branch master updated: Add TracingAdviceEngine (#22839)
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 2013a270489 Add TracingAdviceEngine (#22839)
2013a270489 is described below
commit 2013a27048987a0582ae82dbe2b1313b31d4683b
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Tue Dec 13 12:27:56 2022 +0800
Add TracingAdviceEngine (#22839)
* Add TracingAdviceEngine
* Rename shardingsphere-agent-plugin-tracing-core
* Add tracing-type module
* Add tracing-type module
* Add debug info
* Update pom build config
---
.../plugins/tracing/{opentracing => core}/pom.xml | 24 +------
.../tracing/core/advice/TracingAdviceEngine.java | 55 ++++++++++++++++
.../core/advice/adviser/TracingAdviser.java} | 26 ++++----
.../adviser/impl/CommandExecutorTaskAdviser.java | 44 +++++++++++++
.../adviser/impl/JDBCExecutorCallbackAdviser.java | 47 ++++++++++++++
.../adviser/impl/SQLParserEngineAdviser.java | 44 +++++++++++++
.../definition/JaegerPluginDefinitionService.java | 74 ----------------------
...penTelemetryTracingPluginDefinitionService.java | 74 ----------------------
.../OpenTracingPluginDefinitionService.java | 74 ----------------------
agent/plugins/tracing/pom.xml | 6 +-
agent/plugins/tracing/{ => type}/jaeger/pom.xml | 2 +-
.../jaeger/advice/CommandExecutorTaskAdvice.java | 0
.../jaeger/advice/JDBCExecutorCallbackAdvice.java | 0
.../jaeger/advice/SQLParserEngineAdvice.java | 0
.../tracing/jaeger/constant/JaegerConstants.java | 0
.../definition/JaegerPluginDefinitionService.java | 45 +++++++++++++
.../service/JaegerTracingPluginBootService.java | 0
.../tracing/jaeger/span/JaegerErrorSpan.java | 0
...ache.shardingsphere.agent.spi.PluginBootService | 0
...hardingsphere.agent.spi.PluginDefinitionService | 0
.../advice/CommandExecutorTaskAdviceTest.java | 0
.../advice/JDBCExecutorCallbackAdviceTest.java | 0
.../jaeger/advice/SQLParserEngineAdviceTest.java | 0
.../tracing/jaeger/collector/JaegerCollector.java | 0
.../JaegerPluginDefinitionServiceTest.java | 0
.../JaegerTracingPluginBootServiceTest.java | 0
.../tracing/{ => type}/opentelemetry/pom.xml | 2 +-
.../advice/CommandExecutorTaskAdvice.java | 0
.../advice/JDBCExecutorCallbackAdvice.java | 0
.../advice/SQLParserEngineAdvice.java | 0
.../constant/OpenTelemetryConstants.java | 0
...enTelemetryTracingPluginDefinitionService.java} | 31 ++++-----
.../OpenTelemetryTracingPluginBootService.java | 0
...ache.shardingsphere.agent.spi.PluginBootService | 0
...hardingsphere.agent.spi.PluginDefinitionService | 0
.../advice/CommandExecutorTaskAdviceTest.java | 0
.../advice/JDBCExecutorCallbackAdviceTest.java | 0
.../advice/SQLParserEngineAdviceTest.java | 0
.../collector/OpenTelemetryCollector.java | 0
...elemetryTracingPluginDefinitionServiceTest.java | 0
.../OpenTelemetryTracingPluginBootServiceTest.java | 0
.../plugins/tracing/{ => type}/opentracing/pom.xml | 2 +-
.../advice/CommandExecutorTaskAdvice.java | 0
.../advice/JDBCExecutorCallbackAdvice.java | 0
.../opentracing/advice/SQLParserEngineAdvice.java | 0
.../opentracing/constant/ErrorLogTagKeys.java | 0
.../opentracing/constant/ShardingSphereTags.java | 0
.../OpenTracingPluginDefinitionService.java} | 44 ++++++-------
.../service/OpenTracingPluginBootService.java | 0
.../opentracing/span/OpenTracingErrorSpan.java | 0
...ache.shardingsphere.agent.spi.PluginBootService | 0
...hardingsphere.agent.spi.PluginDefinitionService | 0
.../advice/CommandExecutorTaskAdviceTest.java | 0
.../advice/JDBCExecutorCallbackAdviceTest.java | 0
.../opentracing/advice/MockTargetAdviceObject.java | 0
.../advice/SQLParserEngineAdviceTest.java | 0
.../OpenTracingPluginDefinitionServiceTest.java | 0
.../service/OpenTracingPluginBootServiceTest.java | 0
agent/plugins/tracing/{ => type}/pom.xml | 15 +++--
agent/plugins/tracing/{ => type}/zipkin/pom.xml | 2 +-
.../zipkin/advice/CommandExecutorTaskAdvice.java | 0
.../zipkin/advice/JDBCExecutorCallbackAdvice.java | 0
.../zipkin/advice/SQLParserEngineAdvice.java | 0
.../tracing/zipkin/constant/ZipkinConstants.java | 0
.../definition/ZipkinPluginDefinitionService.java | 45 +++++++++++++
.../service/ZipkinTracingPluginBootService.java | 0
...ache.shardingsphere.agent.spi.PluginBootService | 0
...hardingsphere.agent.spi.PluginDefinitionService | 0
.../advice/CommandExecutorTaskAdviceTest.java | 0
.../advice/JDBCExecutorCallbackAdviceTest.java | 0
.../zipkin/advice/SQLParserEngineAdviceTest.java | 0
.../tracing/zipkin/collector/ZipkinCollector.java | 2 +-
.../ZipkinPluginDefinitionServiceTest.java | 0
.../ZipkinTracingPluginBootServiceTest.java | 0
.../definition/ZipkinPluginDefinitionService.java | 74 ----------------------
.../opentelemetry/OpenTelemetryPluginE2EIT.java | 4 ++
76 files changed, 348 insertions(+), 388 deletions(-)
diff --git a/agent/plugins/tracing/opentracing/pom.xml b/agent/plugins/tracing/core/pom.xml
similarity index 62%
copy from agent/plugins/tracing/opentracing/pom.xml
copy to agent/plugins/tracing/core/pom.xml
index 343df8bd2e6..0b3e997928b 100644
--- a/agent/plugins/tracing/opentracing/pom.xml
+++ b/agent/plugins/tracing/core/pom.xml
@@ -24,28 +24,6 @@
<artifactId>shardingsphere-agent-plugin-tracing</artifactId>
<version>5.3.1-SNAPSHOT</version>
</parent>
- <artifactId>shardingsphere-agent-tracing-opentracing</artifactId>
+ <artifactId>shardingsphere-agent-tracing-core</artifactId>
<name>${project.artifactId}</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-proxy-frontend-core</artifactId>
- <version>${project.version}</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>io.opentracing</groupId>
- <artifactId>opentracing-api</artifactId>
- </dependency>
- <dependency>
- <groupId>io.opentracing</groupId>
- <artifactId>opentracing-util</artifactId>
- </dependency>
- <dependency>
- <groupId>io.opentracing</groupId>
- <artifactId>opentracing-mock</artifactId>
- </dependency>
- </dependencies>
</project>
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
new file mode 100644
index 00000000000..6aecace59d9
--- /dev/null
+++ b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingAdviceEngine.java
@@ -0,0 +1,55 @@
+/*
+ * 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.plugin.tracing.core.advice;
+
+import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+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;
+
+/**
+ * Tracing advice engine.
+ */
+@RequiredArgsConstructor
+public final class TracingAdviceEngine {
+
+ private final PluginDefinitionServiceEngine engine;
+
+ /**
+ * Advice proxy tracing.
+ *
+ * @param commandExecutorTaskAdvice command executor task advice
+ * @param sqlParserEngineAdvice SQL parser engine advice
+ * @param jdbcExecutorCallbackAdvice JDBC executor callback advice
+ */
+ 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);
+ }
+
+ /**
+ * Advice JDBC tracing.
+ */
+ public void adviceJDBCTracing() {
+ // TODO
+ }
+}
diff --git a/agent/plugins/tracing/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/MockTargetAdviceObject.java b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
similarity index 64%
copy from agent/plugins/tracing/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/MockTargetAdviceObject.java
copy to agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
index 69839e69bc4..8e5b58b889f 100644
--- a/agent/plugins/tracing/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/MockTargetAdviceObject.java
+++ b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
@@ -15,21 +15,19 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice;
+package org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser;
-import org.apache.shardingsphere.agent.core.plugin.TargetAdviceObject;
+import org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
-public final class MockTargetAdviceObject implements TargetAdviceObject {
-
- private Object object;
-
- @Override
- public Object getAttachment() {
- return object;
- }
+/**
+ * Tracing adviser.
+ */
+public interface TracingAdviser {
- @Override
- public void setAttachment(final Object attachment) {
- object = attachment;
- }
+ /**
+ * Advice.
+ *
+ * @param instanceMethodAroundAdvice instance method around advice
+ */
+ void 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
new file mode 100644
index 00000000000..521ec4e8d77
--- /dev/null
+++ b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/CommandExecutorTaskAdviser.java
@@ -0,0 +1,44 @@
+/*
+ * 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.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.plugin.advice.InstanceMethodAroundAdvice;
+import org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.TracingAdviser;
+import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
+
+/**
+ * Command executor task adviser.
+ */
+@RequiredArgsConstructor
+public final class CommandExecutorTaskAdviser implements TracingAdviser {
+
+ private static final String TARGET_CLASS = "org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask";
+
+ private static final String TARGET_METHOD = "run";
+
+ private final PluginDefinitionServiceEngine engine;
+
+ @Override
+ public void advice(final Class<? extends InstanceMethodAroundAdvice> commandExecutorTaskAdvice) {
+ engine.getClassPointcuts(TARGET_CLASS).getInstanceMethodPointcuts()
+ .add(new InstanceMethodPointcut(ElementMatchers.named(TARGET_METHOD), commandExecutorTaskAdvice.getName()));
+ }
+}
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
new file mode 100644
index 00000000000..8ec9ccf2e65
--- /dev/null
+++ b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/JDBCExecutorCallbackAdviser.java
@@ -0,0 +1,47 @@
+/*
+ * 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.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.plugin.advice.InstanceMethodAroundAdvice;
+import org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.TracingAdviser;
+import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
+
+/**
+ * JDBC executor callback adviser.
+ */
+@RequiredArgsConstructor
+public final class JDBCExecutorCallbackAdviser implements TracingAdviser {
+
+ private static final String TARGET_CLASS = "org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutorCallback";
+
+ private static final String TARGET_METHOD = "execute";
+
+ private static final String TARGET_METHOD_FIRST_PARAM = "org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit";
+
+ private final PluginDefinitionServiceEngine 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()));
+ }
+}
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
new file mode 100644
index 00000000000..83cea28e46a
--- /dev/null
+++ b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/SQLParserEngineAdviser.java
@@ -0,0 +1,44 @@
+/*
+ * 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.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.plugin.advice.InstanceMethodAroundAdvice;
+import org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.TracingAdviser;
+import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
+
+/**
+ * SQL parser engine adviser.
+ */
+@RequiredArgsConstructor
+public final class SQLParserEngineAdviser implements TracingAdviser {
+
+ private static final String TARGET_CLASS = "org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine";
+
+ private static final String TARGET_METHOD = "parse";
+
+ private final PluginDefinitionServiceEngine engine;
+
+ @Override
+ public void advice(final Class<? extends InstanceMethodAroundAdvice> sqlParserEngineAdvice) {
+ engine.getClassPointcuts(TARGET_CLASS).getInstanceMethodPointcuts()
+ .add(new InstanceMethodPointcut(ElementMatchers.named(TARGET_METHOD), sqlParserEngineAdvice.getName()));
+ }
+}
diff --git a/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java b/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
deleted file mode 100644
index 2922cbe09d2..00000000000
--- a/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
+++ /dev/null
@@ -1,74 +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.plugin.tracing.jaeger.definition;
-
-import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
-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.plugin.tracing.jaeger.advice.SQLParserEngineAdvice;
-import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
-import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
-
-/**
- * Jaeger plugin definition service.
- */
-public final class JaegerPluginDefinitionService implements PluginDefinitionService {
-
- private static final String COMMAND_EXECUTOR_TASK_ENHANCE_CLASS = "org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask";
-
- private static final String COMMAND_EXECUTOR_METHOD_NAME = "run";
-
- private static final String COMMAND_EXECUTOR_TASK_ADVICE_CLASS = CommandExecutorTaskAdvice.class.getName();
-
- private static final String SQL_PARSER_ENGINE_ENHANCE_CLASS = "org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine";
-
- private static final String SQL_PARSER_ENGINE_METHOD_NAME = "parse";
-
- private static final String SQL_PARSER_ENGINE_ADVICE_CLASS = SQLParserEngineAdvice.class.getName();
-
- private static final String JDBC_EXECUTOR_CALLBACK_ENGINE_ENHANCE_CLASS = "org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutorCallback";
-
- private static final String JDBC_EXECUTOR_METHOD_NAME = "execute";
-
- private static final String JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS = "org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit";
-
- private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS = JDBCExecutorCallbackAdvice.class.getName();
-
- @Override
- public void installProxyInterceptors() {
- PluginDefinitionServiceEngine engine = new PluginDefinitionServiceEngine(this);
- engine.getClassPointcuts(COMMAND_EXECUTOR_TASK_ENHANCE_CLASS).getInstanceMethodPointcuts()
- .add(new InstanceMethodPointcut(ElementMatchers.named(COMMAND_EXECUTOR_METHOD_NAME), COMMAND_EXECUTOR_TASK_ADVICE_CLASS));
- engine.getClassPointcuts(SQL_PARSER_ENGINE_ENHANCE_CLASS).getInstanceMethodPointcuts()
- .add(new InstanceMethodPointcut(ElementMatchers.named(SQL_PARSER_ENGINE_METHOD_NAME), SQL_PARSER_ENGINE_ADVICE_CLASS));
- engine.getClassPointcuts(JDBC_EXECUTOR_CALLBACK_ENGINE_ENHANCE_CLASS).getInstanceMethodPointcuts()
- .add(new InstanceMethodPointcut(ElementMatchers.named(JDBC_EXECUTOR_METHOD_NAME).and(ElementMatchers.takesArgument(0, ElementMatchers.named(JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS))),
- JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS));
- }
-
- @Override
- public void installJdbcInterceptors() {
- // TODO add JDBC related interception
- }
-
- @Override
- public String getType() {
- return "Jaeger";
- }
-}
diff --git a/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java b/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
deleted file mode 100644
index 12e70bc53ad..00000000000
--- a/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
+++ /dev/null
@@ -1,74 +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.plugin.tracing.opentelemetry.definition;
-
-import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
-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.plugin.tracing.opentelemetry.advice.SQLParserEngineAdvice;
-import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
-import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
-
-/**
- * OpenTelemetry plugin definition service.
- */
-public final class OpenTelemetryTracingPluginDefinitionService implements PluginDefinitionService {
-
- private static final String COMMAND_EXECUTOR_TASK_ENHANCE_CLASS = "org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask";
-
- private static final String COMMAND_EXECUTOR_METHOD_NAME = "run";
-
- private static final String COMMAND_EXECUTOR_TASK_ADVICE_CLASS = CommandExecutorTaskAdvice.class.getName();
-
- private static final String SQL_PARSER_ENGINE_ENHANCE_CLASS = "org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine";
-
- private static final String SQL_PARSER_ENGINE_METHOD_NAME = "parse";
-
- private static final String SQL_PARSER_ENGINE_ADVICE_CLASS = SQLParserEngineAdvice.class.getName();
-
- private static final String JDBC_EXECUTOR_CALLBACK_ENGINE_ENHANCE_CLASS = "org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutorCallback";
-
- private static final String JDBC_EXECUTOR_METHOD_NAME = "execute";
-
- private static final String JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS = "org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit";
-
- private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS = JDBCExecutorCallbackAdvice.class.getName();
-
- @Override
- public void installProxyInterceptors() {
- PluginDefinitionServiceEngine engine = new PluginDefinitionServiceEngine(this);
- engine.getClassPointcuts(COMMAND_EXECUTOR_TASK_ENHANCE_CLASS).getInstanceMethodPointcuts()
- .add(new InstanceMethodPointcut(ElementMatchers.named(COMMAND_EXECUTOR_METHOD_NAME), COMMAND_EXECUTOR_TASK_ADVICE_CLASS));
- engine.getClassPointcuts(SQL_PARSER_ENGINE_ENHANCE_CLASS).getInstanceMethodPointcuts()
- .add(new InstanceMethodPointcut(ElementMatchers.named(SQL_PARSER_ENGINE_METHOD_NAME), SQL_PARSER_ENGINE_ADVICE_CLASS));
- engine.getClassPointcuts(JDBC_EXECUTOR_CALLBACK_ENGINE_ENHANCE_CLASS).getInstanceMethodPointcuts()
- .add(new InstanceMethodPointcut(ElementMatchers.named(JDBC_EXECUTOR_METHOD_NAME).and(ElementMatchers.takesArgument(0, ElementMatchers.named(JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS))),
- JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS));
- }
-
- @Override
- public void installJdbcInterceptors() {
- // TODO add JDBC related interception
- }
-
- @Override
- public String getType() {
- return "OpenTelemetry";
- }
-}
diff --git a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java b/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
deleted file mode 100644
index 2220727e5a8..00000000000
--- a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
+++ /dev/null
@@ -1,74 +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.plugin.tracing.opentracing.definition;
-
-import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
-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.plugin.tracing.opentracing.advice.SQLParserEngineAdvice;
-import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
-import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
-
-/**
- * Open tracing plugin definition service.
- */
-public final class OpenTracingPluginDefinitionService implements PluginDefinitionService {
-
- private static final String COMMAND_EXECUTOR_TASK_ENHANCE_CLASS = "org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask";
-
- private static final String COMMAND_EXECUTOR_METHOD_NAME = "run";
-
- private static final String COMMAND_EXECUTOR_TASK_ADVICE_CLASS = CommandExecutorTaskAdvice.class.getName();
-
- private static final String SQL_PARSER_ENGINE_ENHANCE_CLASS = "org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine";
-
- private static final String SQL_PARSER_ENGINE_METHOD_NAME = "parse";
-
- private static final String SQL_PARSER_ENGINE_ADVICE_CLASS = SQLParserEngineAdvice.class.getName();
-
- private static final String JDBC_EXECUTOR_CALLBACK_ENGINE_ENHANCE_CLASS = "org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutorCallback";
-
- private static final String JDBC_EXECUTOR_METHOD_NAME = "execute";
-
- private static final String JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS = "org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit";
-
- private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS = JDBCExecutorCallbackAdvice.class.getName();
-
- @Override
- public void installProxyInterceptors() {
- PluginDefinitionServiceEngine engine = new PluginDefinitionServiceEngine(this);
- engine.getClassPointcuts(COMMAND_EXECUTOR_TASK_ENHANCE_CLASS).getInstanceMethodPointcuts()
- .add(new InstanceMethodPointcut(ElementMatchers.named(COMMAND_EXECUTOR_METHOD_NAME), COMMAND_EXECUTOR_TASK_ADVICE_CLASS));
- engine.getClassPointcuts(SQL_PARSER_ENGINE_ENHANCE_CLASS).getInstanceMethodPointcuts()
- .add(new InstanceMethodPointcut(ElementMatchers.named(SQL_PARSER_ENGINE_METHOD_NAME), SQL_PARSER_ENGINE_ADVICE_CLASS));
- engine.getClassPointcuts(JDBC_EXECUTOR_CALLBACK_ENGINE_ENHANCE_CLASS).getInstanceMethodPointcuts()
- .add(new InstanceMethodPointcut(ElementMatchers.named(JDBC_EXECUTOR_METHOD_NAME).and(ElementMatchers.takesArgument(0, ElementMatchers.named(JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS))),
- JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS));
- }
-
- @Override
- public void installJdbcInterceptors() {
- // TODO add JDBC related interception
- }
-
- @Override
- public String getType() {
- return "OpenTracing";
- }
-}
diff --git a/agent/plugins/tracing/pom.xml b/agent/plugins/tracing/pom.xml
index 96d47d8ca2a..e6f7ccfb52e 100644
--- a/agent/plugins/tracing/pom.xml
+++ b/agent/plugins/tracing/pom.xml
@@ -29,10 +29,8 @@
<name>${project.artifactId}</name>
<modules>
- <module>opentracing</module>
- <module>opentelemetry</module>
- <module>jaeger</module>
- <module>zipkin</module>
+ <module>core</module>
+ <module>type</module>
<module>test</module>
</modules>
diff --git a/agent/plugins/tracing/jaeger/pom.xml b/agent/plugins/tracing/type/jaeger/pom.xml
similarity index 97%
rename from agent/plugins/tracing/jaeger/pom.xml
rename to agent/plugins/tracing/type/jaeger/pom.xml
index 659b01360e3..9b0def7bba0 100644
--- a/agent/plugins/tracing/jaeger/pom.xml
+++ b/agent/plugins/tracing/type/jaeger/pom.xml
@@ -21,7 +21,7 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-agent-plugin-tracing</artifactId>
+ <artifactId>shardingsphere-agent-tracing-type</artifactId>
<version>5.3.1-SNAPSHOT</version>
</parent>
<artifactId>shardingsphere-agent-tracing-jaeger</artifactId>
diff --git a/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java
similarity index 100%
rename from agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java
rename to agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdvice.java
diff --git a/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java
similarity index 100%
rename from agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java
rename to agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdvice.java
diff --git a/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdvice.java b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdvice.java
similarity index 100%
rename from agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdvice.java
rename to agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdvice.java
diff --git a/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/constant/JaegerConstants.java b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/constant/JaegerConstants.java
similarity index 100%
rename from agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/constant/JaegerConstants.java
rename to agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/constant/JaegerConstants.java
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/JaegerPluginDefinitionService.java
new file mode 100644
index 00000000000..d9a4127672e
--- /dev/null
+++ b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
@@ -0,0 +1,45 @@
+/*
+ * 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.plugin.tracing.jaeger.definition;
+
+import org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+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;
+
+/**
+ * Jaeger plugin definition service.
+ */
+public final class JaegerPluginDefinitionService implements PluginDefinitionService {
+
+ @Override
+ public void installProxyInterceptors() {
+ new TracingAdviceEngine(new PluginDefinitionServiceEngine(this)).adviceProxyTracing(CommandExecutorTaskAdvice.class, CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+ }
+
+ @Override
+ public void installJdbcInterceptors() {
+ new TracingAdviceEngine(new PluginDefinitionServiceEngine(this)).adviceJDBCTracing();
+ }
+
+ @Override
+ public String getType() {
+ return "Jaeger";
+ }
+}
diff --git a/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java
similarity index 100%
rename from agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java
rename to agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java
diff --git a/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/span/JaegerErrorSpan.java b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/span/JaegerErrorSpan.java
similarity index 100%
rename from agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/span/JaegerErrorSpan.java
rename to agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/span/JaegerErrorSpan.java
diff --git a/agent/plugins/tracing/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService b/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
similarity index 100%
rename from agent/plugins/tracing/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
rename to agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
diff --git a/agent/plugins/tracing/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.PluginDefinitionService
similarity index 100%
rename from agent/plugins/tracing/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.PluginDefinitionService
diff --git a/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdviceTest.java b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdviceTest.java
similarity index 100%
rename from agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdviceTest.java
rename to agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/CommandExecutorTaskAdviceTest.java
diff --git a/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdviceTest.java b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdviceTest.java
similarity index 100%
rename from agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdviceTest.java
rename to agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/JDBCExecutorCallbackAdviceTest.java
diff --git a/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdviceTest.java b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdviceTest.java
similarity index 100%
rename from agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdviceTest.java
rename to agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/advice/SQLParserEngineAdviceTest.java
diff --git a/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/collector/JaegerCollector.java b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/collector/JaegerCollector.java
similarity index 100%
rename from agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/collector/JaegerCollector.java
rename to agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/collector/JaegerCollector.java
diff --git a/agent/plugins/tracing/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/JaegerPluginDefinitionServiceTest.java
similarity index 100%
rename from agent/plugins/tracing/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/JaegerPluginDefinitionServiceTest.java
diff --git a/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootServiceTest.java b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootServiceTest.java
similarity index 100%
rename from agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootServiceTest.java
rename to agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootServiceTest.java
diff --git a/agent/plugins/tracing/opentelemetry/pom.xml b/agent/plugins/tracing/type/opentelemetry/pom.xml
similarity index 97%
rename from agent/plugins/tracing/opentelemetry/pom.xml
rename to agent/plugins/tracing/type/opentelemetry/pom.xml
index 7e9552cb44c..9f75dbcaf35 100644
--- a/agent/plugins/tracing/opentelemetry/pom.xml
+++ b/agent/plugins/tracing/type/opentelemetry/pom.xml
@@ -21,7 +21,7 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-agent-plugin-tracing</artifactId>
+ <artifactId>shardingsphere-agent-tracing-type</artifactId>
<version>5.3.1-SNAPSHOT</version>
</parent>
<artifactId>shardingsphere-agent-tracing-opentelemetry</artifactId>
diff --git a/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdvice.java b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdvice.java
similarity index 100%
rename from agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdvice.java
rename to agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdvice.java
diff --git a/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdvice.java b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdvice.java
similarity index 100%
rename from agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdvice.java
rename to agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdvice.java
diff --git a/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdvice.java b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdvice.java
similarity index 100%
rename from agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdvice.java
rename to agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdvice.java
diff --git a/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/constant/OpenTelemetryConstants.java b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/constant/OpenTelemetryConstants.java
similarity index 100%
rename from agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/constant/OpenTelemetryConstants.java
rename to agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/constant/OpenTelemetryConstants.java
diff --git a/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootService.java b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
similarity index 50%
copy from agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootService.java
copy to agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
index 252cd02f2e0..e6072eb6ffa 100644
--- a/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootService.java
+++ b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
@@ -15,30 +15,27 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.service;
+package org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition;
-import io.opentelemetry.sdk.OpenTelemetrySdk;
-import io.opentelemetry.sdk.autoconfigure.OpenTelemetrySdkAutoConfiguration;
-import org.apache.shardingsphere.agent.config.PluginConfiguration;
-import org.apache.shardingsphere.agent.spi.PluginBootService;
+import org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+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;
-public class OpenTelemetryTracingPluginBootService implements PluginBootService {
+/**
+ * OpenTelemetry plugin definition service.
+ */
+public final class OpenTelemetryTracingPluginDefinitionService implements PluginDefinitionService {
@Override
- public void start(final PluginConfiguration pluginConfig, final boolean isEnhancedForProxy) {
- pluginConfig.getProps().forEach((key, value) -> setSystemProperty(String.valueOf(key), String.valueOf(value)));
- OpenTelemetrySdk sdk = OpenTelemetrySdkAutoConfiguration.initialize();
- // tracer will be created
- sdk.getTracer("shardingsphere-agent");
- }
-
- private void setSystemProperty(final String key, final String value) {
- String propertyKey = key.replaceAll("-", ".");
- System.setProperty(propertyKey, String.valueOf(value));
+ public void installProxyInterceptors() {
+ new TracingAdviceEngine(new PluginDefinitionServiceEngine(this)).adviceProxyTracing(CommandExecutorTaskAdvice.class, CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
}
@Override
- public void close() {
+ public void installJdbcInterceptors() {
+ new TracingAdviceEngine(new PluginDefinitionServiceEngine(this)).adviceJDBCTracing();
}
@Override
diff --git a/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootService.java b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootService.java
similarity index 100%
rename from agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootService.java
rename to agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootService.java
diff --git a/agent/plugins/tracing/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService b/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
similarity index 100%
rename from agent/plugins/tracing/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
rename to agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
diff --git a/agent/plugins/tracing/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.PluginDefinitionService
similarity index 100%
rename from agent/plugins/tracing/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.PluginDefinitionService
diff --git a/agent/plugins/tracing/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdviceTest.java b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdviceTest.java
similarity index 100%
rename from agent/plugins/tracing/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdviceTest.java
rename to agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdviceTest.java
diff --git a/agent/plugins/tracing/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdviceTest.java b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdviceTest.java
similarity index 100%
rename from agent/plugins/tracing/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdviceTest.java
rename to agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/JDBCExecutorCallbackAdviceTest.java
diff --git a/agent/plugins/tracing/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdviceTest.java b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdviceTest.java
similarity index 100%
rename from agent/plugins/tracing/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdviceTest.java
rename to agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/SQLParserEngineAdviceTest.java
diff --git a/agent/plugins/tracing/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/collector/OpenTelemetryCollector.java b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/collector/OpenTelemetryCollector.java
similarity index 100%
rename from agent/plugins/tracing/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/collector/OpenTelemetryCollector.java
rename to agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/collector/OpenTelemetryCollector.java
diff --git a/agent/plugins/tracing/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/OpenTelemetryTracingPluginDefinitionServiceTest.java
similarity index 100%
rename from agent/plugins/tracing/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/OpenTelemetryTracingPluginDefinitionServiceTest.java
diff --git a/agent/plugins/tracing/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootServiceTest.java b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootServiceTest.java
similarity index 100%
rename from agent/plugins/tracing/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootServiceTest.java
rename to agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/service/OpenTelemetryTracingPluginBootServiceTest.java
diff --git a/agent/plugins/tracing/opentracing/pom.xml b/agent/plugins/tracing/type/opentracing/pom.xml
similarity index 96%
rename from agent/plugins/tracing/opentracing/pom.xml
rename to agent/plugins/tracing/type/opentracing/pom.xml
index 343df8bd2e6..29c60e02750 100644
--- a/agent/plugins/tracing/opentracing/pom.xml
+++ b/agent/plugins/tracing/type/opentracing/pom.xml
@@ -21,7 +21,7 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-agent-plugin-tracing</artifactId>
+ <artifactId>shardingsphere-agent-tracing-type</artifactId>
<version>5.3.1-SNAPSHOT</version>
</parent>
<artifactId>shardingsphere-agent-tracing-opentracing</artifactId>
diff --git a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdvice.java b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdvice.java
similarity index 100%
rename from agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdvice.java
rename to agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdvice.java
diff --git a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdvice.java b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdvice.java
similarity index 100%
rename from agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdvice.java
rename to agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdvice.java
diff --git a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdvice.java b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdvice.java
similarity index 100%
rename from agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdvice.java
rename to agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdvice.java
diff --git a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/constant/ErrorLogTagKeys.java b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/constant/ErrorLogTagKeys.java
similarity index 100%
rename from agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/constant/ErrorLogTagKeys.java
rename to agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/constant/ErrorLogTagKeys.java
diff --git a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/constant/ShardingSphereTags.java b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/constant/ShardingSphereTags.java
similarity index 100%
rename from agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/constant/ShardingSphereTags.java
rename to agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/constant/ShardingSphereTags.java
diff --git a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/span/OpenTracingErrorSpan.java b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
similarity index 50%
copy from agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/span/OpenTracingErrorSpan.java
copy to agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
index c4c7a2045d4..14c203f6203 100644
--- a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/span/OpenTracingErrorSpan.java
+++ b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
@@ -15,37 +15,31 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.plugin.tracing.opentracing.span;
+package org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition;
-import io.opentracing.Span;
-import io.opentracing.tag.Tags;
-import java.util.HashMap;
-import java.util.Map;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.agent.plugin.tracing.opentracing.constant.ErrorLogTagKeys;
+import org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+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;
/**
- * Open tracing error span.
+ * Open tracing plugin definition service.
*/
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class OpenTracingErrorSpan {
+public final class OpenTracingPluginDefinitionService implements PluginDefinitionService {
- /**
- * Set error.
- *
- * @param span span to be set
- * @param cause failure cause of span
- */
- public static void setError(final Span span, final Throwable cause) {
- span.setTag(Tags.ERROR.getKey(), true).log(System.currentTimeMillis(), getReason(cause));
+ @Override
+ public void installProxyInterceptors() {
+ new TracingAdviceEngine(new PluginDefinitionServiceEngine(this)).adviceProxyTracing(CommandExecutorTaskAdvice.class, CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
}
- private static Map<String, ?> getReason(final Throwable cause) {
- Map<String, String> result = new HashMap<>(3, 1);
- result.put(ErrorLogTagKeys.EVENT, ErrorLogTagKeys.EVENT_ERROR_TYPE);
- result.put(ErrorLogTagKeys.ERROR_KIND, cause.getClass().getName());
- result.put(ErrorLogTagKeys.MESSAGE, cause.getMessage());
- return result;
+ @Override
+ public void installJdbcInterceptors() {
+ new TracingAdviceEngine(new PluginDefinitionServiceEngine(this)).adviceJDBCTracing();
+ }
+
+ @Override
+ public String getType() {
+ return "OpenTracing";
}
}
diff --git a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootService.java b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootService.java
similarity index 100%
rename from agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootService.java
rename to agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootService.java
diff --git a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/span/OpenTracingErrorSpan.java b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/span/OpenTracingErrorSpan.java
similarity index 100%
rename from agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/span/OpenTracingErrorSpan.java
rename to agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/span/OpenTracingErrorSpan.java
diff --git a/agent/plugins/tracing/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService b/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
similarity index 100%
rename from agent/plugins/tracing/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
rename to agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
diff --git a/agent/plugins/tracing/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.PluginDefinitionService
similarity index 100%
rename from agent/plugins/tracing/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.PluginDefinitionService
diff --git a/agent/plugins/tracing/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdviceTest.java b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdviceTest.java
similarity index 100%
rename from agent/plugins/tracing/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdviceTest.java
rename to agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdviceTest.java
diff --git a/agent/plugins/tracing/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdviceTest.java b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdviceTest.java
similarity index 100%
rename from agent/plugins/tracing/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdviceTest.java
rename to agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdviceTest.java
diff --git a/agent/plugins/tracing/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/MockTargetAdviceObject.java b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/MockTargetAdviceObject.java
similarity index 100%
rename from agent/plugins/tracing/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/MockTargetAdviceObject.java
rename to agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/MockTargetAdviceObject.java
diff --git a/agent/plugins/tracing/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdviceTest.java b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdviceTest.java
similarity index 100%
rename from agent/plugins/tracing/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdviceTest.java
rename to agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdviceTest.java
diff --git a/agent/plugins/tracing/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/OpenTracingPluginDefinitionServiceTest.java
similarity index 100%
rename from agent/plugins/tracing/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/OpenTracingPluginDefinitionServiceTest.java
diff --git a/agent/plugins/tracing/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootServiceTest.java b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootServiceTest.java
similarity index 100%
rename from agent/plugins/tracing/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootServiceTest.java
rename to agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/service/OpenTracingPluginBootServiceTest.java
diff --git a/agent/plugins/tracing/pom.xml b/agent/plugins/tracing/type/pom.xml
similarity index 79%
copy from agent/plugins/tracing/pom.xml
copy to agent/plugins/tracing/type/pom.xml
index 96d47d8ca2a..7f940188a52 100644
--- a/agent/plugins/tracing/pom.xml
+++ b/agent/plugins/tracing/type/pom.xml
@@ -21,10 +21,10 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-agent-plugins</artifactId>
+ <artifactId>shardingsphere-agent-plugin-tracing</artifactId>
<version>5.3.1-SNAPSHOT</version>
</parent>
- <artifactId>shardingsphere-agent-plugin-tracing</artifactId>
+ <artifactId>shardingsphere-agent-tracing-type</artifactId>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
@@ -33,13 +33,20 @@
<module>opentelemetry</module>
<module>jaeger</module>
<module>zipkin</module>
- <module>test</module>
</modules>
<properties>
- <tracing.target.directory>${project.basedir}/../target/plugins</tracing.target.directory>
+ <tracing.target.directory>${project.basedir}/../../target/plugins</tracing.target.directory>
</properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-agent-tracing-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
<build>
<plugins>
<plugin>
diff --git a/agent/plugins/tracing/zipkin/pom.xml b/agent/plugins/tracing/type/zipkin/pom.xml
similarity index 97%
rename from agent/plugins/tracing/zipkin/pom.xml
rename to agent/plugins/tracing/type/zipkin/pom.xml
index 036b3d8fde4..3bf594b9eac 100644
--- a/agent/plugins/tracing/zipkin/pom.xml
+++ b/agent/plugins/tracing/type/zipkin/pom.xml
@@ -21,7 +21,7 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-agent-plugin-tracing</artifactId>
+ <artifactId>shardingsphere-agent-tracing-type</artifactId>
<version>5.3.1-SNAPSHOT</version>
</parent>
<artifactId>shardingsphere-agent-tracing-zipkin</artifactId>
diff --git a/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java
similarity index 100%
rename from agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java
rename to agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdvice.java
diff --git a/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java
similarity index 100%
rename from agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java
rename to agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdvice.java
diff --git a/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdvice.java b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdvice.java
similarity index 100%
rename from agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdvice.java
rename to agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdvice.java
diff --git a/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/constant/ZipkinConstants.java b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/constant/ZipkinConstants.java
similarity index 100%
rename from agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/constant/ZipkinConstants.java
rename to agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/constant/ZipkinConstants.java
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/ZipkinPluginDefinitionService.java
new file mode 100644
index 00000000000..a408e4d154e
--- /dev/null
+++ b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
@@ -0,0 +1,45 @@
+/*
+ * 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.plugin.tracing.zipkin.definition;
+
+import org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
+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;
+
+/**
+ * Zipkin plugin definition service.
+ */
+public final class ZipkinPluginDefinitionService implements PluginDefinitionService {
+
+ @Override
+ public void installProxyInterceptors() {
+ new TracingAdviceEngine(new PluginDefinitionServiceEngine(this)).adviceProxyTracing(CommandExecutorTaskAdvice.class, CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+ }
+
+ @Override
+ public void installJdbcInterceptors() {
+ new TracingAdviceEngine(new PluginDefinitionServiceEngine(this)).adviceJDBCTracing();
+ }
+
+ @Override
+ public String getType() {
+ return "Zipkin";
+ }
+}
diff --git a/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
similarity index 100%
rename from agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
rename to agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
diff --git a/agent/plugins/tracing/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService b/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
similarity index 100%
rename from agent/plugins/tracing/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
rename to agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
diff --git a/agent/plugins/tracing/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.PluginDefinitionService
similarity index 100%
rename from agent/plugins/tracing/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.PluginDefinitionService
diff --git a/agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdviceTest.java b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdviceTest.java
similarity index 100%
rename from agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdviceTest.java
rename to agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/CommandExecutorTaskAdviceTest.java
diff --git a/agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdviceTest.java b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdviceTest.java
similarity index 100%
rename from agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdviceTest.java
rename to agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/JDBCExecutorCallbackAdviceTest.java
diff --git a/agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdviceTest.java b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdviceTest.java
similarity index 100%
rename from agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdviceTest.java
rename to agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/advice/SQLParserEngineAdviceTest.java
diff --git a/agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/collector/ZipkinCollector.java b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/collector/ZipkinCollector.java
similarity index 95%
rename from agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/collector/ZipkinCollector.java
rename to agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/collector/ZipkinCollector.java
index 5abd9bb1cc3..14c36f5404c 100644
--- a/agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/collector/ZipkinCollector.java
+++ b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/collector/ZipkinCollector.java
@@ -25,7 +25,7 @@ import zipkin2.Span;
import java.util.concurrent.ConcurrentLinkedDeque;
-public class ZipkinCollector extends ExternalResource implements CollectorRule {
+public final class ZipkinCollector extends ExternalResource implements CollectorRule {
private static final ConcurrentLinkedDeque<Span> SPANS = new ConcurrentLinkedDeque<>();
diff --git a/agent/plugins/tracing/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/ZipkinPluginDefinitionServiceTest.java
similarity index 100%
rename from agent/plugins/tracing/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/ZipkinPluginDefinitionServiceTest.java
diff --git a/agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootServiceTest.java b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootServiceTest.java
similarity index 100%
rename from agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootServiceTest.java
rename to agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootServiceTest.java
diff --git a/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java b/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
deleted file mode 100644
index d129f1e5bb2..00000000000
--- a/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
+++ /dev/null
@@ -1,74 +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.plugin.tracing.zipkin.definition;
-
-import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.core.definition.PluginDefinitionServiceEngine;
-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.plugin.tracing.zipkin.advice.SQLParserEngineAdvice;
-import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
-import org.apache.shardingsphere.agent.spi.PluginDefinitionService;
-
-/**
- * Zipkin plugin definition service.
- */
-public final class ZipkinPluginDefinitionService implements PluginDefinitionService {
-
- private static final String COMMAND_EXECUTOR_TASK_ENHANCE_CLASS = "org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask";
-
- private static final String COMMAND_EXECUTOR_METHOD_NAME = "run";
-
- private static final String COMMAND_EXECUTOR_TASK_ADVICE_CLASS = CommandExecutorTaskAdvice.class.getName();
-
- private static final String SQL_PARSER_ENGINE_ENHANCE_CLASS = "org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine";
-
- private static final String SQL_PARSER_ENGINE_METHOD_NAME = "parse";
-
- private static final String SQL_PARSER_ENGINE_ADVICE_CLASS = SQLParserEngineAdvice.class.getName();
-
- private static final String JDBC_EXECUTOR_CALLBACK_ENGINE_ENHANCE_CLASS = "org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutorCallback";
-
- private static final String JDBC_EXECUTOR_METHOD_NAME = "execute";
-
- private static final String JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS = "org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit";
-
- private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS = JDBCExecutorCallbackAdvice.class.getName();
-
- @Override
- public void installProxyInterceptors() {
- PluginDefinitionServiceEngine engine = new PluginDefinitionServiceEngine(this);
- engine.getClassPointcuts(COMMAND_EXECUTOR_TASK_ENHANCE_CLASS).getInstanceMethodPointcuts()
- .add(new InstanceMethodPointcut(ElementMatchers.named(COMMAND_EXECUTOR_METHOD_NAME), COMMAND_EXECUTOR_TASK_ADVICE_CLASS));
- engine.getClassPointcuts(SQL_PARSER_ENGINE_ENHANCE_CLASS).getInstanceMethodPointcuts()
- .add(new InstanceMethodPointcut(ElementMatchers.named(SQL_PARSER_ENGINE_METHOD_NAME), SQL_PARSER_ENGINE_ADVICE_CLASS));
- engine.getClassPointcuts(JDBC_EXECUTOR_CALLBACK_ENGINE_ENHANCE_CLASS).getInstanceMethodPointcuts()
- .add(new InstanceMethodPointcut(ElementMatchers.named(JDBC_EXECUTOR_METHOD_NAME).and(ElementMatchers.takesArgument(0, ElementMatchers.named(JDBC_EXECUTOR_UNIT_ENGINE_ENHANCE_CLASS))),
- JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS));
- }
-
- @Override
- public void installJdbcInterceptors() {
- // TODO add JDBC related interception
- }
-
- @Override
- public String getType() {
- return "Zipkin";
- }
-}
diff --git a/test/e2e/agent/plugins/opentelemetry/src/test/java/org/apache/shardingsphere/test/e2e/agent/opentelemetry/OpenTelemetryPluginE2EIT.java b/test/e2e/agent/plugins/opentelemetry/src/test/java/org/apache/shardingsphere/test/e2e/agent/opentelemetry/OpenTelemetryPluginE2EIT.java
index 79b654d40ad..01a3b424555 100644
--- a/test/e2e/agent/plugins/opentelemetry/src/test/java/org/apache/shardingsphere/test/e2e/agent/opentelemetry/OpenTelemetryPluginE2EIT.java
+++ b/test/e2e/agent/plugins/opentelemetry/src/test/java/org/apache/shardingsphere/test/e2e/agent/opentelemetry/OpenTelemetryPluginE2EIT.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.test.e2e.agent.opentelemetry;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonParser;
+import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.test.e2e.agent.common.BasePluginE2EIT;
import org.apache.shardingsphere.test.e2e.agent.common.env.E2ETestEnvironment;
import org.apache.shardingsphere.test.e2e.agent.common.util.OkHttpUtils;
@@ -37,6 +38,7 @@ import static org.junit.Assert.assertNotNull;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.fail;
+@Slf4j
public final class OpenTelemetryPluginE2EIT extends BasePluginE2EIT {
private static final String ROOT_INVOKE = "/shardingsphere/rootinvoke/";
@@ -54,6 +56,8 @@ public final class OpenTelemetryPluginE2EIT extends BasePluginE2EIT {
} catch (final InterruptedException ignore) {
}
String url = props.getProperty("opentelemetry.zipkin.url") + props.getProperty("opentelemetry.servername");
+ log.error("=======url=======" + url);
+ log.error("=======OkHttpUtils.getInstance().get(url))=======" + OkHttpUtils.getInstance().get(url));
JsonArray array = JsonParser.parseString(OkHttpUtils.getInstance().get(url)).getAsJsonArray().get(0).getAsJsonArray();
Gson gson = new Gson();
Collection<TracingResult> traces = new LinkedList<>();