You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2018/06/17 17:31:11 UTC
[camel] 01/02: Updates to latest zipkin,
eliminating SpanCollector dependency
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 05b49093e416587cac6d6b5d4fe84bf6a118a486
Author: Adrian Cole <ac...@pivotal.io>
AuthorDate: Wed Jun 13 16:27:54 2018 +0800
Updates to latest zipkin, eliminating SpanCollector dependency
This reduces the effort of renovating the zipkin component by reducing
the apis used to send data to Zipkin.
---
components/camel-zipkin/pom.xml | 14 +++---
.../camel/zipkin/ZipkinLoggingSpanCollector.java | 58 ----------------------
.../java/org/apache/camel/zipkin/ZipkinTracer.java | 46 ++++-------------
.../camel/zipkin/scribe/ZipkinABCRouteScribe.java | 16 ++++--
.../zipkin/scribe/ZipkinMulticastRouteScribe.java | 16 ++++--
.../scribe/ZipkinOneRouteFallbackScribe.java | 16 ++++--
.../camel/zipkin/scribe/ZipkinOneRouteScribe.java | 16 ++++--
.../zipkin/scribe/ZipkinSimpleRouteScribe.java | 17 +++++--
.../zipkin/scribe/ZipkinTimerRouteScribe.java | 17 +++++--
.../camel/zipkin/scribe/ZipkinTwoRouteScribe.java | 17 +++++--
.../camel/zipkin/SpringZipkinSimpleRouteTest.xml | 6 +--
parent/pom.xml | 4 +-
.../karaf/features/src/main/resources/features.xml | 4 +-
.../camel-zipkin-starter/pom.xml | 8 +++
14 files changed, 126 insertions(+), 129 deletions(-)
diff --git a/components/camel-zipkin/pom.xml b/components/camel-zipkin/pom.xml
index 3181be3..0177737 100644
--- a/components/camel-zipkin/pom.xml
+++ b/components/camel-zipkin/pom.xml
@@ -48,21 +48,22 @@
<artifactId>camel-core</artifactId>
</dependency>
- <!-- brave/zipkin -->
+ <!-- to send to zipkin server -->
<dependency>
- <groupId>io.zipkin.brave</groupId>
- <artifactId>brave-core</artifactId>
- <version>${brave-zipkin-version}</version>
+ <groupId>io.zipkin.reporter2</groupId>
+ <artifactId>zipkin-sender-libthrift</artifactId>
+ <version>${zipkin-reporter-version}</version>
</dependency>
- <!-- to send to zipkin server -->
<dependency>
<groupId>io.zipkin.reporter2</groupId>
<artifactId>zipkin-sender-urlconnection</artifactId>
<version>${zipkin-reporter-version}</version>
</dependency>
+
+ <!-- brave/zipkin -->
<dependency>
<groupId>io.zipkin.brave</groupId>
- <artifactId>brave-spancollector-scribe</artifactId>
+ <artifactId>brave-core</artifactId>
<version>${brave-zipkin-version}</version>
</dependency>
@@ -87,7 +88,6 @@
<artifactId>log4j-slf4j-impl</artifactId>
<scope>test</scope>
</dependency>
-
</dependencies>
<build>
diff --git a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinLoggingSpanCollector.java b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinLoggingSpanCollector.java
deleted file mode 100644
index 1299530..0000000
--- a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinLoggingSpanCollector.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.zipkin;
-
-import com.github.kristofa.brave.SpanCollector;
-import com.twitter.zipkin.gen.Span;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * To collect zipkin span's using a logger.
- */
-public class ZipkinLoggingSpanCollector implements SpanCollector {
-
- private final String name;
- private final Logger logger;
-
- public ZipkinLoggingSpanCollector() {
- this(ZipkinLoggingSpanCollector.class.getName());
- }
-
- public ZipkinLoggingSpanCollector(String name) {
- this.name = name;
- this.logger = LoggerFactory.getLogger(name);
- }
-
- @Override
- public void collect(Span span) {
- if (logger.isTraceEnabled()) {
- String name = span.getName();
- String traceId = "" + span.getTrace_id();
- String spanId = "" + span.getId();
- String parentId = "" + span.getParent_id();
- long ms = span.getDuration() != null ? span.getDuration() / 1000 : -1;
- logger.info("Zipkin[name={}, traceId={}, spanId={}, parentId={}, duration={} ms]", name, traceId, spanId, parentId, ms);
- }
- }
-
- @Override
- public void addDefaultAnnotation(String key, String value) {
- // noop
- }
-
-}
diff --git a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
index fa6d8d2..5d3f658 100644
--- a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
+++ b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
@@ -27,8 +27,6 @@ import com.github.kristofa.brave.Brave;
import com.github.kristofa.brave.ClientSpanThreadBinder;
import com.github.kristofa.brave.ServerSpan;
import com.github.kristofa.brave.ServerSpanThreadBinder;
-import com.github.kristofa.brave.SpanCollector;
-import com.github.kristofa.brave.scribe.ScribeSpanCollector;
import com.twitter.zipkin.gen.Span;
import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
@@ -60,6 +58,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import zipkin2.reporter.AsyncReporter;
import zipkin2.reporter.Reporter;
+import zipkin2.reporter.libthrift.LibthriftSender;
import zipkin2.reporter.urlconnection.URLConnectionSender;
import static org.apache.camel.builder.ExpressionBuilder.routeIdExpression;
@@ -114,7 +113,6 @@ public class ZipkinTracer extends ServiceSupport implements RoutePolicyFactory,
private String hostName;
private int port;
private float rate = 1.0f;
- private SpanCollector spanCollector;
private Reporter<zipkin2.Span> spanReporter;
private Map<String, String> clientServiceMappings = new HashMap<>();
private Map<String, String> serverServiceMappings = new HashMap<>();
@@ -206,16 +204,6 @@ public class ZipkinTracer extends ServiceSupport implements RoutePolicyFactory,
this.rate = rate;
}
- /**
- * Returns the legacy span collector or null if using the reporter
- *
- * @deprecated use {@link #getSpanReporter()}
- */
- @Deprecated
- public SpanCollector getSpanCollector() {
- return spanCollector;
- }
-
/** Sets the reporter used to send timing data (spans) to the zipkin server. */
public void setSpanReporter(Reporter<zipkin2.Span> spanReporter) {
this.spanReporter = spanReporter;
@@ -226,12 +214,6 @@ public class ZipkinTracer extends ServiceSupport implements RoutePolicyFactory,
return spanReporter;
}
- /** @deprecated use {@link #setSpanReporter(Reporter)} */
- @Deprecated
- public void setSpanCollector(SpanCollector spanCollector) {
- this.spanCollector = spanCollector;
- }
-
public String getServiceName() {
return clientServiceMappings.get("*");
}
@@ -346,13 +328,13 @@ public class ZipkinTracer extends ServiceSupport implements RoutePolicyFactory,
}
if (spanReporter == null) {
- if (spanCollector != null) { // possible via setter
- } else if (endpoint != null) {
+ if (endpoint != null) {
LOG.info("Configuring Zipkin URLConnectionSender using endpoint: {} ", endpoint);
spanReporter = AsyncReporter.create(URLConnectionSender.create(endpoint));
} else if (hostName != null && port > 0) {
LOG.info("Configuring Zipkin ScribeSpanCollector using host: {} and port: {}", hostName, port);
- spanCollector = new ScribeSpanCollector(hostName, port);
+ LibthriftSender sender = LibthriftSender.newBuilder().host(hostName).port(port).build();
+ spanReporter = AsyncReporter.create(sender);
} else {
// is there a zipkin service setup as ENV variable to auto register a span reporter
String host = new ServiceHostPropertiesFunction().apply(ZIPKIN_COLLECTOR_HTTP_SERVICE);
@@ -368,13 +350,14 @@ public class ZipkinTracer extends ServiceSupport implements RoutePolicyFactory,
if (ObjectHelper.isNotEmpty(host) && ObjectHelper.isNotEmpty(port)) {
LOG.info("Auto-configuring Zipkin ScribeSpanCollector using host: {} and port: {}", host, port);
int num = camelContext.getTypeConverter().mandatoryConvertTo(Integer.class, port);
- spanCollector = new ScribeSpanCollector(host, num);
+ LibthriftSender sender = LibthriftSender.newBuilder().host(host).port(num).build();
+ spanReporter = AsyncReporter.create(sender);
}
}
}
}
- if (spanReporter == null && spanCollector == null) {
+ if (spanReporter == null) {
// Try to lookup the span reporter from the registry if only one instance is present
Set<Reporter> reporters = camelContext.getRegistry().findByType(Reporter.class);
if (reporters.size() == 1) {
@@ -382,9 +365,7 @@ public class ZipkinTracer extends ServiceSupport implements RoutePolicyFactory,
}
}
- if (spanCollector == null) {
- ObjectHelper.notNull(spanReporter, "Reporter<zipkin2.Span>", this);
- }
+ ObjectHelper.notNull(spanReporter, "Reporter<zipkin2.Span>", this);
if (clientServiceMappings.isEmpty() && serverServiceMappings.isEmpty()) {
LOG.warn("No service name(s) has been mapped in clientServiceMappings or serverServiceMappings. Camel will fallback and use endpoint uris as service names.");
@@ -529,14 +510,9 @@ public class ZipkinTracer extends ServiceSupport implements RoutePolicyFactory,
}
private Brave newBrave(String serviceName) {
- Brave.Builder builder = new Brave.Builder(serviceName)
- .traceSampler(com.github.kristofa.brave.Sampler.create(rate));
- if (spanReporter != null) {
- builder = builder.spanReporter(spanReporter);
- } else if (spanCollector != null) {
- builder.spanCollector(spanCollector);
- }
- return builder.build();
+ return new Brave.Builder(serviceName)
+ .traceSampler(com.github.kristofa.brave.Sampler.create(rate))
+ .spanReporter(spanReporter).build();
}
private Brave getBrave(String serviceName) {
diff --git a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinABCRouteScribe.java b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinABCRouteScribe.java
index 913a58e..e404641 100644
--- a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinABCRouteScribe.java
+++ b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinABCRouteScribe.java
@@ -16,9 +16,10 @@
*/
package org.apache.camel.zipkin.scribe;
-import com.github.kristofa.brave.scribe.ScribeSpanCollector;
import org.apache.camel.zipkin.ZipkinABCRouteTest;
import org.apache.camel.zipkin.ZipkinTracer;
+import zipkin2.reporter.AsyncReporter;
+import zipkin2.reporter.libthrift.LibthriftSender;
/**
* Integration test requires running Zipkin/Scribe running
@@ -26,11 +27,20 @@ import org.apache.camel.zipkin.ZipkinTracer;
* <p>The easiest way to run is locally:
* <pre>{@code
* curl -sSL https://zipkin.io/quickstart.sh | bash -s
- * SCRIBE_ENABLED=true java -jar zipkin.jar
+ * curl -sSL https://zipkin.io/quickstart.sh | bash -s io.zipkin.java:zipkin-autoconfigure-collector-scribe:LATEST:module scribe.jar
+ * SCRIBE_ENABLED=true \
+ * java \
+ * -Dloader.path='scribe.jar,scribe.jar!/lib' \
+ * -Dspring.profiles.active=scribe \
+ * -cp zipkin.jar \
+ * org.springframework.boot.loader.PropertiesLauncher
* }</pre>
+ *
+ * <p>Note: the scribe transport is deprecated. Most use out-of-box defaults, such as Http, RabbitMQ
+ * or Kafka.
*/
public class ZipkinABCRouteScribe extends ZipkinABCRouteTest {
@Override protected void setSpanReporter(ZipkinTracer zipkin) {
- zipkin.setSpanCollector(new ScribeSpanCollector("127.0.0.1", 9410));
+ zipkin.setSpanReporter(AsyncReporter.create(LibthriftSender.create("127.0.0.1")));
}
}
diff --git a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinMulticastRouteScribe.java b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinMulticastRouteScribe.java
index 14e200e..8845185 100644
--- a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinMulticastRouteScribe.java
+++ b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinMulticastRouteScribe.java
@@ -16,9 +16,10 @@
*/
package org.apache.camel.zipkin.scribe;
-import com.github.kristofa.brave.scribe.ScribeSpanCollector;
import org.apache.camel.zipkin.ZipkinMulticastRouteTest;
import org.apache.camel.zipkin.ZipkinTracer;
+import zipkin2.reporter.AsyncReporter;
+import zipkin2.reporter.libthrift.LibthriftSender;
/**
* Integration test requires running Zipkin/Scribe running
@@ -26,11 +27,20 @@ import org.apache.camel.zipkin.ZipkinTracer;
* <p>The easiest way to run is locally:
* <pre>{@code
* curl -sSL https://zipkin.io/quickstart.sh | bash -s
- * SCRIBE_ENABLED=true java -jar zipkin.jar
+ * curl -sSL https://zipkin.io/quickstart.sh | bash -s io.zipkin.java:zipkin-autoconfigure-collector-scribe:LATEST:module scribe.jar
+ * SCRIBE_ENABLED=true \
+ * java \
+ * -Dloader.path='scribe.jar,scribe.jar!/lib' \
+ * -Dspring.profiles.active=scribe \
+ * -cp zipkin.jar \
+ * org.springframework.boot.loader.PropertiesLauncher
* }</pre>
+ *
+ * <p>Note: the scribe transport is deprecated. Most use out-of-box defaults, such as Http, RabbitMQ
+ * or Kafka.
*/
public class ZipkinMulticastRouteScribe extends ZipkinMulticastRouteTest {
@Override protected void setSpanReporter(ZipkinTracer zipkin) {
- zipkin.setSpanCollector(new ScribeSpanCollector("127.0.0.1", 9410));
+ zipkin.setSpanReporter(AsyncReporter.create(LibthriftSender.create("127.0.0.1")));
}
}
diff --git a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinOneRouteFallbackScribe.java b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinOneRouteFallbackScribe.java
index d389e26..454ba7c 100644
--- a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinOneRouteFallbackScribe.java
+++ b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinOneRouteFallbackScribe.java
@@ -16,9 +16,10 @@
*/
package org.apache.camel.zipkin.scribe;
-import com.github.kristofa.brave.scribe.ScribeSpanCollector;
import org.apache.camel.zipkin.ZipkinOneRouteFallbackTest;
import org.apache.camel.zipkin.ZipkinTracer;
+import zipkin2.reporter.AsyncReporter;
+import zipkin2.reporter.libthrift.LibthriftSender;
/**
* Integration test requires running Zipkin/Scribe running
@@ -26,11 +27,20 @@ import org.apache.camel.zipkin.ZipkinTracer;
* <p>The easiest way to run is locally:
* <pre>{@code
* curl -sSL https://zipkin.io/quickstart.sh | bash -s
- * SCRIBE_ENABLED=true java -jar zipkin.jar
+ * curl -sSL https://zipkin.io/quickstart.sh | bash -s io.zipkin.java:zipkin-autoconfigure-collector-scribe:LATEST:module scribe.jar
+ * SCRIBE_ENABLED=true \
+ * java \
+ * -Dloader.path='scribe.jar,scribe.jar!/lib' \
+ * -Dspring.profiles.active=scribe \
+ * -cp zipkin.jar \
+ * org.springframework.boot.loader.PropertiesLauncher
* }</pre>
+ *
+ * <p>Note: the scribe transport is deprecated. Most use out-of-box defaults, such as Http, RabbitMQ
+ * or Kafka.
*/
public class ZipkinOneRouteFallbackScribe extends ZipkinOneRouteFallbackTest {
@Override protected void setSpanReporter(ZipkinTracer zipkin) {
- zipkin.setSpanCollector(new ScribeSpanCollector("127.0.0.1", 9410));
+ zipkin.setSpanReporter(AsyncReporter.create(LibthriftSender.create("127.0.0.1")));
}
}
diff --git a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinOneRouteScribe.java b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinOneRouteScribe.java
index 2ef1001..ca9f157 100644
--- a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinOneRouteScribe.java
+++ b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinOneRouteScribe.java
@@ -16,9 +16,10 @@
*/
package org.apache.camel.zipkin.scribe;
-import com.github.kristofa.brave.scribe.ScribeSpanCollector;
import org.apache.camel.zipkin.ZipkinOneRouteTest;
import org.apache.camel.zipkin.ZipkinTracer;
+import zipkin2.reporter.AsyncReporter;
+import zipkin2.reporter.libthrift.LibthriftSender;
/**
* Integration test requires running Zipkin/Scribe running
@@ -26,11 +27,20 @@ import org.apache.camel.zipkin.ZipkinTracer;
* <p>The easiest way to run is locally:
* <pre>{@code
* curl -sSL https://zipkin.io/quickstart.sh | bash -s
- * SCRIBE_ENABLED=true java -jar zipkin.jar
+ * curl -sSL https://zipkin.io/quickstart.sh | bash -s io.zipkin.java:zipkin-autoconfigure-collector-scribe:LATEST:module scribe.jar
+ * SCRIBE_ENABLED=true \
+ * java \
+ * -Dloader.path='scribe.jar,scribe.jar!/lib' \
+ * -Dspring.profiles.active=scribe \
+ * -cp zipkin.jar \
+ * org.springframework.boot.loader.PropertiesLauncher
* }</pre>
+ *
+ * <p>Note: the scribe transport is deprecated. Most use out-of-box defaults, such as Http, RabbitMQ
+ * or Kafka.
*/
public class ZipkinOneRouteScribe extends ZipkinOneRouteTest {
@Override protected void setSpanReporter(ZipkinTracer zipkin) {
- zipkin.setSpanCollector(new ScribeSpanCollector("127.0.0.1", 9410));
+ zipkin.setSpanReporter(AsyncReporter.create(LibthriftSender.create("127.0.0.1")));
}
}
diff --git a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinSimpleRouteScribe.java b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinSimpleRouteScribe.java
index 2d5e557..4a153c3 100644
--- a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinSimpleRouteScribe.java
+++ b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinSimpleRouteScribe.java
@@ -16,21 +16,32 @@
*/
package org.apache.camel.zipkin.scribe;
-import com.github.kristofa.brave.scribe.ScribeSpanCollector;
import org.apache.camel.zipkin.ZipkinSimpleRouteTest;
import org.apache.camel.zipkin.ZipkinTracer;
+import zipkin2.reporter.AsyncReporter;
+import zipkin2.reporter.libthrift.LibthriftSender;
/**
* Integration test requires running Zipkin/Scribe running
*
* <p>The easiest way to run is locally:
+ *
* <pre>{@code
* curl -sSL https://zipkin.io/quickstart.sh | bash -s
- * SCRIBE_ENABLED=true java -jar zipkin.jar
+ * curl -sSL https://zipkin.io/quickstart.sh | bash -s io.zipkin.java:zipkin-autoconfigure-collector-scribe:LATEST:module scribe.jar
+ * SCRIBE_ENABLED=true \
+ * java \
+ * -Dloader.path='scribe.jar,scribe.jar!/lib' \
+ * -Dspring.profiles.active=scribe \
+ * -cp zipkin.jar \
+ * org.springframework.boot.loader.PropertiesLauncher
* }</pre>
+ *
+ * <p>Note: the scribe transport is deprecated. Most use out-of-box defaults, such as Http, RabbitMQ
+ * or Kafka.
*/
public class ZipkinSimpleRouteScribe extends ZipkinSimpleRouteTest {
@Override protected void setSpanReporter(ZipkinTracer zipkin) {
- zipkin.setSpanCollector(new ScribeSpanCollector("127.0.0.1", 9410));
+ zipkin.setSpanReporter(AsyncReporter.create(LibthriftSender.create("127.0.0.1")));
}
}
diff --git a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinTimerRouteScribe.java b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinTimerRouteScribe.java
index 816735e..4fd583b 100644
--- a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinTimerRouteScribe.java
+++ b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinTimerRouteScribe.java
@@ -16,21 +16,32 @@
*/
package org.apache.camel.zipkin.scribe;
-import com.github.kristofa.brave.scribe.ScribeSpanCollector;
import org.apache.camel.zipkin.ZipkinTimerRouteTest;
import org.apache.camel.zipkin.ZipkinTracer;
+import zipkin2.reporter.AsyncReporter;
+import zipkin2.reporter.libthrift.LibthriftSender;
/**
* Integration test requires running Zipkin/Scribe running
*
* <p>The easiest way to run is locally:
+ *
* <pre>{@code
* curl -sSL https://zipkin.io/quickstart.sh | bash -s
- * SCRIBE_ENABLED=true java -jar zipkin.jar
+ * curl -sSL https://zipkin.io/quickstart.sh | bash -s io.zipkin.java:zipkin-autoconfigure-collector-scribe:LATEST:module scribe.jar
+ * SCRIBE_ENABLED=true \
+ * java \
+ * -Dloader.path='scribe.jar,scribe.jar!/lib' \
+ * -Dspring.profiles.active=scribe \
+ * -cp zipkin.jar \
+ * org.springframework.boot.loader.PropertiesLauncher
* }</pre>
+ *
+ * <p>Note: the scribe transport is deprecated. Most use out-of-box defaults, such as Http, RabbitMQ
+ * or Kafka.
*/
public class ZipkinTimerRouteScribe extends ZipkinTimerRouteTest {
@Override protected void setSpanReporter(ZipkinTracer zipkin) {
- zipkin.setSpanCollector(new ScribeSpanCollector("127.0.0.1", 9410));
+ zipkin.setSpanReporter(AsyncReporter.create(LibthriftSender.create("127.0.0.1")));
}
}
diff --git a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinTwoRouteScribe.java b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinTwoRouteScribe.java
index bf6187e..14833fd 100644
--- a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinTwoRouteScribe.java
+++ b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinTwoRouteScribe.java
@@ -16,21 +16,32 @@
*/
package org.apache.camel.zipkin.scribe;
-import com.github.kristofa.brave.scribe.ScribeSpanCollector;
import org.apache.camel.zipkin.ZipkinTracer;
import org.apache.camel.zipkin.ZipkinTwoRouteTest;
+import zipkin2.reporter.AsyncReporter;
+import zipkin2.reporter.libthrift.LibthriftSender;
/**
* Integration test requires running Zipkin/Scribe running
*
* <p>The easiest way to run is locally:
+ *
* <pre>{@code
* curl -sSL https://zipkin.io/quickstart.sh | bash -s
- * SCRIBE_ENABLED=true java -jar zipkin.jar
+ * curl -sSL https://zipkin.io/quickstart.sh | bash -s io.zipkin.java:zipkin-autoconfigure-collector-scribe:LATEST:module scribe.jar
+ * SCRIBE_ENABLED=true \
+ * java \
+ * -Dloader.path='scribe.jar,scribe.jar!/lib' \
+ * -Dspring.profiles.active=scribe \
+ * -cp zipkin.jar \
+ * org.springframework.boot.loader.PropertiesLauncher
* }</pre>
+ *
+ * <p>Note: the scribe transport is deprecated. Most use out-of-box defaults, such as Http, RabbitMQ
+ * or Kafka.
*/
public class ZipkinTwoRouteScribe extends ZipkinTwoRouteTest {
@Override protected void setSpanReporter(ZipkinTracer zipkin) {
- zipkin.setSpanCollector(new ScribeSpanCollector("127.0.0.1", 9410));
+ zipkin.setSpanReporter(AsyncReporter.create(LibthriftSender.create("127.0.0.1")));
}
}
diff --git a/components/camel-zipkin/src/test/resources/org/apache/camel/zipkin/SpringZipkinSimpleRouteTest.xml b/components/camel-zipkin/src/test/resources/org/apache/camel/zipkin/SpringZipkinSimpleRouteTest.xml
index ebbffd7..7257e82 100644
--- a/components/camel-zipkin/src/test/resources/org/apache/camel/zipkin/SpringZipkinSimpleRouteTest.xml
+++ b/components/camel-zipkin/src/test/resources/org/apache/camel/zipkin/SpringZipkinSimpleRouteTest.xml
@@ -24,13 +24,13 @@
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
">
- <!-- to use a logger as the collector (for testing) -->
- <bean id="logSpanCollector" class="org.apache.camel.zipkin.ZipkinLoggingSpanCollector"/>
+ <!-- to use a logger as the span reporter (for testing) -->
+ <bean id="logSpanReporter" class="com.github.kristofa.brave.LoggingReporter"/>
<!-- setup zipkin tracer -->
<bean id="zipkinTracer" class="org.apache.camel.zipkin.ZipkinTracer">
<property name="serviceName" value="dude"/>
- <property name="spanCollector" ref="logSpanCollector"/>
+ <property name="spanReporter" ref="logSpanReporter"/>
</bean>
<camelContext xmlns="http://camel.apache.org/schema/spring">
diff --git a/parent/pom.xml b/parent/pom.xml
index 4537d98..2ad58fa 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -750,8 +750,8 @@
<yammer-metrics-version>2.2.0</yammer-metrics-version>
<zendesk-client-version>0.6.2</zendesk-client-version>
<zipkin-libthrift-version>0.9.3</zipkin-libthrift-version>
- <zipkin-reporter-version>2.3.1</zipkin-reporter-version>
- <zipkin-version>2.4.5</zipkin-version>
+ <zipkin-reporter-version>2.7.3</zipkin-reporter-version>
+ <zipkin-version>2.9.3</zipkin-version>
<zjsonpatch-version>0.3.0</zjsonpatch-version>
<zookeeper-version>3.4.10</zookeeper-version>
<zookeeper-guava-version>16.0</zookeeper-guava-version>
diff --git a/platforms/karaf/features/src/main/resources/features.xml b/platforms/karaf/features/src/main/resources/features.xml
index 6f5f31f..c932b7e 100644
--- a/platforms/karaf/features/src/main/resources/features.xml
+++ b/platforms/karaf/features/src/main/resources/features.xml
@@ -2483,12 +2483,10 @@
<feature name='camel-zipkin' version='${project.version}' resolver='(obr)' start-level='50'>
<feature version='${project.version}'>camel-core</feature>
<bundle dependency='true'>mvn:io.zipkin.brave/brave-core/${brave-zipkin-version}</bundle>
- <bundle dependency='true'>mvn:io.zipkin.brave/brave-spancollector-scribe/${brave-zipkin-version}</bundle>
- <!-- io.zipkin.brave/brave-core depends on both versions of zipkin, io.zipkin.brave/brave does not -->
- <bundle dependency='true'>mvn:io.zipkin.java/zipkin/${zipkin-version}</bundle>
<bundle dependency='true'>mvn:io.zipkin.zipkin2/zipkin/${zipkin-version}</bundle>
<bundle dependency='true'>mvn:io.zipkin.reporter2/zipkin-reporter/${zipkin-reporter-version}</bundle>
<bundle dependency='true'>mvn:io.zipkin.reporter2/zipkin-sender-urlconnection/${zipkin-reporter-version}</bundle>
+ <bundle dependency='true'>mvn:io.zipkin.reporter2/zipkin-sender-libthrift/${zipkin-reporter-version}</bundle>
<bundle dependency='true'>mvn:org.apache.thrift/libthrift/${zipkin-libthrift-version}</bundle>
<bundle>mvn:org.apache.camel/camel-zipkin/${project.version}</bundle>
</feature>
diff --git a/platforms/spring-boot/components-starter/camel-zipkin-starter/pom.xml b/platforms/spring-boot/components-starter/camel-zipkin-starter/pom.xml
index 5df742c..c36a565 100644
--- a/platforms/spring-boot/components-starter/camel-zipkin-starter/pom.xml
+++ b/platforms/spring-boot/components-starter/camel-zipkin-starter/pom.xml
@@ -38,6 +38,14 @@
<groupId>org.apache.camel</groupId>
<artifactId>camel-zipkin</artifactId>
<version>${project.version}</version>
+ <!--START OF GENERATED CODE-->
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ <!--END OF GENERATED CODE-->
</dependency>
<!--START OF GENERATED CODE-->
<dependency>
--
To stop receiving notification emails like this one, please contact
acosentino@apache.org.