aether_telemetry/
error.rs1use opentelemetry_otlp::ExporterBuildError;
2use opentelemetry_sdk::error::OTelSdkError;
3use thiserror::Error;
4
5#[derive(Debug, Error)]
6pub enum TelemetryInitError {
7 #[error("telemetry OTLP endpoint is required")]
8 MissingOtlpEndpoint,
9 #[error("telemetry sample ratio must be between 0.0 and 1.0, got {0}")]
10 InvalidSampleRatio(f64),
11 #[error("telemetry OTLP header name is invalid: {0}")]
12 InvalidHeaderName(String),
13 #[error("telemetry OTLP header value is invalid for header {0}")]
14 InvalidHeaderValue(String),
15 #[error("failed to initialize telemetry HTTP client: {0}")]
16 HttpClient(#[source] reqwest::Error),
17 #[error("failed to initialize trace exporter: {0}")]
18 TraceExporter(#[source] ExporterBuildError),
19 #[error("failed to initialize metric exporter: {0}")]
20 MetricExporter(#[source] ExporterBuildError),
21}
22
23#[derive(Debug, Error)]
24pub enum TelemetryShutdownError {
25 #[error("failed to shutdown trace provider: {0}")]
26 Trace(#[source] OTelSdkError),
27 #[error("failed to shutdown metric provider: {0}")]
28 Metric(#[source] OTelSdkError),
29}