pub struct OtelConfig {
pub service_name: String,
pub endpoint: Option<String>,
pub enabled: bool,
pub sample_rate: f64,
pub batch_size: usize,
pub export_interval: Duration,
}Expand description
OpenTelemetry configuration
Fields§
§service_name: StringService name for tracing
endpoint: Option<String>OTLP endpoint (e.g., “http://localhost:4317”)
enabled: boolWhether tracing is enabled
sample_rate: f64Sample rate (0.0-1.0)
batch_size: usizeExport batch size
export_interval: DurationExport interval
Implementations§
Source§impl OtelConfig
impl OtelConfig
Sourcepub fn from_env() -> Self
pub fn from_env() -> Self
Create config from environment variables
Reads:
- OTEL_SERVICE_NAME: Service name (default: “vex-api”)
- OTEL_EXPORTER_OTLP_ENDPOINT: OTLP endpoint
- OTEL_TRACES_SAMPLER_ARG: Sample rate (default: 1.0)
Sourcepub fn development() -> Self
pub fn development() -> Self
Create a development config with console output
Sourcepub fn production(endpoint: &str) -> Self
pub fn production(endpoint: &str) -> Self
Create a production config
Trait Implementations§
Source§impl Clone for OtelConfig
impl Clone for OtelConfig
Source§fn clone(&self) -> OtelConfig
fn clone(&self) -> OtelConfig
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OtelConfig
impl Debug for OtelConfig
Auto Trait Implementations§
impl Freeze for OtelConfig
impl RefUnwindSafe for OtelConfig
impl Send for OtelConfig
impl Sync for OtelConfig
impl Unpin for OtelConfig
impl UnwindSafe for OtelConfig
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more