Change Tracer to not implement any method.
This commit is contained in:
		
							parent
							
								
									bb3c3c35d9
								
							
						
					
					
						commit
						59790e7f22
					
				| 
						 | 
				
			
			@ -20,7 +20,7 @@ import com.google.errorprone.annotations.MustBeClosed;
 | 
			
		|||
import java.util.concurrent.Callable;
 | 
			
		||||
import javax.annotation.Nullable;
 | 
			
		||||
import openconsensus.common.Scope;
 | 
			
		||||
import openconsensus.internal.Utils;
 | 
			
		||||
import openconsensus.internal.NoopScope;
 | 
			
		||||
import openconsensus.trace.SpanBuilder.NoopSpanBuilder;
 | 
			
		||||
import openconsensus.trace.data.Status;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -95,10 +95,7 @@ public abstract class Tracer {
 | 
			
		|||
   *     from the Context.
 | 
			
		||||
   * @since 0.1.0
 | 
			
		||||
   */
 | 
			
		||||
  public final Span getCurrentSpan() {
 | 
			
		||||
    Span currentSpan = CurrentSpanUtils.getCurrentSpan();
 | 
			
		||||
    return currentSpan != null ? currentSpan : BlankSpan.INSTANCE;
 | 
			
		||||
  }
 | 
			
		||||
  public abstract Span getCurrentSpan();
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Enters the scope of code where the given {@link Span} is in the current Context, and returns an
 | 
			
		||||
| 
						 | 
				
			
			@ -151,9 +148,7 @@ public abstract class Tracer {
 | 
			
		|||
   * @since 0.1.0
 | 
			
		||||
   */
 | 
			
		||||
  @MustBeClosed
 | 
			
		||||
  public final Scope withSpan(Span span) {
 | 
			
		||||
    return CurrentSpanUtils.withSpan(Utils.checkNotNull(span, "span"), /* endSpan= */ false);
 | 
			
		||||
  }
 | 
			
		||||
  public abstract Scope withSpan(Span span);
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Returns a {@link Runnable} that runs the given task with the given {@code Span} in the current
 | 
			
		||||
| 
						 | 
				
			
			@ -216,9 +211,7 @@ public abstract class Tracer {
 | 
			
		|||
   * @return the {@code Runnable}.
 | 
			
		||||
   * @since 0.1.0
 | 
			
		||||
   */
 | 
			
		||||
  public final Runnable withSpan(Span span, Runnable runnable) {
 | 
			
		||||
    return CurrentSpanUtils.withSpan(span, /* endSpan= */ false, runnable);
 | 
			
		||||
  }
 | 
			
		||||
  public abstract Runnable withSpan(Span span, Runnable runnable);
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Returns a {@link Callable} that runs the given task with the given {@code Span} in the current
 | 
			
		||||
| 
						 | 
				
			
			@ -278,12 +271,11 @@ public abstract class Tracer {
 | 
			
		|||
   *
 | 
			
		||||
   * @param span the {@code Span} to be set as current.
 | 
			
		||||
   * @param callable the {@code Callable} to run in the {@code Span}.
 | 
			
		||||
   * @param <V> the result type of method call.
 | 
			
		||||
   * @return the {@code Callable}.
 | 
			
		||||
   * @since 0.1.0
 | 
			
		||||
   */
 | 
			
		||||
  public final <C> Callable<C> withSpan(Span span, final Callable<C> callable) {
 | 
			
		||||
    return CurrentSpanUtils.withSpan(span, /* endSpan= */ false, callable);
 | 
			
		||||
  }
 | 
			
		||||
  public abstract <V> Callable<V> withSpan(Span span, final Callable<V> callable);
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Returns a {@link SpanBuilder} to create and start a new child {@link Span} as a child of to the
 | 
			
		||||
| 
						 | 
				
			
			@ -305,9 +297,7 @@ public abstract class Tracer {
 | 
			
		|||
   * @throws NullPointerException if {@code spanName} is {@code null}.
 | 
			
		||||
   * @since 0.1.0
 | 
			
		||||
   */
 | 
			
		||||
  public final SpanBuilder spanBuilder(String spanName) {
 | 
			
		||||
    return spanBuilderWithExplicitParent(spanName, CurrentSpanUtils.getCurrentSpan());
 | 
			
		||||
  }
 | 
			
		||||
  public abstract SpanBuilder spanBuilder(String spanName);
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Returns a {@link SpanBuilder} to create and start a new child {@link Span} (or root if parent
 | 
			
		||||
| 
						 | 
				
			
			@ -353,6 +343,31 @@ public abstract class Tracer {
 | 
			
		|||
  // No-Op implementation of the Tracer.
 | 
			
		||||
  private static final class NoopTracer extends Tracer {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Span getCurrentSpan() {
 | 
			
		||||
      return BlankSpan.INSTANCE;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Scope withSpan(Span span) {
 | 
			
		||||
      return NoopScope.getInstance();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Runnable withSpan(Span span, Runnable runnable) {
 | 
			
		||||
      return runnable;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public <C> Callable<C> withSpan(Span span, Callable<C> callable) {
 | 
			
		||||
      return callable;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public SpanBuilder spanBuilder(String spanName) {
 | 
			
		||||
      return spanBuilderWithExplicitParent(spanName, getCurrentSpan());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public SpanBuilder spanBuilderWithExplicitParent(String spanName, @Nullable Span parent) {
 | 
			
		||||
      return NoopSpanBuilder.createWithParent(spanName, parent);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue