1use miette::Diagnostic;
4use thiserror::Error;
5
6#[derive(Debug, Error, Diagnostic)]
8#[non_exhaustive]
9pub enum TelemetryError {
10 #[error("sink I/O error: {0}")]
12 #[diagnostic(code(rtb::telemetry::io))]
13 Io(#[from] std::io::Error),
14
15 #[error("serialisation error: {0}")]
17 #[diagnostic(code(rtb::telemetry::serde))]
18 Serde(String),
19
20 #[error("HTTP telemetry sink error: {0}")]
23 #[diagnostic(code(rtb::telemetry::http))]
24 Http(String),
25
26 #[error("OTLP telemetry sink error: {0}")]
28 #[diagnostic(code(rtb::telemetry::otlp))]
29 Otlp(String),
30}