lambda_otel_utils::subscriber

Function init_otel_subscriber

Source
pub fn init_otel_subscriber(
    tracer_provider: TracerProvider,
    meter_provider: SdkMeterProvider,
    service_name: &'static str,
) -> Result<(), Box<dyn Error + Send + Sync + 'static>>
Expand description

Convenience function to create and initialize a default OpenTelemetry subscriber.

This function provides a simple way to set up a tracing subscriber with OpenTelemetry support using sensible defaults.

§Arguments

  • tracer_provider - The tracer provider to use.
  • meter_provider - The meter provider to use.
  • service_name - The name of the service (must have static lifetime).

§Returns

Returns Ok(()) if the subscriber was successfully initialized, or an error if something went wrong.

§Examples

use lambda_otel_utils::{
    init_otel_subscriber,
    HttpTracerProviderBuilder,
    HttpMeterProviderBuilder
};
use std::time::Duration;

let tracer_provider = HttpTracerProviderBuilder::default()
    .with_stdout_client()
    .build()?;

let meter_provider = HttpMeterProviderBuilder::default()
    .with_stdout_client()
    .with_meter_name("my-service")
    .with_export_interval(Duration::from_secs(30))
    .build()?;

init_otel_subscriber(tracer_provider, meter_provider, "my-service")?;