Skip to content

Commit

Permalink
Prefers zipkin reporter2 (openzipkin#502)
Browse files Browse the repository at this point in the history
This prefers `zipkin.reporter2` artifacts, as they can lead us to a
place where zipkin v1 deps are optional. That isn't the case now, but
can be started on.
  • Loading branch information
adriancole committed Sep 22, 2017
1 parent d6b8523 commit bfcea48
Show file tree
Hide file tree
Showing 30 changed files with 108 additions and 74 deletions.
5 changes: 5 additions & 0 deletions archive/brave-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@
<artifactId>zipkin-reporter</artifactId>
<version>${zipkin-reporter.version}</version>
</dependency>
<dependency>
<groupId>io.zipkin.reporter2</groupId>
<artifactId>zipkin-reporter</artifactId>
<version>${zipkin-reporter2.version}</version>
</dependency>
<!-- for value types... don't worry. this dependency is compile only! -->
<dependency>
<groupId>com.google.auto.value</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
/**
* Implemented {@link #sendSpans} to transport a encoded list of spans to Zipkin.
*
* @deprecated replaced by {@link zipkin.reporter.AsyncReporter}
* @deprecated replaced by {@link zipkin2.reporter.AsyncReporter}
*/
@Deprecated
public abstract class AbstractSpanCollector extends FlushingSpanCollector {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
*
* @author adriaens
*
* @deprecated replaced by {@link zipkin.reporter.Reporter#NOOP}.
* @deprecated replaced by {@link zipkin2.reporter.Reporter#NOOP}.
*/
@Deprecated
public class EmptySpanCollector implements SpanCollector {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

/**
* Empty implementation ignoring all events.
* @deprecated Replaced by {@code zipkin.reporter.ReporterMetrics#NOOP_METRICS}
* @deprecated Replaced by {@code zipkin2.reporter.ReporterMetrics#NOOP_METRICS}
*/
@Deprecated
public class EmptySpanCollectorMetricsHandler implements SpanCollectorMetricsHandler {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
* Extend this class to offload the task of reporting spans to separate thread. By doing so, callers
* are protected from latency or exceptions possible when exporting spans out of process.
*
* @deprecated replaced by {@link zipkin.reporter.AsyncReporter}
* @deprecated replaced by {@link zipkin2.reporter.AsyncReporter}
*/
@Deprecated
public abstract class FlushingSpanCollector implements SpanCollector, Flushable, Closeable {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*
* @author kristof
*
* @deprecated replaced by {@link zipkin.reporter.Reporter}
* @deprecated replaced by {@link zipkin2.reporter.Reporter}
*/
@Deprecated
public interface SpanCollector {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Monitor {@linkplain SpanCollector} by implementing reactions to these events, e.g. updating suitable metrics.
*
* See DropwizardMetricsScribeCollectorMetricsHandlerExample in isSampled sources for an example.
* @deprecated Replaced by {@code zipkin.reporter.ReporterMetrics}
* @deprecated Replaced by {@code zipkin2.reporter.ReporterMetrics}
*/
@Deprecated
public interface SpanCollectorMetricsHandler {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@

import brave.Tracing;
import org.junit.After;
import zipkin.Span;
import zipkin.reporter.Reporter;

public class Brave4ClientTracerTest extends ClientTracerTest {
@Override Brave newBrave() {
return TracerAdapter.newBrave(Tracing.newBuilder()
.clock(new AnnotationSubmitter.DefaultClock()::currentTimeMicroseconds)
.localEndpoint(ZIPKIN_ENDPOINT)
.clock(clock::currentTimeMicroseconds)
.reporter(spans::add).build().tracer());
.reporter((Reporter<Span>) spans::add).build().tracer());
}

@After public void close(){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,22 @@

import brave.Tracing;
import org.junit.After;
import zipkin.Span;
import zipkin.reporter.Reporter;

public class Brave4LocalTracerTest extends LocalTracerTest {
@Override Brave newBrave() {
return TracerAdapter.newBrave(Tracing.newBuilder()
.clock(clock::currentTimeMicroseconds)
.localEndpoint(ZIPKIN_ENDPOINT)
.reporter(spans::add).build().tracer());
.reporter((Reporter<Span>) spans::add).build().tracer());
}

@Override Brave newBrave(ServerClientAndLocalSpanState state) {
return TracerAdapter.newBrave(Tracing.newBuilder()
.clock(clock::currentTimeMicroseconds)
.localEndpoint(ZIPKIN_ENDPOINT)
.reporter(spans::add).build().tracer(), state);
.reporter((Reporter<Span>) spans::add).build().tracer(), state);
}

@After public void close(){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@

import brave.Tracing;
import org.junit.After;
import zipkin.Span;
import zipkin.reporter.Reporter;

public class Brave4ServerRequestInterceptorTest extends ServerRequestInterceptorTest {
@Override Brave newBrave() {
return TracerAdapter.newBrave(Tracing.newBuilder()
.localEndpoint(ZIPKIN_ENDPOINT)
.reporter(spans::add).build().tracer());
.reporter((Reporter<Span>) spans::add).build().tracer());
}

@After public void close(){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@

import brave.Tracing;
import org.junit.After;
import zipkin.Span;
import zipkin.reporter.Reporter;

public class Brave4ServerTracerTest extends ServerTracerTest {
@Override Brave newBrave() {
return TracerAdapter.newBrave(Tracing.newBuilder()
.clock(clock::currentTimeMicroseconds)
.localEndpoint(ZIPKIN_ENDPOINT)
.reporter(spans::add).build().tracer());
.reporter((Reporter<Span>) spans::add).build().tracer());
}

@After public void close(){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,13 @@
import brave.Tracing;
import com.github.kristofa.brave.TracerAdapter;
import org.junit.After;
import zipkin.Span;
import zipkin.reporter.Reporter;

public class Brave4MaybeAddClientAddressTest extends MaybeAddClientAddressTest {
public Brave4MaybeAddClientAddressTest() {
brave = TracerAdapter.newBrave(Tracing.newBuilder().reporter(spans::add).build().tracer());
brave = TracerAdapter.newBrave(
Tracing.newBuilder().reporter((Reporter<Span>) spans::add).build().tracer());
}

@After public void close(){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
/**
* SpanCollector which submits spans to Zipkin, using its {@code POST /spans} endpoint.
*
* @deprecated replaced by {@link zipkin.reporter.AsyncReporter} and {@code URLConnectionSender}
* located in the "io.zipkin.reporter:zipkin-sender-urlconnection" dependency.
* @deprecated replaced by {@link zipkin2.reporter.AsyncReporter} and {@code URLConnectionSender}
* located in the "io.zipkin.reporter2:zipkin-sender-urlconnection" dependency.
*/
@Deprecated
public final class HttpSpanCollector extends AbstractSpanCollector {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
*
* <p><b>Important</b> If using zipkin-collector-service (or zipkin-receiver-kafka), you must run v1.35+
*
* @deprecated replaced by {@link zipkin.reporter.AsyncReporter} and {@code KafkaSender}
* located in the "io.zipkin.reporter:zipkin-sender-kafka08" dependency.
* @deprecated replaced by {@link zipkin2.reporter.AsyncReporter} and {@code KafkaSender}
* located in the "io.zipkin.reporter2:zipkin-sender-kafka11" dependency.
*/
@Deprecated
public final class KafkaSpanCollector extends AbstractSpanCollector {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@
/**
* SpanCollector which submits spans directly to a Zipkin {@link StorageComponent}.
*
* @deprecated replaced by {@link zipkin.reporter.AsyncReporter} and {@code LocalSender}
* located in the "io.zipkin.reporter:zipkin-sender-local" dependency.
* @deprecated this is a niche component, please use something else
*/
@Deprecated
public final class LocalSpanCollector extends FlushingSpanCollector {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,11 @@
*
* @author kristof
*
* @deprecated replaced by {@link zipkin.reporter.AsyncReporter} and {@code LibthriftSender}
* located in the "io.zipkin.reporter:zipkin-sender-libthrift" dependency.
* @deprecated scribe is an archived transport. Please change to something else
*/
@Deprecated
public class ScribeSpanCollector implements SpanCollector, Closeable {

private static final String UTF_8 = "UTF-8";
private static final Logger LOGGER = Logger.getLogger(ScribeSpanCollector.class.getName());

private final BlockingQueue<Span> spanQueue;
Expand Down
10 changes: 5 additions & 5 deletions brave/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@ http (as opposed to Kafka).

```java
// Configure a reporter, which controls how often spans are sent
// (the dependency is io.zipkin.reporter:zipkin-sender-okhttp3)
sender = OkHttpSender.json("http://127.0.0.1:9411/api/v2/spans");
spanReporter = AsyncReporter.v2(sender);
// (the dependency is io.zipkin.reporter2:zipkin-sender-okhttp3)
sender = OkHttpSender.create("http://127.0.0.1:9411/api/v2/spans");
spanReporter = AsyncReporter.create(sender);
// Create a tracing component with the service name you want to see in Zipkin.
tracing = Tracing.newBuilder()
.localServiceName("my-service")
.spanReporter(spanReporter)
.reporter(reporter)
.build();

// Tracing exposes objects you might need, most importantly the tracer
Expand Down Expand Up @@ -477,7 +477,7 @@ ConcurrentLinkedDeque<Span> spans = new ConcurrentLinkedDeque<>();

Tracing tracing = Tracing.newBuilder()
.currentTraceContext(new StrictCurrentTraceContext())
.reporter(spans::add)
.reporter((Reporter<Span>) spans::add)
.build();

@After public void close() {
Expand Down
5 changes: 5 additions & 0 deletions brave/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@
<artifactId>zipkin-reporter</artifactId>
<version>${zipkin-reporter.version}</version>
</dependency>
<dependency>
<groupId>io.zipkin.reporter2</groupId>
<artifactId>zipkin-reporter</artifactId>
<version>${zipkin-reporter2.version}</version>
</dependency>
<dependency>
<groupId>org.jvnet</groupId>
<artifactId>animal-sniffer-annotation</artifactId>
Expand Down
15 changes: 11 additions & 4 deletions brave/src/main/java/brave/Tracer.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
import java.io.Closeable;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.annotation.Nullable;
import zipkin.reporter.Reporter;
import zipkin2.Endpoint;
import zipkin2.reporter.Reporter;

/**
* Using a tracer, you can create a root span capturing the critical path of a request. Child spans
Expand Down Expand Up @@ -76,17 +76,24 @@ public Builder localEndpoint(Endpoint localEndpoint) {

/** @deprecated use {@link #spanReporter(Reporter)} */
@Deprecated
public Builder reporter(Reporter<zipkin.Span> reporter) {
public Builder reporter(zipkin.reporter.Reporter<zipkin.Span> reporter) {
delegate.reporter(reporter);
return this;
}

/** @see Tracing.Builder#spanReporter(Reporter) */
public Builder spanReporter(Reporter<zipkin2.Span> reporter) {
/** @deprecated use {@link #spanReporter(Reporter)} */
@Deprecated
public Builder spanReporter(zipkin.reporter.Reporter<zipkin2.Span> reporter) {
delegate.spanReporter(reporter);
return this;
}

/** @see Tracing.Builder#reporter(Reporter) */
public Builder spanReporter(Reporter<zipkin2.Span> reporter) {
delegate.reporter(reporter);
return this;
}

/** @see Tracing.Builder#clock(Clock) */
public Builder clock(Clock clock) {
delegate.clock(clock);
Expand Down
40 changes: 27 additions & 13 deletions brave/src/main/java/brave/Tracing.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,10 @@
import java.io.Closeable;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.annotation.Nullable;
import zipkin.internal.V2SpanConverter;
import zipkin.reporter.AsyncReporter;
import zipkin.reporter.Reporter;
import zipkin.reporter.Sender;
import zipkin2.Endpoint;
import zipkin2.reporter.AsyncReporter;
import zipkin2.reporter.Reporter;
import zipkin2.reporter.Sender;

/**
* This provides utilities needed for trace instrumentation. For example, a {@link Tracer}.
Expand Down Expand Up @@ -154,31 +153,46 @@ public Builder localEndpoint(Endpoint localEndpoint) {
* <p>For example, here's how to batch send spans via http:
*
* <pre>{@code
* reporter = AsyncReporter.v2(URLConnectionSender.json("http://localhost:9411/api/v2/spans"));
* reporter = AsyncReporter.create(URLConnectionSender.create("http://localhost:9411/api/v2/spans"));
*
* tracingBuilder.spanReporter(reporter);
* tracingBuilder.reporter(reporter);
* }</pre>
*
* <p>See https://github.com/openzipkin/zipkin-reporter-java
*/
public Builder spanReporter(Reporter<zipkin2.Span> reporter) {
public Builder reporter(Reporter<zipkin2.Span> reporter) {
if (reporter == null) throw new NullPointerException("reporter == null");
this.reporter = reporter;
return this;
}

/** @deprecated use {@link #spanReporter(Reporter)} */
/** @deprecated use {@link #reporter(Reporter)} */
@Deprecated
public Builder reporter(final Reporter<zipkin.Span> reporter) {
public Builder spanReporter(zipkin.reporter.Reporter<zipkin2.Span> reporter) {
if (reporter == null) throw new NullPointerException("reporter == null");
if (reporter == Reporter.NOOP) {
this.reporter = s -> {
};
this.reporter = new Reporter<zipkin2.Span>() {
@Override public void report(zipkin2.Span span) {
reporter.report(span);
}

@Override public String toString() {
return reporter.toString();
}
};
return this;
}

/** @deprecated use {@link #reporter(Reporter)} */
@Deprecated
public Builder reporter(final zipkin.reporter.Reporter<zipkin.Span> reporter) {
if (reporter == null) throw new NullPointerException("reporter == null");
if (reporter == zipkin.reporter.Reporter.NOOP) {
this.reporter = Reporter.NOOP;
return this;
}
this.reporter = new Reporter<zipkin2.Span>() {
@Override public void report(zipkin2.Span span) {
reporter.report(V2SpanConverter.toSpan(span));
reporter.report(zipkin.internal.V2SpanConverter.toSpan(span));
}

@Override public String toString() {
Expand Down
2 changes: 1 addition & 1 deletion brave/src/main/java/brave/internal/Platform.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jvnet.animal_sniffer.IgnoreJRERequirement;
import zipkin.reporter.Reporter;
import zipkin2.Endpoint;
import zipkin2.reporter.Reporter;

/**
* Access to platform-specific features and implements a default logging reporter.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Nullable;
import zipkin.reporter.Reporter;
import zipkin2.Endpoint;
import zipkin2.reporter.Reporter;

/**
* Similar to Finagle's deadline span map, except this is GC pressure as opposed to timeout driven.
Expand Down
2 changes: 1 addition & 1 deletion brave/src/main/java/brave/internal/recorder/Recorder.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import brave.propagation.TraceContext;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.annotation.Nullable;
import zipkin.reporter.Reporter;
import zipkin2.Endpoint;
import zipkin2.reporter.Reporter;

/** Dispatches mutations on a span to a shared object per trace/span id. */
public final class Recorder {
Expand Down
Loading

0 comments on commit bfcea48

Please sign in to comment.