pub trait ProvideMeter:
Send
+ Sync
+ Debug
+ 'static {
// Required methods
fn get_meter(
&self,
scope: &'static str,
attributes: Option<&Attributes>,
) -> Meter;
fn as_any(&self) -> &dyn Any;
}Expand description
Provides named instances of Meter.
Required Methods§
Sourcefn get_meter(
&self,
scope: &'static str,
attributes: Option<&Attributes>,
) -> Meter
fn get_meter( &self, scope: &'static str, attributes: Option<&Attributes>, ) -> Meter
Get or create a named Meter.
Sourcefn as_any(&self) -> &dyn Any
fn as_any(&self) -> &dyn Any
Downcast to Any for type inspection.
This method enables runtime type checking via downcasting to concrete types.
Implementations must return self to enable proper downcasting:
ⓘ
impl ProvideMeter for MyProvider {
fn as_any(&self) -> &dyn std::any::Any {
self
}
}§Example Usage
ⓘ
use aws_smithy_observability::meter::ProvideMeter;
use aws_smithy_observability_otel::meter::OtelMeterProvider;
fn check_provider_type(provider: &dyn ProvideMeter) {
// Downcast to check if this is an OpenTelemetry provider
if provider.as_any().downcast_ref::<OtelMeterProvider>().is_some() {
println!("This is an OpenTelemetry provider");
}
}