# Class Tracing.TracerProvider<T>

java.lang.Object
com.google.adk.telemetry.Tracing.TracerProvider<T>

Type Parameters:
  `T` - The type of the stream.

All Implemented Interfaces:
  `io.reactivex.rxjava3.core.CompletableTransformer, io.reactivex.rxjava3.core.FlowableTransformer<T,T>, io.reactivex.rxjava3.core.MaybeTransformer<T,T>, io.reactivex.rxjava3.core.SingleTransformer<T,T>`

Enclosing class:
  `Tracing`

public static final class Tracing.TracerProvider<T> extends Object implements io.reactivex.rxjava3.core.FlowableTransformer<T,T>, io.reactivex.rxjava3.core.SingleTransformer<T,T>, io.reactivex.rxjava3.core.MaybeTransformer<T,T>, io.reactivex.rxjava3.core.CompletableTransformer
A transformer that manages an OpenTelemetry span and scope for RxJava streams.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `io.reactivex.rxjava3.core.CompletableSource`
  `apply(io.reactivex.rxjava3.core.Completable upstream)`
  `org.reactivestreams.Publisher<T>`
  `apply(io.reactivex.rxjava3.core.Flowable<T> upstream)`
  `io.reactivex.rxjava3.core.MaybeSource<T>`
  `apply(io.reactivex.rxjava3.core.Maybe<T> upstream)`
  `io.reactivex.rxjava3.core.SingleSource<T>`
  `apply(io.reactivex.rxjava3.core.Single<T> upstream)`
  `Tracing.TracerProvider<T>`
  `configure(Consumer<io.opentelemetry.api.trace.Span> configurer)`
  Configures the span created by this transformer.
  `Tracing.TracerProvider<T>`
  `onSuccess(BiConsumer<io.opentelemetry.api.trace.Span, T> consumer)`
  Registers a callback to be executed with the span and the result item when the stream emits a success value.
  `Tracing.TracerProvider<T>`
  `setParent(io.opentelemetry.context.Context parentContext)`
  Sets an explicit parent context for the span created by this transformer.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### configure

    @CanIgnoreReturnValue public Tracing.TracerProvider<T> configure(Consumer<io.opentelemetry.api.trace.Span> configurer)
    Configures the span created by this transformer.

  - ### setParent

    @CanIgnoreReturnValue public Tracing.TracerProvider<T> setParent(io.opentelemetry.context.Context parentContext)
    Sets an explicit parent context for the span created by this transformer.

  - ### onSuccess

    @CanIgnoreReturnValue public Tracing.TracerProvider<T> onSuccess(BiConsumer<io.opentelemetry.api.trace.Span, T> consumer)
    Registers a callback to be executed with the span and the result item when the stream emits a success value.

  - ### apply

    public org.reactivestreams.Publisher<T> apply(io.reactivex.rxjava3.core.Flowable<T> upstream)
    Specified by:
      `apply` in interface `io.reactivex.rxjava3.core.FlowableTransformer<T,T>`

  - ### apply

    public io.reactivex.rxjava3.core.SingleSource<T> apply(io.reactivex.rxjava3.core.Single<T> upstream)
    Specified by:
      `apply` in interface `io.reactivex.rxjava3.core.SingleTransformer<T,T>`

  - ### apply

    public io.reactivex.rxjava3.core.MaybeSource<T> apply(io.reactivex.rxjava3.core.Maybe<T> upstream)
    Specified by:
      `apply` in interface `io.reactivex.rxjava3.core.MaybeTransformer<T,T>`

  - ### apply

    public io.reactivex.rxjava3.core.CompletableSource apply(io.reactivex.rxjava3.core.Completable upstream)
    Specified by:
      `apply` in interface `io.reactivex.rxjava3.core.CompletableTransformer`