scouter_observability/
error.rs

1use pyo3::PyErr;
2use thiserror::Error;
3
4#[derive(Error, Debug)]
5pub enum ObservabilityError {
6    #[error("Route not found {0}")]
7    RouteNotFound(String),
8
9    #[error("Failed to update route metrics: {0}")]
10    UpdateMetricsError(String),
11
12    #[error("Failed to compute quantiles: {0}")]
13    QuantileError(String),
14
15    #[error("Failed to collect metrics: {0}")]
16    CollectMetricsError(String),
17}
18
19impl From<ObservabilityError> for PyErr {
20    fn from(err: ObservabilityError) -> PyErr {
21        pyo3::exceptions::PyRuntimeError::new_err(err.to_string())
22    }
23}