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§
sourcefn new_sync_instrument(
&self,
descriptor: Descriptor
) -> Result<Arc<dyn SyncInstrumentCore + Sync + Send + 'static>, MetricsError>
fn new_sync_instrument( &self, descriptor: Descriptor ) -> Result<Arc<dyn SyncInstrumentCore + Sync + Send + 'static>, MetricsError>
Create a new synchronous instrument implementation.
sourcefn new_async_instrument(
&self,
descriptor: Descriptor
) -> Result<Arc<dyn AsyncInstrumentCore + Sync + Send + 'static>, MetricsError>
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.