S
- type of the span, usually Span
Closeable
, Flushable
, AutoCloseable
, Reporter<S>
public abstract class AsyncReporter<S> extends zipkin2.Component implements Reporter<S>, Flushable
flush()
. By doing so, callers are protected
from latency or exceptions possible when exporting spans out of process.
Spans are bundled into messages based on size in bytes or a timeout, whichever happens first.
The thread that sends flushes spans to the Sender does so in a synchronous loop. This means that even asynchronous transports will wait for an ack before sending a next message. We do this so that a surge of spans doesn't overrun memory or bandwidth via hundreds or thousands of in-flight messages. The downside of this is that reporting is limited in speed to what a single thread can clear. When a thread cannot clear the backlog, new spans are dropped.
Modifier and Type | Class | Description |
---|---|---|
static class |
AsyncReporter.Builder |
Constructor | Description |
---|---|
AsyncReporter() |
Modifier and Type | Method | Description |
---|---|---|
static AsyncReporter.Builder |
builder(Sender sender) |
Like
create(Sender) , except you can configure settings such as the timeout. |
abstract void |
close() |
Shuts down the sender thread, and increments drop metrics if there were any unsent spans.
|
static AsyncReporter<zipkin2.Span> |
create(Sender sender) |
Builds a json reporter for Zipkin V2.
|
abstract void |
flush() |
Calling this will flush any pending spans to the transport on the current thread.
|
public static AsyncReporter<zipkin2.Span> create(Sender sender)
public static AsyncReporter.Builder builder(Sender sender)
create(Sender)
, except you can configure settings such as the timeout.public abstract void flush()
Note: If you set message timeout
to zero, you
must call this externally as otherwise spans will never be sent.
flush
in interface Flushable
IllegalStateException
- if closedpublic abstract void close()
close
in interface AutoCloseable
close
in interface Closeable
close
in class zipkin2.Component
Copyright © 2016–2018 OpenZipkin. All rights reserved.