Package zipkin2.reporter.brave
Class ZipkinSpanHandler
- java.lang.Object
-
- brave.handler.SpanHandler
-
- zipkin2.reporter.brave.ZipkinSpanHandler
-
- All Implemented Interfaces:
Closeable
public class ZipkinSpanHandler extends brave.handler.SpanHandler implements Closeable
This allows you to send spans recorded by Brave to a pre-configured Zipkin reporter.If you can't use
AsyncZipkinSpanHandlerbecause you are using an old format, construct the span handler like this:reporter = AsyncReporter.builder(URLConnectionSender.create("http://localhost:9411/api/v1/spans")) .build(SpanBytesEncoder.JSON_V1); tracingBuilder.addSpanHandler(ZipkinSpanHandler.create(reporter));Note: Use
AsyncZipkinSpanHandlerif you are usingSpanBytesEncoder.JSON_V2format. This handler has to convertMutableSpanintoSpan, and that conversion happens inline (during production requests) uponSpan.finish()orSpan.flush().- Since:
- 2.13
- See Also:
AsyncZipkinSpanHandler,Tracing.Builder.addSpanHandler(SpanHandler)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classZipkinSpanHandler.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Implementations that throw exceptions on close have bugs.static brave.handler.SpanHandlercreate(Reporter<zipkin2.Span> spanReporter)booleanend(brave.propagation.TraceContext context, brave.handler.MutableSpan span, brave.handler.SpanHandler.Cause cause)booleanequals(Object o)Overridden to avoid duplicates when added viaTracing.Builder.addSpanHandler(SpanHandler)inthashCode()Overridden to avoid duplicates when added viaTracing.Builder.addSpanHandler(SpanHandler)static ZipkinSpanHandler.BuildernewBuilder(Reporter<zipkin2.Span> spanReporter)ZipkinSpanHandler.BuildertoBuilder()Allows this instance to be reconfigured, for exampleZipkinSpanHandler.Builder.alwaysReportSpans(boolean).StringtoString()
-
-
-
Method Detail
-
create
public static brave.handler.SpanHandler create(Reporter<zipkin2.Span> spanReporter)
- Since:
- 2.13
-
newBuilder
public static ZipkinSpanHandler.Builder newBuilder(Reporter<zipkin2.Span> spanReporter)
- Since:
- 2.13
-
toBuilder
public ZipkinSpanHandler.Builder toBuilder()
Allows this instance to be reconfigured, for exampleZipkinSpanHandler.Builder.alwaysReportSpans(boolean).Note: Call
close()if you no longer need this instance, as otherwise it can leak resources.- Since:
- 2.15
-
close
public void close()
Implementations that throw exceptions on close have bugs. This may result in log warnings, though.
-
end
public boolean end(brave.propagation.TraceContext context, brave.handler.MutableSpan span, brave.handler.SpanHandler.Cause cause)- Overrides:
endin classbrave.handler.SpanHandler
-
equals
public final boolean equals(Object o)
Overridden to avoid duplicates when added viaTracing.Builder.addSpanHandler(SpanHandler)
-
-