Skip to content

Commit

Permalink
feat(layer/otelmetrics): take meter when register (#5547)
Browse files Browse the repository at this point in the history
  • Loading branch information
andylokandy authored Jan 15, 2025
1 parent 8dacff2 commit 6734787
Showing 1 changed file with 14 additions and 13 deletions.
27 changes: 14 additions & 13 deletions core/src/layers/otelmetrics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
use std::sync::Arc;
use std::time::Duration;

use opentelemetry::global;
use opentelemetry::metrics::Counter;
use opentelemetry::metrics::Histogram;
use opentelemetry::metrics::Meter;
use opentelemetry::KeyValue;

use crate::layers::observe;
Expand All @@ -38,8 +38,9 @@ use crate::*;
/// # use opendal::Result;
///
/// # fn main() -> Result<()> {
/// let meter = opentelemetry::global::meter("opendal");
/// let _ = Operator::new(services::Memory::default())?
/// .layer(OtelMetricsLayer::builder().register())
/// .layer(OtelMetricsLayer::builder().register(meter))
/// .finish();
/// Ok(())
/// # }
Expand All @@ -59,18 +60,17 @@ impl OtelMetricsLayer {
/// # Examples
///
/// ```no_run
/// # use log::debug;
/// # use opendal::layers::OtelMetricsLayer;
/// # use opendal::services;
/// # use opendal::Operator;
/// # use opendal::Result;
///
/// # #[tokio::main]
/// # async fn main() -> Result<()> {
/// let meter = opentelemetry::global::meter("opendal");
/// let op = Operator::new(services::Memory::default())?
/// .layer(OtelMetricsLayer::builder().path_label(1).register())
/// .layer(OtelMetricsLayer::builder().path_label(1).register(meter))
/// .finish();
/// debug!("operator: {op:?}");
///
/// Ok(())
/// # }
Expand Down Expand Up @@ -113,8 +113,9 @@ impl OtelMetricsLayerBuilder {
///
/// # #[tokio::main]
/// # async fn main() -> Result<()> {
/// let meter = opentelemetry::global::meter("opendal");
/// let op = Operator::new(services::Memory::default())?
/// .layer(OtelMetricsLayer::builder().path_label(1).register())
/// .layer(OtelMetricsLayer::builder().path_label(1).register(meter))
/// .finish();
/// debug!("operator: {op:?}");
///
Expand All @@ -139,11 +140,12 @@ impl OtelMetricsLayerBuilder {
///
/// # #[tokio::main]
/// # async fn main() -> Result<()> {
/// let meter = opentelemetry::global::meter("opendal");
/// let op = Operator::new(services::Memory::default())?
/// .layer(
/// OtelMetricsLayer::builder()
/// .operation_duration_seconds_boundaries(vec![0.01, 0.02, 0.05, 0.1, 0.2, 0.5])
/// .register()
/// .register(meter)
/// )
/// .finish();
/// debug!("operator: {op:?}");
Expand Down Expand Up @@ -171,11 +173,12 @@ impl OtelMetricsLayerBuilder {
///
/// # #[tokio::main]
/// # async fn main() -> Result<()> {
/// let meter = opentelemetry::global::meter("opendal");
/// let op = Operator::new(services::Memory::default())?
/// .layer(
/// OtelMetricsLayer::builder()
/// .operation_bytes_boundaries(vec![1.0, 2.0, 5.0, 10.0, 20.0, 50.0])
/// .register()
/// .register(meter)
/// )
/// .finish();
/// debug!("operator: {op:?}");
Expand All @@ -195,24 +198,22 @@ impl OtelMetricsLayerBuilder {
/// # Examples
///
/// ```no_run
/// # use log::debug;
/// # use opendal::layers::OtelMetricsLayer;
/// # use opendal::services;
/// # use opendal::Operator;
/// # use opendal::Result;
///
/// # #[tokio::main]
/// # async fn main() -> Result<()> {
/// let meter = opentelemetry::global::meter("opendal");
/// let op = Operator::new(services::Memory::default())?
/// .layer(OtelMetricsLayer::builder().register())
/// .layer(OtelMetricsLayer::builder().register(meter))
/// .finish();
/// debug!("operator: {op:?}");
///
/// Ok(())
/// # }
/// ```
pub fn register(self) -> OtelMetricsLayer {
let meter = global::meter("opendal");
pub fn register(self, meter: Meter) -> OtelMetricsLayer {
let duration_seconds = meter
.f64_histogram("opendal.operation.duration")
.with_description("Duration of operations")
Expand Down

0 comments on commit 6734787

Please sign in to comment.