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