[−][src]Struct opentelemetry::metrics::Meter
metrics
only.Meter is the OpenTelemetry metric API, based on a sdk-defined MeterCore
implementation and the Meter
library name.
Instruments
Name | Instrument kind | Function(argument) | Default aggregation | Notes |
---|---|---|---|---|
Counter | Synchronous adding monotonic | Add(increment) | Sum | Per-request, part of a monotonic sum |
UpDownCounter | Synchronous adding | Add(increment) | Sum | Per-request, part of a non-monotonic sum |
ValueRecorder | Synchronous | Record(value) | TBD issue 636 | Per-request, any grouping measurement |
SumObserver | Asynchronous adding monotonic | Observe(sum) | Sum | Per-interval, reporting a monotonic sum |
UpDownSumObserver | Asynchronous adding | Observe(sum) | Sum | Per-interval, reporting a non-monotonic sum |
ValueObserver | Asynchronous | Observe(value) | LastValue | Per-interval, any grouping measurement |
Implementations
impl Meter
[src]
pub fn new<T: Into<&'static str>>(
instrumentation_name: T,
instrumentation_version: Option<T>,
core: Arc<dyn MeterCore + Send + Sync>
) -> Self
[src]
instrumentation_name: T,
instrumentation_version: Option<T>,
core: Arc<dyn MeterCore + Send + Sync>
) -> Self
Create a new named meter from a sdk implemented core
pub fn u64_counter<T>(&self, name: T) -> CounterBuilder<'_, u64> where
T: Into<String>,
[src]
T: Into<String>,
Creates a new integer CounterBuilder
for u64
values with the given name.
pub fn f64_counter<T>(&self, name: T) -> CounterBuilder<'_, f64> where
T: Into<String>,
[src]
T: Into<String>,
Creates a new floating point CounterBuilder
for f64
values with the given name.
pub fn i64_up_down_counter<T>(&self, name: T) -> UpDownCounterBuilder<'_, i64> where
T: Into<String>,
[src]
T: Into<String>,
Creates a new integer UpDownCounterBuilder
for an i64
up down counter with the given name.
pub fn f64_up_down_counter<T>(&self, name: T) -> UpDownCounterBuilder<'_, f64> where
T: Into<String>,
[src]
T: Into<String>,
Creates a new floating point UpDownCounterBuilder
for an f64
up down counter with the given name.
pub fn i64_value_recorder<T>(&self, name: T) -> ValueRecorderBuilder<'_, i64> where
T: Into<String>,
[src]
T: Into<String>,
Creates a new ValueRecorderBuilder
for i64
values with the given name.
pub fn u64_value_recorder<T>(&self, name: T) -> ValueRecorderBuilder<'_, u64> where
T: Into<String>,
[src]
T: Into<String>,
Creates a new ValueRecorderBuilder
for u64
values with the given name.
pub fn f64_value_recorder<T>(&self, name: T) -> ValueRecorderBuilder<'_, f64> where
T: Into<String>,
[src]
T: Into<String>,
Creates a new ValueRecorderBuilder
for f64
values with the given name.
pub fn u64_sum_observer<T, F>(
&self,
name: T,
callback: F
) -> SumObserverBuilder<'_, u64> where
T: Into<String>,
F: Fn(ObserverResult<u64>) + Send + Sync + 'static,
[src]
&self,
name: T,
callback: F
) -> SumObserverBuilder<'_, u64> where
T: Into<String>,
F: Fn(ObserverResult<u64>) + Send + Sync + 'static,
Creates a new integer SumObserverBuilder
for u64
values with the given
name and callback
pub fn f64_sum_observer<T, F>(
&self,
name: T,
callback: F
) -> SumObserverBuilder<'_, f64> where
T: Into<String>,
F: Fn(ObserverResult<f64>) + Send + Sync + 'static,
[src]
&self,
name: T,
callback: F
) -> SumObserverBuilder<'_, f64> where
T: Into<String>,
F: Fn(ObserverResult<f64>) + Send + Sync + 'static,
Creates a new floating point SumObserverBuilder
for f64
values with the
given name and callback
pub fn i64_up_down_sum_observer<T, F>(
&self,
name: T,
callback: F
) -> UpDownSumObserverBuilder<'_, i64> where
T: Into<String>,
F: Fn(ObserverResult<i64>) + Send + Sync + 'static,
[src]
&self,
name: T,
callback: F
) -> UpDownSumObserverBuilder<'_, i64> where
T: Into<String>,
F: Fn(ObserverResult<i64>) + Send + Sync + 'static,
Creates a new integer UpDownSumObserverBuilder
for i64
values with the
given name and callback.
pub fn f64_up_down_sum_observer<T, F>(
&self,
name: T,
callback: F
) -> UpDownSumObserverBuilder<'_, f64> where
T: Into<String>,
F: Fn(ObserverResult<f64>) + Send + Sync + 'static,
[src]
&self,
name: T,
callback: F
) -> UpDownSumObserverBuilder<'_, f64> where
T: Into<String>,
F: Fn(ObserverResult<f64>) + Send + Sync + 'static,
Creates a new floating point UpDownSumObserverBuilder
for f64
values
with the given name and callback
pub fn u64_value_observer<T, F>(
&self,
name: T,
callback: F
) -> ValueObserverBuilder<'_, u64> where
T: Into<String>,
F: Fn(ObserverResult<u64>) + Send + Sync + 'static,
[src]
&self,
name: T,
callback: F
) -> ValueObserverBuilder<'_, u64> where
T: Into<String>,
F: Fn(ObserverResult<u64>) + Send + Sync + 'static,
Creates a new integer ValueObserverBuilder
for u64
values with the given
name and callback
pub fn i64_value_observer<T, F>(
&self,
name: T,
callback: F
) -> ValueObserverBuilder<'_, i64> where
T: Into<String>,
F: Fn(ObserverResult<i64>) + Send + Sync + 'static,
[src]
&self,
name: T,
callback: F
) -> ValueObserverBuilder<'_, i64> where
T: Into<String>,
F: Fn(ObserverResult<i64>) + Send + Sync + 'static,
Creates a new integer ValueObserverBuilder
for i64
values with the given
name and callback
pub fn f64_value_observer<T, F>(
&self,
name: T,
callback: F
) -> ValueObserverBuilder<'_, f64> where
T: Into<String>,
F: Fn(ObserverResult<f64>) + Send + Sync + 'static,
[src]
&self,
name: T,
callback: F
) -> ValueObserverBuilder<'_, f64> where
T: Into<String>,
F: Fn(ObserverResult<f64>) + Send + Sync + 'static,
Creates a new floating point ValueObserverBuilder
for f64
values with
the given name and callback
pub fn build_batch_observer<B, F>(&self, builder: B) -> Result<()> where
B: Fn(BatchObserver<'_>) -> Result<F>,
F: Fn(BatchObserverResult) + Send + Sync + 'static,
[src]
B: Fn(BatchObserver<'_>) -> Result<F>,
F: Fn(BatchObserverResult) + Send + Sync + 'static,
Creates a new BatchObserver
that supports making batches of observations
for multiple instruments or returns an error if instrument initialization
fails.
Examples
use opentelemetry::{global, metrics::BatchObserverResult, KeyValue}; let meter = global::meter("test"); meter.build_batch_observer(|batch| { let instrument = batch.u64_value_observer("test_instrument").try_init()?; Ok(move |result: BatchObserverResult| { result.observe(&[KeyValue::new("my-key", "my-value")], &[instrument.observation(1)]); }) })?;
pub fn batch_observer<B, F>(&self, builder: B) where
B: Fn(BatchObserver<'_>) -> F,
F: Fn(BatchObserverResult) + Send + Sync + 'static,
[src]
B: Fn(BatchObserver<'_>) -> F,
F: Fn(BatchObserverResult) + Send + Sync + 'static,
Creates a new BatchObserver
that supports making batches of observations
for multiple instruments.
Panics
Panics if instrument initialization or observer registration returns an error.
Examples
use opentelemetry::{global, metrics::BatchObserverResult, KeyValue}; let meter = global::meter("test"); meter.batch_observer(|batch| { let instrument = batch.u64_value_observer("test_instrument").init(); move |result: BatchObserverResult| { result.observe(&[KeyValue::new("my-key", "my-value")], &[instrument.observation(1)]); } });
pub fn record_batch<T: IntoIterator<Item = Measurement>>(
&self,
labels: &[KeyValue],
measurements: T
)
[src]
&self,
labels: &[KeyValue],
measurements: T
)
Atomically record a batch of measurements.
pub fn record_batch_with_context<T: IntoIterator<Item = Measurement>>(
&self,
cx: &Context,
labels: &[KeyValue],
measurements: T
)
[src]
&self,
cx: &Context,
labels: &[KeyValue],
measurements: T
)
Atomically record a batch of measurements with a given context
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Meter
[src]
impl Send for Meter
[src]
impl Sync for Meter
[src]
impl Unpin for Meter
[src]
impl !UnwindSafe for Meter
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,