opentelemetry_lambda_extension/
error.rs1use crate::exporter::ExportError;
4use crate::runtime::RuntimeError;
5use thiserror::Error;
6
7pub type Result<T> = std::result::Result<T, ExtensionError>;
9
10#[non_exhaustive]
12#[derive(Debug, Error)]
13pub enum ExtensionError {
14 #[error("configuration error")]
16 Config(#[source] Box<figment::Error>),
17
18 #[error(transparent)]
20 Export(#[from] ExportError),
21
22 #[error(transparent)]
24 Runtime(#[from] RuntimeError),
25
26 #[error("failed to initialise tracing")]
28 Tracing(#[from] tracing_subscriber::util::TryInitError),
29}
30
31impl From<figment::Error> for ExtensionError {
32 fn from(err: figment::Error) -> Self {
33 ExtensionError::Config(Box::new(err))
34 }
35}