pub struct OtlpProvider { /* private fields */ }Expand description
Manages the OpenTelemetry SdkLoggerProvider for OTLP export.
Create via OtlpProvider::new,
then call OtlpProvider::layer to obtain a tracing_subscriber::Layer that can be composed into the subscriber stack.
The provider must be shut down gracefully via OtlpProvider::shutdown (or by dropping the crate::LoggingGuard) to flush pending log records.
Implementations§
Source§impl OtlpProvider
impl OtlpProvider
Sourcepub fn new(
cfg: &OtlpConfig,
service_name: &str,
environment: &str,
version: &str,
) -> LoggingResult<Option<Self>>
pub fn new( cfg: &OtlpConfig, service_name: &str, environment: &str, version: &str, ) -> LoggingResult<Option<Self>>
Create a new OTLP provider.
Returns Ok(None) when cfg.enabled is false.
Sourcepub fn layer<S>(
&self,
) -> OpenTelemetryTracingBridge<SdkLoggerProvider, SdkLogger>where
S: Subscriber + for<'a> LookupSpan<'a>,
pub fn layer<S>(
&self,
) -> OpenTelemetryTracingBridge<SdkLoggerProvider, SdkLogger>where
S: Subscriber + for<'a> LookupSpan<'a>,
Get the OpenTelemetry tracing layer for use with tracing_subscriber.
The returned layer converts every tracing event into an OpenTelemetry log record
and forwards it to the OTLP exporter.
Sourcepub fn shutdown(self) -> LoggingResult<()>
pub fn shutdown(self) -> LoggingResult<()>
Gracefully shut down the provider, flushing all pending log records.
Auto Trait Implementations§
impl !RefUnwindSafe for OtlpProvider
impl !UnwindSafe for OtlpProvider
impl Freeze for OtlpProvider
impl Send for OtlpProvider
impl Sync for OtlpProvider
impl Unpin for OtlpProvider
impl UnsafeUnpin for OtlpProvider
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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