use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OtelConfig {
#[serde(default)]
pub enabled: bool,
#[serde(default = "default_otlp_endpoint")]
pub endpoint: String,
#[serde(default = "default_sample_ratio")]
pub sample_ratio: f64,
}
fn default_otlp_endpoint() -> String {
"http://localhost:4318".to_owned()
}
fn default_sample_ratio() -> f64 {
1.0
}
impl Default for OtelConfig {
fn default() -> Self {
Self {
enabled: false,
endpoint: default_otlp_endpoint(),
sample_ratio: default_sample_ratio(),
}
}
}