This is an automated email from the ASF dual-hosted git repository.

lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k-runtime.git


The following commit(s) were added to refs/heads/master by this push:
     new 81867b2  tracing: support configuring the jeager service name
81867b2 is described below

commit 81867b2f1b19d2a874ab4edd3e2a0d792e3e1cbc
Author: lburgazzoli <[email protected]>
AuthorDate: Thu Jun 4 16:31:25 2020 +0200

    tracing: support configuring the jeager service name
---
 .../camel/k/tracing/TracingContextCustomizer.java  | 35 +++++++++++++++++++---
 .../k/tracing/TracingContextCustomizerTest.java    |  4 +++
 2 files changed, 35 insertions(+), 4 deletions(-)

diff --git 
a/camel-k-main/camel-k-runtime-tracing/src/main/java/org/apache/camel/k/tracing/TracingContextCustomizer.java
 
b/camel-k-main/camel-k-runtime-tracing/src/main/java/org/apache/camel/k/tracing/TracingContextCustomizer.java
index 4dbe627..56ff66e 100644
--- 
a/camel-k-main/camel-k-runtime-tracing/src/main/java/org/apache/camel/k/tracing/TracingContextCustomizer.java
+++ 
b/camel-k-main/camel-k-runtime-tracing/src/main/java/org/apache/camel/k/tracing/TracingContextCustomizer.java
@@ -16,17 +16,40 @@
  */
 package org.apache.camel.k.tracing;
 
+import java.util.Collections;
+import java.util.Map;
+
 import io.jaegertracing.Configuration;
+import io.opentracing.Tracer;
 import org.apache.camel.CamelContext;
 import org.apache.camel.k.ContextCustomizer;
 import org.apache.camel.k.annotation.Customizer;
 import org.apache.camel.opentracing.OpenTracingTracer;
+import org.apache.camel.util.ObjectHelper;
 
 @Customizer("tracing")
 public class TracingContextCustomizer implements ContextCustomizer {
+    private String serviceName;
+    private Map<String, String> tags;
     private Configuration.ReporterConfiguration reporter = new 
Configuration.ReporterConfiguration();
     private Configuration.SamplerConfiguration sampler = new 
Configuration.SamplerConfiguration();
 
+    public String getServiceName() {
+        return serviceName;
+    }
+
+    public void setServiceName(String serviceName) {
+        this.serviceName = serviceName;
+    }
+
+    public Map<String, String> getTags() {
+        return tags;
+    }
+
+    public void setTags(Map<String, String> tags) {
+        this.tags = tags;
+    }
+
     public Configuration.ReporterConfiguration getReporter() {
         return reporter;
     }
@@ -45,13 +68,17 @@ public class TracingContextCustomizer implements 
ContextCustomizer {
 
     @Override
     public void apply(CamelContext camelContext) {
-        OpenTracingTracer openTracingTracer = new OpenTracingTracer();
-        openTracingTracer.setTracer(new Configuration(camelContext.getName())
+        ObjectHelper.notNull(serviceName, "service-name");
+
+        Tracer tracer = new Configuration(camelContext.getName())
+            .withServiceName(serviceName)
+            .withTracerTags(tags != null ? tags : Collections.emptyMap())
             .withReporter(reporter)
             .withSampler(sampler)
-            .getTracer()
-        );
+            .getTracer();
 
+        OpenTracingTracer openTracingTracer = new OpenTracingTracer();
+        openTracingTracer.setTracer(tracer);
         openTracingTracer.init(camelContext);
     }
 }
diff --git 
a/camel-k-main/camel-k-runtime-tracing/src/test/java/org/apache/camel/k/tracing/TracingContextCustomizerTest.java
 
b/camel-k-main/camel-k-runtime-tracing/src/test/java/org/apache/camel/k/tracing/TracingContextCustomizerTest.java
index a67f6ff..7e41d2d 100644
--- 
a/camel-k-main/camel-k-runtime-tracing/src/test/java/org/apache/camel/k/tracing/TracingContextCustomizerTest.java
+++ 
b/camel-k-main/camel-k-runtime-tracing/src/test/java/org/apache/camel/k/tracing/TracingContextCustomizerTest.java
@@ -28,13 +28,16 @@ import static org.assertj.core.api.Assertions.assertThat;
 public class TracingContextCustomizerTest {
     @Test
     public void testTracingConfiguration() {
+        final String serviceName = "my-service";
         final String endpoint = "http://jaeger:14268/api/traces";;
         final String type = "const";
         final int param = new Random().nextInt(10);
 
         Runtime runtime = Runtime.on(new DefaultCamelContext());
         runtime.setProperties(
+            "service-name", serviceName,
             "camel.k.customizer.tracing.enabled", "true",
+            "camel.k.customizer.tracing.service-name", "{{service-name}}",
             "camel.k.customizer.tracing.reporter.sender.endpoint", endpoint,
             "camel.k.customizer.tracing.sampler.type", type,
             "camel.k.customizer.tracing.sampler.param", 
Integer.toString(param));
@@ -43,6 +46,7 @@ public class TracingContextCustomizerTest {
             .hasOnlyOneElementSatisfying(customizer -> {
                 assertThat(customizer)
                     .isInstanceOfSatisfying(TracingContextCustomizer.class, 
tracing -> {
+                        
assertThat(tracing.getServiceName()).isEqualTo(serviceName);
                         
assertThat(tracing.getReporter().getSenderConfiguration().getEndpoint()).isEqualTo(endpoint);
                         
assertThat(tracing.getSampler().getType()).isEqualTo(type);
                         
assertThat(tracing.getSampler().getParam().intValue()).isEqualTo(param);

Reply via email to