This is an automated email from the ASF dual-hosted git repository.
adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 11fe8d93d0 HDDS-6878. Only export span if Ozone tracer init (#3509)
11fe8d93d0 is described below
commit 11fe8d93d0bea4ad43bb1cd6cfb334dea9ae0087
Author: Symious <[email protected]>
AuthorDate: Tue Jun 14 14:40:32 2022 +0800
HDDS-6878. Only export span if Ozone tracer init (#3509)
---
.../org/apache/hadoop/hdds/tracing/TracingUtil.java | 5 ++++-
.../apache/hadoop/hdds/tracing/TestTracingUtil.java | 21 ++++++++++++++++++++-
2 files changed, 24 insertions(+), 2 deletions(-)
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/tracing/TracingUtil.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/tracing/TracingUtil.java
index 4588f69430..4985c6f281 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/tracing/TracingUtil.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/tracing/TracingUtil.java
@@ -40,6 +40,8 @@ public final class TracingUtil {
private static final String NULL_SPAN_AS_STRING = "";
+ private static volatile boolean isInit = false;
+
private TracingUtil() {
}
@@ -55,6 +57,7 @@ public final class TracingUtil {
.registerInjector(StringCodec.FORMAT, new StringCodec())
.build();
GlobalTracer.registerIfAbsent(tracer);
+ isInit = true;
}
}
@@ -73,7 +76,7 @@ public final class TracingUtil {
* @return encoded tracing context.
*/
public static String exportSpan(Span span) {
- if (span != null) {
+ if (span != null && isInit) {
StringBuilder builder = new StringBuilder();
GlobalTracer.get().inject(span.context(), StringCodec.FORMAT, builder);
return builder.toString();
diff --git
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/tracing/TestTracingUtil.java
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/tracing/TestTracingUtil.java
index 378ac6d4df..8d5c56fc0d 100644
---
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/tracing/TestTracingUtil.java
+++
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/tracing/TestTracingUtil.java
@@ -17,15 +17,21 @@
*/
package org.apache.hadoop.hdds.tracing;
+import io.jaegertracing.Configuration;
+import io.jaegertracing.internal.JaegerTracer;
+import io.opentracing.util.GlobalTracer;
import org.apache.hadoop.hdds.conf.InMemoryConfiguration;
import org.apache.hadoop.hdds.conf.MutableConfigurationSource;
import org.apache.hadoop.hdds.scm.ScmConfigKeys;
import org.apache.hadoop.hdds.tracing.TestTraceAllMethod.Service;
import org.apache.hadoop.hdds.tracing.TestTraceAllMethod.ServiceImpl;
-import org.junit.jupiter.api.Test;
import static org.apache.hadoop.hdds.tracing.TracingUtil.createProxy;
+import static org.apache.hadoop.hdds.tracing.TracingUtil.exportCurrentSpan;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
+
+import org.junit.jupiter.api.Test;
/**
* Test for {@link TracingUtil}.
@@ -40,6 +46,19 @@ public class TestTracingUtil {
assertEquals("Hello default", subject.defaultMethod());
}
+ @Test
+ public void testInitTracing() {
+ Configuration config = Configuration.fromEnv("testInitTracing");
+ JaegerTracer tracer = config.getTracerBuilder().build();
+ GlobalTracer.registerIfAbsent(tracer);
+ try (AutoCloseable scope = TracingUtil
+ .createActivatedSpan("initTracing")) {
+ exportCurrentSpan();
+ } catch (Exception e) {
+ fail("Should not get exception");
+ }
+ }
+
private static MutableConfigurationSource tracingEnabled() {
MutableConfigurationSource config = new InMemoryConfiguration();
config.setBoolean(ScmConfigKeys.HDDS_TRACING_ENABLED, true);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]