coil_observability/
error.rs1use crate::health::{DependencyKind, HealthProbeKind};
2use thiserror::Error;
3
4#[derive(Debug, Error, PartialEq, Eq)]
5pub enum ObservabilityError {
6 #[error("`{field}` cannot be empty")]
7 EmptyField { field: &'static str },
8 #[error("`{field}` contains an invalid token `{value}`")]
9 InvalidToken { field: &'static str, value: String },
10 #[error("metric `{metric}` is already defined")]
11 DuplicateMetric { metric: String },
12 #[error("probe `{probe}` already contains dependency `{dependency}`")]
13 DuplicateDependency {
14 probe: HealthProbeKind,
15 dependency: DependencyKind,
16 },
17 #[error("feature flag `{flag}` is already defined")]
18 DuplicateFlag { flag: String },
19 #[error("feature flag `{flag}` contains duplicate rule `{scope}`")]
20 DuplicateFlagRule { flag: String, scope: String },
21 #[error("trace sample rate must be within 0..=10000, got `{permyriad}`")]
22 InvalidTraceSampleRate { permyriad: u16 },
23}