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);
     }
 }