Skip to content

Commit

Permalink
Missing metrics creator fns (#425)
Browse files Browse the repository at this point in the history
  • Loading branch information
markdingram committed Jan 15, 2021
1 parent a56337c commit 777fdb9
Showing 1 changed file with 111 additions and 70 deletions.
181 changes: 111 additions & 70 deletions opentelemetry/src/metrics/meter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,53 +60,31 @@ impl Meter {
self.instrumentation_library
}

/// Creates a new floating point `ValueObserverBuilder` instrument with the
/// given name and callback
pub fn f64_value_observer<T, F>(&self, name: T, callback: F) -> ValueObserverBuilder<'_, f64>
/// Creates a new floating point `CounterBuilder` for `f64` values with the given name.
pub fn f64_counter<T>(&self, name: T) -> CounterBuilder<'_, f64>
where
T: Into<String>,
F: Fn(ObserverResult<f64>) + Send + Sync + 'static,
{
ValueObserverBuilder::new(
self,
name.into(),
AsyncRunner::F64(Box::new(callback)),
NumberKind::F64,
)
CounterBuilder::new(self, name.into(), NumberKind::F64)
}

/// Creates a new integral `ValueObserverBuilder` instrument with the given name
/// and callback
pub fn u64_value_observer<T, F>(&self, name: T, callback: F) -> ValueObserverBuilder<'_, u64>
/// Creates a new floating point `UpDownCounterBuilder` for an `f64` up down counter with the given name.
pub fn f64_up_down_counter<T>(&self, name: T) -> UpDownCounterBuilder<'_, f64>
where
T: Into<String>,
F: Fn(ObserverResult<u64>) + Send + Sync + 'static,
{
ValueObserverBuilder::new(
self,
name.into(),
AsyncRunner::U64(Box::new(callback)),
NumberKind::U64,
)
UpDownCounterBuilder::new(self, name.into(), NumberKind::F64)
}

/// Creates a new integral `ValueObserverBuilder` instrument with the given name
/// and callback
pub fn i64_value_observer<T, F>(&self, name: T, callback: F) -> ValueObserverBuilder<'_, i64>
/// Creates a new floating point `ValueRecorderBuilder` for `f64` values with the given name.
pub fn f64_value_recorder<T>(&self, name: T) -> ValueRecorderBuilder<'_, f64>
where
T: Into<String>,
F: Fn(ObserverResult<i64>) + Send + Sync + 'static,
{
ValueObserverBuilder::new(
self,
name.into(),
AsyncRunner::I64(Box::new(callback)),
NumberKind::I64,
)
ValueRecorderBuilder::new(self, name.into(), NumberKind::F64)
}

/// Creates a new floating point `SumObserverBuilder` instrument with the given
/// name and callback
/// Creates a new floating point `SumObserverBuilder` for `f64` 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>,
Expand All @@ -120,42 +98,77 @@ impl Meter {
)
}

/// Creates a new integral `SumObserverBuilder` instrument with the given name
/// and callback
pub fn u64_sum_observer<T, F>(&self, name: T, callback: F) -> SumObserverBuilder<'_, u64>
/// Creates a new floating point `UpDownSumObserverBuilder` for `f64` 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<u64>) + Send + Sync + 'static,
F: Fn(ObserverResult<f64>) + Send + Sync + 'static,
{
SumObserverBuilder::new(
UpDownSumObserverBuilder::new(
self,
name.into(),
AsyncRunner::U64(Box::new(callback)),
NumberKind::U64,
AsyncRunner::F64(Box::new(callback)),
NumberKind::F64,
)
}

/// Creates a new floating point `UpDownSumObserverBuilder` instrument with the
/// given name and callback
pub fn f64_up_down_sum_observer<T, F>(
&self,
name: T,
callback: F,
) -> UpDownSumObserverBuilder<'_, f64>
/// Creates a new floating point `ValueObserverBuilder` for `f64` 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,
{
UpDownSumObserverBuilder::new(
ValueObserverBuilder::new(
self,
name.into(),
AsyncRunner::F64(Box::new(callback)),
NumberKind::F64,
)
}

/// Creates a new integral `SumUpDownObserverBuilder` instrument with the given
/// name and callback
/// Creates a new integer `CounterBuilder` for `i64` values with the given name.
pub fn i64_counter<T>(&self, name: T) -> CounterBuilder<'_, i64>
where
T: Into<String>,
{
CounterBuilder::new(self, name.into(), NumberKind::I64)
}

/// Creates a new integer `UpDownCounterBuilder` for an `i64` up down counter with the given name.
pub fn i64_up_down_counter<T>(&self, name: T) -> UpDownCounterBuilder<'_, i64>
where
T: Into<String>,
{
UpDownCounterBuilder::new(self, name.into(), NumberKind::I64)
}

/// Creates a new integer `ValueRecorderBuilder` for `i64` values with the given name.
pub fn i64_value_recorder<T>(&self, name: T) -> ValueRecorderBuilder<'_, i64>
where
T: Into<String>,
{
ValueRecorderBuilder::new(self, name.into(), NumberKind::I64)
}

/// Creates a new integer `SumObserverBuilder` for `i64` values with the given name and callback.
pub fn i64_sum_observer<T, F>(&self, name: T, callback: F) -> SumObserverBuilder<'_, i64>
where
T: Into<String>,
F: Fn(ObserverResult<i64>) + Send + Sync + 'static,
{
SumObserverBuilder::new(
self,
name.into(),
AsyncRunner::I64(Box::new(callback)),
NumberKind::I64,
)
}

/// Creates a new integer `UpDownSumObserverBuilder` for `i64` values with the given name and callback.
pub fn i64_up_down_sum_observer<T, F>(
&self,
name: T,
Expand All @@ -173,60 +186,88 @@ impl Meter {
)
}

/// Creates a new `ValueRecorderBuilder` for `f64` values with the given name.
pub fn f64_value_recorder<T>(&self, name: T) -> ValueRecorderBuilder<'_, f64>
/// Creates a new integer `ValueObserverBuilder` for `i64` 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,
{
ValueRecorderBuilder::new(self, name.into(), NumberKind::F64)
ValueObserverBuilder::new(
self,
name.into(),
AsyncRunner::I64(Box::new(callback)),
NumberKind::I64,
)
}

/// Creates a new `ValueRecorderBuilder` for `i64` values with the given name.
pub fn i64_value_recorder<T>(&self, name: T) -> ValueRecorderBuilder<'_, i64>
/// Creates a new integer `CounterBuilder` for `u64` values with the given name.
pub fn u64_counter<T>(&self, name: T) -> CounterBuilder<'_, u64>
where
T: Into<String>,
{
ValueRecorderBuilder::new(self, name.into(), NumberKind::I64)
CounterBuilder::new(self, name.into(), NumberKind::U64)
}

/// Creates a new `ValueRecorderBuilder` for `u64` values with the given name.
pub fn u64_value_recorder<T>(&self, name: T) -> ValueRecorderBuilder<'_, u64>
/// Creates a new integer `UpDownCounterBuilder` for an `u64` up down counter with the given name.
pub fn u64_up_down_counter<T>(&self, name: T) -> UpDownCounterBuilder<'_, u64>
where
T: Into<String>,
{
ValueRecorderBuilder::new(self, name.into(), NumberKind::U64)
UpDownCounterBuilder::new(self, name.into(), NumberKind::U64)
}

/// Creates a new integer `CounterBuilder` for `u64` values with the given name.
pub fn u64_counter<T>(&self, name: T) -> CounterBuilder<'_, u64>
/// Creates a new integer `ValueRecorderBuilder` for `u64` values with the given name.
pub fn u64_value_recorder<T>(&self, name: T) -> ValueRecorderBuilder<'_, u64>
where
T: Into<String>,
{
CounterBuilder::new(self, name.into(), NumberKind::U64)
ValueRecorderBuilder::new(self, name.into(), NumberKind::U64)
}

/// Creates a new floating point `CounterBuilder` for `f64` values with the given name.
pub fn f64_counter<T>(&self, name: T) -> CounterBuilder<'_, f64>
/// Creates a new integer `SumObserverBuilder` for `u64` values with the given name and callback.
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,
{
CounterBuilder::new(self, name.into(), NumberKind::F64)
SumObserverBuilder::new(
self,
name.into(),
AsyncRunner::U64(Box::new(callback)),
NumberKind::U64,
)
}

/// Creates a new integer `UpDownCounterBuilder` for an `i64` up down counter with the given name.
pub fn i64_up_down_counter<T>(&self, name: T) -> UpDownCounterBuilder<'_, i64>
/// Creates a new integer `UpDownSumObserverBuilder` for `u64` values with the given name and callback.
pub fn u64_up_down_sum_observer<T, F>(
&self,
name: T,
callback: F,
) -> UpDownSumObserverBuilder<'_, u64>
where
T: Into<String>,
F: Fn(ObserverResult<u64>) + Send + Sync + 'static,
{
UpDownCounterBuilder::new(self, name.into(), NumberKind::I64)
UpDownSumObserverBuilder::new(
self,
name.into(),
AsyncRunner::U64(Box::new(callback)),
NumberKind::U64,
)
}

/// Creates a new floating point `UpDownCounterBuilder` for an `f64` up down counter with the given name.
pub fn f64_up_down_counter<T>(&self, name: T) -> UpDownCounterBuilder<'_, f64>
/// Creates a new integer `ValueObserverBuilder` for `u64` 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,
{
UpDownCounterBuilder::new(self, name.into(), NumberKind::F64)
ValueObserverBuilder::new(
self,
name.into(),
AsyncRunner::U64(Box::new(callback)),
NumberKind::U64,
)
}

/// Creates a new `BatchObserver` that supports making batches of observations for
Expand Down

0 comments on commit 777fdb9

Please sign in to comment.