Merge pull request #287 from spring-cloud/zipkin-0.21.5
Moves to zipkin 0.21
This commit is contained in:
@@ -16,8 +16,7 @@
|
||||
<properties>
|
||||
<spring-cloud-netflix.version>1.1.1.BUILD-SNAPSHOT</spring-cloud-netflix.version>
|
||||
<aspectj.version>1.8.4</aspectj.version>
|
||||
<zipkin-java.version>0.18.0</zipkin-java.version>
|
||||
<zipkin-ui.version>1.40.0</zipkin-ui.version>
|
||||
<zipkin.version>0.21.5</zipkin.version>
|
||||
</properties>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
@@ -71,27 +70,27 @@
|
||||
<dependency>
|
||||
<groupId>io.zipkin.java</groupId>
|
||||
<artifactId>zipkin</artifactId>
|
||||
<version>${zipkin-java.version}</version>
|
||||
<version>${zipkin.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.zipkin.java</groupId>
|
||||
<artifactId>zipkin-server</artifactId>
|
||||
<version>${zipkin-java.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.zipkin</groupId>
|
||||
<artifactId>zipkin-ui</artifactId>
|
||||
<version>${zipkin-ui.version}</version>
|
||||
<version>${zipkin.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.zipkin.java</groupId>
|
||||
<artifactId>zipkin-storage-jdbc</artifactId>
|
||||
<version>${zipkin-java.version}</version>
|
||||
<artifactId>zipkin-autoconfigure-ui</artifactId>
|
||||
<version>${zipkin.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.zipkin.java</groupId>
|
||||
<artifactId>zipkin-autoconfigure-storage-mysql</artifactId>
|
||||
<version>${zipkin.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.zipkin.java</groupId>
|
||||
<artifactId>zipkin-junit</artifactId>
|
||||
<version>${zipkin-java.version}</version>
|
||||
<version>${zipkin.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
@@ -59,12 +59,12 @@
|
||||
<dependency>
|
||||
<groupId>io.zipkin.java</groupId>
|
||||
<artifactId>zipkin</artifactId>
|
||||
<version>0.18.0</version>
|
||||
<version>0.21.5</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.zipkin.java</groupId>
|
||||
<artifactId>zipkin-server</artifactId>
|
||||
<version>0.18.0</version>
|
||||
<version>0.21.5</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
@@ -27,7 +27,7 @@ and test it
|
||||
|
||||
```
|
||||
$ curl localhost:9411/api/v1/services
|
||||
["zipkin-query"]
|
||||
["zipkin-server"]
|
||||
```
|
||||
|
||||
## Instrumenting Apps
|
||||
|
||||
@@ -54,8 +54,8 @@
|
||||
<artifactId>spring-cloud-sleuth-zipkin-stream</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.zipkin</groupId>
|
||||
<artifactId>zipkin-ui</artifactId>
|
||||
<groupId>io.zipkin.java</groupId>
|
||||
<artifactId>zipkin-autoconfigure-ui</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.integration</groupId>
|
||||
|
||||
@@ -7,7 +7,7 @@ import org.springframework.boot.test.IntegrationTest;
|
||||
import org.springframework.boot.test.SpringApplicationConfiguration;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
import zipkin.SpanStore;
|
||||
import zipkin.storage.StorageComponent;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
@@ -18,11 +18,11 @@ import static org.junit.Assert.assertEquals;
|
||||
public class ZipkinServerApplicationTests {
|
||||
|
||||
@Autowired
|
||||
private SpanStore store;
|
||||
private StorageComponent storage;
|
||||
|
||||
@Test
|
||||
public void contextLoads() {
|
||||
int count = this.store.getServiceNames().size();
|
||||
int count = this.storage.spanStore().getServiceNames().size();
|
||||
assertEquals(0, count);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ public class ZipkinStreamServerApplication {
|
||||
}
|
||||
```
|
||||
|
||||
Zipkin has a web UI, which is enabled by default when you depend on `io.zipkin:zipkin-ui`.
|
||||
Zipkin has a web UI, which is enabled by default when you depend on `io.zipkin.java:zipkin-autoconfigure-ui`.
|
||||
|
||||
Bind to MySQL and the same Stream service that you did in the apps (rabbit, redis, kafka). Set `spring.datasource.initialize=true` the first time you start to initialize the database.
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.zipkin.java</groupId>
|
||||
<artifactId>zipkin-storage-jdbc</artifactId>
|
||||
<artifactId>zipkin-autoconfigure-storage-mysql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.h2database</groupId>
|
||||
|
||||
@@ -18,14 +18,15 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
import org.springframework.integration.annotation.MessageEndpoint;
|
||||
import org.springframework.integration.annotation.ServiceActivator;
|
||||
import zipkin.Annotation;
|
||||
import zipkin.AsyncSpanConsumer;
|
||||
import zipkin.BinaryAnnotation;
|
||||
import zipkin.BinaryAnnotation.Type;
|
||||
import zipkin.CollectorMetrics;
|
||||
import zipkin.CollectorSampler;
|
||||
import zipkin.Endpoint;
|
||||
import zipkin.Span.Builder;
|
||||
import zipkin.StorageComponent;
|
||||
import zipkin.collector.Collector;
|
||||
import zipkin.collector.CollectorMetrics;
|
||||
import zipkin.collector.CollectorSampler;
|
||||
import zipkin.storage.Callback;
|
||||
import zipkin.storage.StorageComponent;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.Collections;
|
||||
@@ -34,7 +35,7 @@ import java.util.Map;
|
||||
|
||||
/**
|
||||
* A message listener that is turned on if Sleuth Stream is disabled.
|
||||
* Asynchronously stores the received spans using {@link AsyncSpanConsumer}.
|
||||
* Asynchronously stores the received spans using {@link Collector}.
|
||||
*
|
||||
* @author Dave Syer
|
||||
* @since 1.0.0
|
||||
@@ -48,20 +49,23 @@ public class ZipkinMessageListener {
|
||||
private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory
|
||||
.getLog(ZipkinMessageListener.class);
|
||||
static final String UNKNOWN_PROCESS_ID = "unknown";
|
||||
final AsyncSpanConsumer consumer;
|
||||
final Collector collector;
|
||||
|
||||
/** lazy so transient storage errors don't crash bootstrap */
|
||||
@Lazy
|
||||
@Autowired
|
||||
ZipkinMessageListener(StorageComponent storage, CollectorSampler sampler,
|
||||
CollectorMetrics metrics) {
|
||||
this.consumer = storage.asyncSpanConsumer(sampler, metrics);
|
||||
this.collector = Collector.builder(getClass())
|
||||
.storage(storage)
|
||||
.sampler(sampler)
|
||||
.metrics(metrics).build();
|
||||
}
|
||||
|
||||
@ServiceActivator(inputChannel = SleuthSink.INPUT)
|
||||
public void sink(Spans input) {
|
||||
List<zipkin.Span> converted = ConvertToZipkinSpanList.convert(input);
|
||||
this.consumer.accept(converted, AsyncSpanConsumer.NOOP_CALLBACK);
|
||||
this.collector.accept(converted, Callback.NOOP);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.springframework.cloud.sleuth.zipkin.stream.ZipkinServerApplicationTes
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
import zipkin.SpanStore;
|
||||
import zipkin.storage.StorageComponent;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@SpringApplicationConfiguration(classes = ZipkinStreamServerApplication.class)
|
||||
@@ -22,11 +22,11 @@ import zipkin.SpanStore;
|
||||
public class ZipkinServerApplicationTests {
|
||||
|
||||
@Autowired
|
||||
private SpanStore store;
|
||||
private StorageComponent storage;
|
||||
|
||||
@Test
|
||||
public void contextLoads() {
|
||||
int count = this.store.getServiceNames().size();
|
||||
int count = this.storage.spanStore().getServiceNames().size();
|
||||
assertEquals(0, count);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user