use opentelemetry::trace;
use tracing_subscriber::util::TryInitError;
#[derive(thiserror::Error, Debug)]
pub enum Error {
#[error("Failed to configure tracer: {0}")]
TraceError(#[from] trace::TraceError),
#[error("Failed to initialize registry: {0}")]
InitErr(#[from] TryInitError),
#[error("Token is missing")]
MissingToken,
#[error("Token is empty")]
EmptyToken,
#[error("Invalid token (please provide a valid API token)")]
InvalidToken,
#[error("Dataset name is missing")]
MissingDatasetName,
#[error("Dataset name is empty")]
EmptyDatasetName,
#[error("Invalid URL: {0}")]
InvalidUrl(#[from] url::ParseError),
#[error("Environment variable {0} contains invalid non Unciode ( UTF-8 ) content")]
EnvVarNotUnicode(String),
#[error("Environment variable {0} is required but missing")]
EnvVarMissing(&'static str),
}