You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2023/07/17 16:25:03 UTC
[shardingsphere] branch master updated: Refactor TracingJDBCExecutorCallbackAdvice (#27256)
This is an automated email from the ASF dual-hosted git repository.
sunnianjun 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 a68d6518a7e Refactor TracingJDBCExecutorCallbackAdvice (#27256)
a68d6518a7e is described below
commit a68d6518a7ee177d9f02224149e1e82fab51ac9e
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Tue Jul 18 00:24:55 2023 +0800
Refactor TracingJDBCExecutorCallbackAdvice (#27256)
* Fix example generator
* Refactor TracingJDBCExecutorCallbackAdvice
---
.../tracing/core/advice/TracingJDBCExecutorCallbackAdvice.java | 4 ++--
.../advice/OpenTelemetryJDBCExecutorCallbackAdvice.java | 5 +++--
.../org/apache/shardingsphere/sql/parser/api/SQLFormatEngine.java | 6 ++----
3 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingJDBCExecutorCallbackAdvice.java b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingJDBCExecutorCallbackAdvice.java
index 8b864e95dbb..2753fe9a956 100644
--- a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingJDBCExecutorCallbackAdvice.java
+++ b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingJDBCExecutorCallbackAdvice.java
@@ -43,8 +43,8 @@ public abstract class TracingJDBCExecutorCallbackAdvice<T> implements InstanceMe
ShardingSphereResourceMetaData resourceMetaData = AgentReflectionUtils.getFieldValue(target, "resourceMetaData");
DataSourceMetaData metaData = resourceMetaData.getDataSourceMetaData(executionUnit.getExecutionUnit().getDataSourceName());
DatabaseType storageType = resourceMetaData.getStorageType(executionUnit.getExecutionUnit().getDataSourceName());
- recordExecuteInfo(RootSpanContext.get(), target, executionUnit, (boolean) args[1], metaData, storageType.getType());
+ recordExecuteInfo(RootSpanContext.get(), target, executionUnit, (boolean) args[1], metaData, storageType);
}
- protected abstract void recordExecuteInfo(T parentSpan, TargetAdviceObject target, JDBCExecutionUnit executionUnit, boolean isTrunkThread, DataSourceMetaData metaData, String databaseType);
+ protected abstract void recordExecuteInfo(T parentSpan, TargetAdviceObject target, JDBCExecutionUnit executionUnit, boolean isTrunkThread, DataSourceMetaData metaData, DatabaseType databaseType);
}
diff --git a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/OpenTelemetryJDBCExecutorCallbackAdvice.java b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/OpenTelemetryJDBCExecutorCallbackAdvice.java
index 485babb90e7..34cc6b435f1 100644
--- a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/OpenTelemetryJDBCExecutorCallbackAdvice.java
+++ b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/OpenTelemetryJDBCExecutorCallbackAdvice.java
@@ -28,6 +28,7 @@ import org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingJDBCExe
import org.apache.shardingsphere.agent.plugin.tracing.core.constant.AttributeConstants;
import org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.constant.OpenTelemetryConstants;
import org.apache.shardingsphere.infra.database.metadata.DataSourceMetaData;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit;
import java.lang.reflect.Method;
@@ -39,12 +40,12 @@ public final class OpenTelemetryJDBCExecutorCallbackAdvice extends TracingJDBCEx
@Override
protected void recordExecuteInfo(final Span parentSpan, final TargetAdviceObject target, final JDBCExecutionUnit executionUnit, final boolean isTrunkThread, final DataSourceMetaData metaData,
- final String databaseType) {
+ final DatabaseType databaseType) {
Tracer tracer = GlobalOpenTelemetry.getTracer(OpenTelemetryConstants.TRACER_NAME);
SpanBuilder spanBuilder = tracer.spanBuilder(OPERATION_NAME);
spanBuilder.setParent(Context.current().with(parentSpan));
spanBuilder.setAttribute(AttributeConstants.COMPONENT, AttributeConstants.COMPONENT_NAME);
- spanBuilder.setAttribute(AttributeConstants.DB_TYPE, databaseType);
+ spanBuilder.setAttribute(AttributeConstants.DB_TYPE, databaseType.getType());
spanBuilder.setAttribute(AttributeConstants.DB_INSTANCE, executionUnit.getExecutionUnit().getDataSourceName())
.setAttribute(AttributeConstants.PEER_HOSTNAME, metaData.getHostname())
.setAttribute(AttributeConstants.PEER_PORT, String.valueOf(metaData.getPort()))
diff --git a/parser/sql/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLFormatEngine.java b/parser/sql/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLFormatEngine.java
index 0d2aa6b0f49..d113a4c15de 100644
--- a/parser/sql/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLFormatEngine.java
+++ b/parser/sql/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLFormatEngine.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.sql.parser.api;
import lombok.RequiredArgsConstructor;
import org.antlr.v4.runtime.tree.ParseTree;
-import org.antlr.v4.runtime.tree.ParseTreeVisitor;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.sql.parser.api.visitor.format.SQLFormatVisitor;
@@ -39,13 +38,12 @@ public final class SQLFormatEngine {
* Format SQL.
*
* @param sql SQL to be formatted
- * @param useCache whether use cache
+ * @param useCache whether to use cache
* @param props properties
* @return formatted SQL
*/
- @SuppressWarnings("unchecked")
public String format(final String sql, final boolean useCache, final Properties props) {
ParseTree parseTree = new SQLParserEngine(databaseType, cacheOption).parse(sql, useCache).getRootNode();
- return ((ParseTreeVisitor<String>) TypedSPILoader.getService(SQLFormatVisitor.class, databaseType, props)).visit(parseTree);
+ return TypedSPILoader.getService(SQLFormatVisitor.class, databaseType, props).visit(parseTree);
}
}