pub trait MeterCore {
    // Required methods
    fn new_sync_instrument(
        &self,
        descriptor: Descriptor
    ) -> Result<Arc<dyn SyncInstrumentCore + Sync + Send + 'static>, MetricsError>;
    fn new_async_instrument(
        &self,
        descriptor: Descriptor
    ) -> Result<Arc<dyn AsyncInstrumentCore + Sync + Send + 'static>, MetricsError>;
    fn register_callback(
        &self,
        f: Box<dyn Fn(&Context) + Sync + Send + 'static, Global>
    ) -> Result<(), MetricsError>;
}
Available on crate feature metrics only.
Expand description

The interface an SDK must implement to supply a Meter implementation.

Required Methods§

source

fn new_sync_instrument( &self, descriptor: Descriptor ) -> Result<Arc<dyn SyncInstrumentCore + Sync + Send + 'static>, MetricsError>

Create a new synchronous instrument implementation.

source

fn new_async_instrument( &self, descriptor: Descriptor ) -> Result<Arc<dyn AsyncInstrumentCore + Sync + Send + 'static>, MetricsError>

Create a new asynchronous instrument implementation.

Runner is None if used in batch as the batch runner is registered separately.

source

fn register_callback( &self, f: Box<dyn Fn(&Context) + Sync + Send + 'static, Global> ) -> Result<(), MetricsError>

Register a batch observer

Implementors§