zipkin2.reporter.brave.ConvertingZipkinSpanHandler Maven / Gradle / Ivy
                 Go to download
                
        
                    Show more of this group  Show more artifacts with this name
Show all versions of zipkin-reporter-brave Show documentation
                Show all versions of zipkin-reporter-brave Show documentation
Adapts a Reporter to a Brave SpanHandler
                
             The newest version!
        
        /*
 * Copyright The OpenZipkin Authors
 * SPDX-License-Identifier: Apache-2.0
 */
package zipkin2.reporter.brave;
import brave.handler.SpanHandler;
import zipkin2.Span;
import zipkin2.reporter.Reporter;
final class ConvertingZipkinSpanHandler extends ZipkinSpanHandler {
  @Override public ZipkinSpanHandler.Builder toBuilder() {
    return new Builder(((ConvertingSpanReporter) spanReporter).delegate);
  }
  static final class Builder extends ZipkinSpanHandler.Builder {
    final Reporter spanReporter;
    Builder(Reporter spanReporter) {
      this.spanReporter = spanReporter;
    }
    // SpanHandler not ZipkinSpanHandler as it can coerce to NOOP
    @Override public SpanHandler build() {
      if (spanReporter == Reporter.NOOP) return SpanHandler.NOOP;
      return new ConvertingZipkinSpanHandler(this);
    }
  }
  ConvertingZipkinSpanHandler(Builder builder) {
    super(new ConvertingSpanReporter(builder.spanReporter, builder.errorTag),
        builder.errorTag, builder.alwaysReportSpans);
  }
}
    © 2015 - 2025 Weber Informatics LLC | Privacy Policy