pub trait ObservationDocumentation: Send + Sync {
// Required method
fn default_convention(&self) -> &'static str;
// Provided methods
fn name(&self) -> Option<&str> { ... }
fn contextual_name(&self) -> Option<&str> { ... }
fn observation(
&self,
custom_convention: Option<BoxObservationConvention>,
default_convention: Option<BoxObservationConvention>,
context: impl Context + 'static,
registry: Box<dyn ObservationRegistry>,
) -> Result<Box<dyn Observation>, BoxError> { ... }
fn low_cardinality_key_names(&self) -> Vec<KeyName> { ... }
fn high_cardinality_key_names(&self) -> Vec<KeyName> { ... }
fn prefix(&self) -> &str { ... }
fn events(&self) -> Vec<i32> { ... }
}Required Methods§
fn default_convention(&self) -> &'static str
Provided Methods§
fn name(&self) -> Option<&str>
fn contextual_name(&self) -> Option<&str>
fn observation( &self, custom_convention: Option<BoxObservationConvention>, default_convention: Option<BoxObservationConvention>, context: impl Context + 'static, registry: Box<dyn ObservationRegistry>, ) -> Result<Box<dyn Observation>, BoxError>
fn low_cardinality_key_names(&self) -> Vec<KeyName>
fn high_cardinality_key_names(&self) -> Vec<KeyName>
fn prefix(&self) -> &str
fn events(&self) -> Vec<i32>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.