Enum opentelemetry_otlp::SpanExporter
source · 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
§
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
§
trace_exporter: TraceServiceClient
The Grpc trace exporter
Available on crate feature
grpc-sys
only.Trace Exporter using grpcio as grpc layer
Http
Fields
§
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
impl SpanExporter
sourcepub fn new_tonic(
config: ExportConfig,
tonic_config: TonicConfig
) -> Result<Self, Error>
Available on crate feature grpc-tonic
only.
pub fn new_tonic( config: ExportConfig, tonic_config: TonicConfig ) -> Result<Self, Error>
grpc-tonic
only.Builds a new span exporter with the given configuration.
sourcepub fn from_tonic_channel(
config: ExportConfig,
tonic_config: TonicConfig,
channel: Channel
) -> Result<Self, Error>
Available on crate feature grpc-tonic
only.
pub fn from_tonic_channel( config: ExportConfig, tonic_config: TonicConfig, channel: Channel ) -> Result<Self, Error>
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.
sourcepub fn new_grpcio(config: ExportConfig, grpcio_config: GrpcioConfig) -> Self
Available on crate feature grpc-sys
only.
pub fn new_grpcio(config: ExportConfig, grpcio_config: GrpcioConfig) -> Self
grpc-sys
only.Builds a new span exporter with the given configuration
sourcepub fn new_http(
config: ExportConfig,
http_config: HttpConfig
) -> Result<Self, Error>
Available on crate feature http-proto
only.
pub fn new_http( config: ExportConfig, http_config: HttpConfig ) -> Result<Self, Error>
http-proto
only.Builds a new span exporter with the given configuration
Trait Implementations§
source§impl Debug for SpanExporter
impl Debug for SpanExporter
source§impl SpanExporter for SpanExporter
impl SpanExporter for SpanExporter
source§fn export(&mut self, batch: Vec<SpanData>) -> BoxFuture<'static, ExportResult>
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)
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>>
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§
impl !RefUnwindSafe for SpanExporter
impl Send for SpanExporter
impl Sync for SpanExporter
impl Unpin for SpanExporter
impl !UnwindSafe for SpanExporter
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request