#[cfg(feature = "settings")]
use crate::settings::settings;
#[cfg_attr(feature = "settings", settings(crate_path = "crate"))]
#[cfg_attr(not(feature = "settings"), derive(Clone, Debug, serde::Deserialize))]
pub struct OpenTelemetryGrpcOutputSettings {
#[serde(default = "OpenTelemetryGrpcOutputSettings::default_endpoint_url")]
pub endpoint_url: String,
#[serde(default = "OpenTelemetryGrpcOutputSettings::default_request_timeout_seconds")]
pub request_timeout_seconds: u64,
#[serde(default = "OpenTelemetryGrpcOutputSettings::default_max_batch_size")]
pub max_batch_size: usize,
}
#[cfg(not(feature = "settings"))]
impl Default for OpenTelemetryGrpcOutputSettings {
fn default() -> Self {
Self {
endpoint_url: OpenTelemetryGrpcOutputSettings::default_endpoint_url(),
request_timeout_seconds:
OpenTelemetryGrpcOutputSettings::default_request_timeout_seconds(),
max_batch_size: OpenTelemetryGrpcOutputSettings::default_max_batch_size(),
}
}
}
impl OpenTelemetryGrpcOutputSettings {
fn default_endpoint_url() -> String {
"http://localhost:4317".into()
}
fn default_request_timeout_seconds() -> u64 {
10
}
fn default_max_batch_size() -> usize {
512
}
}