This is an automated email from the ASF dual-hosted git repository.
xiaoyu 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 87f8705 Fix bug of CommandExecutorTaskAdvice.java (#11207)
87f8705 is described below
commit 87f87059ac87dddd8106e33d176da1c82e9b0ab4
Author: Kunshuai Zhu <[email protected]>
AuthorDate: Thu Jul 8 13:27:28 2021 +0800
Fix bug of CommandExecutorTaskAdvice.java (#11207)
---
.../opentelemetry/advice/CommandExecutorTaskAdvice.java | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git
a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdvice.java
b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdvice.java
index cc85c4d..3e183d9 100644
---
a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdvice.java
+++
b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/CommandExecutorTaskAdvice.java
@@ -19,6 +19,7 @@ package
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice;
import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.trace.Span;
+import io.opentelemetry.api.trace.SpanBuilder;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.api.trace.StatusCode;
import org.apache.shardingsphere.agent.api.advice.AdviceTargetObject;
@@ -38,22 +39,23 @@ public class CommandExecutorTaskAdvice implements
InstanceMethodAroundAdvice {
@Override
public void beforeMethod(final AdviceTargetObject target, final Method
method, final Object[] args, final MethodInvocationResult result) {
- Span span = GlobalOpenTelemetry.getTracer("shardingsphere-agent")
+ SpanBuilder spanBuilder =
GlobalOpenTelemetry.getTracer("shardingsphere-agent")
.spanBuilder(OPERATION_NAME)
.setAttribute(OpenTelemetryConstants.COMPONENT,
OpenTelemetryConstants.COMPONENT_NAME)
- .setSpanKind(SpanKind.CLIENT)
- .startSpan();
+ .setSpanKind(SpanKind.CLIENT);
+ Span span = spanBuilder.startSpan();
+ target.setAttachment(span);
ExecutorDataMap.getValue().put(OpenTelemetryConstants.ROOT_SPAN, span);
}
@Override
public void afterMethod(final AdviceTargetObject target, final Method
method, final Object[] args, final MethodInvocationResult result) {
- Span.current().end();
+ ((Span) target.getAttachment()).end();
ExecutorDataMap.getValue().remove(OpenTelemetryConstants.ROOT_SPAN);
}
@Override
public void onThrowing(final AdviceTargetObject target, final Method
method, final Object[] args, final Throwable throwable) {
- Span.current().setStatus(StatusCode.ERROR).recordException(throwable);
+ ((Span)
target.getAttachment()).setStatus(StatusCode.ERROR).recordException(throwable);
}
}