pub enum SpanExporter {
    Tonic {
        timeout: Duration,
        metadata: Option<MetadataMap>,
        trace_exporter: TraceServiceClient<Channel>,
    },
    Grpcio {
        timeout: Duration,
        headers: Option<HashMap<String, String>>,
        trace_exporter: TraceServiceClient,
    },
    Http {
        timeout: Duration,
        headers: Option<HashMap<String, String>>,
        collector_endpoint: Uri,
        trace_exporter: Option<Arc<dyn HttpClient>>,
    },
}
Available on crate feature trace only.
Expand description

OTLP exporter that sends tracing information

Variants§

§

Tonic

Fields

§timeout: Duration

Duration of timeout when sending spans to backend.

§metadata: Option<MetadataMap>

Additional headers of the outbound requests.

§trace_exporter: TraceServiceClient<Channel>

The Grpc trace exporter

Available on crate feature grpc-tonic only.

Trace Exporter using tonic as grpc layer.

§

Grpcio

Fields

§timeout: Duration

Duration of timeout when sending spans to backend.

§headers: Option<HashMap<String, String>>

Additional headers of the outbound requests.

§trace_exporter: TraceServiceClient

The Grpc trace exporter

Available on crate feature grpc-sys only.

Trace Exporter using grpcio as grpc layer

§

Http

Fields

§timeout: Duration

Duration of timeout when sending spans to backend.

§headers: Option<HashMap<String, String>>

Additional headers of the outbound requests.

§collector_endpoint: Uri

The Collector URL

§trace_exporter: Option<Arc<dyn HttpClient>>

The HTTP trace exporter

Available on crate feature http-proto only.

Trace Exporter using HTTP transport

Implementations§

source§

impl SpanExporter

source

pub fn new_tonic( config: ExportConfig, tonic_config: TonicConfig ) -> Result<Self, Error>

Available on crate feature grpc-tonic only.

Builds a new span exporter with the given configuration.

source

pub fn from_tonic_channel( config: ExportConfig, tonic_config: TonicConfig, channel: Channel ) -> Result<Self, Error>

Available on crate feature grpc-tonic only.

Builds a new span exporter with given tonic channel.

This allows users to bring their own custom channel like UDS. However, users MUST make sure the ExportConfig::timeout is the same as the channel’s timeout.

source

pub fn new_grpcio(config: ExportConfig, grpcio_config: GrpcioConfig) -> Self

Available on crate feature grpc-sys only.

Builds a new span exporter with the given configuration

source

pub fn new_http( config: ExportConfig, http_config: HttpConfig ) -> Result<Self, Error>

Available on crate feature http-proto only.

Builds a new span exporter with the given configuration

Trait Implementations§

source§

impl Debug for SpanExporter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl SpanExporter for SpanExporter

source§

fn export(&mut self, batch: Vec<SpanData>) -> BoxFuture<'static, ExportResult>

Exports a batch of readable spans. Protocol exporters that will implement this function are typically expected to serialize and transmit the data to the destination. Read more
source§

fn shutdown(&mut self)

Shuts down the exporter. Called when SDK is shut down. This is an opportunity for exporter to do any cleanup required. Read more
source§

fn force_flush( &mut self ) -> Pin<Box<dyn Future<Output = Result<(), TraceError>> + Send, Global>>

This is a hint to ensure that the export of any Spans the exporter has received prior to the call to this function SHOULD be completed as soon as possible, preferably before returning from this method. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FutureExt for T

source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more