Module subscriber

Module subscriber 

Source
Expand description

Utilities for configuring and managing OpenTelemetry tracing subscribers.

This module provides a builder pattern for configuring tracing subscribers with OpenTelemetry support, along with utility functions for creating tracing and metrics layers.

§Examples

Basic usage with default configuration:

use lambda_otel_utils::{
    HttpTracerProviderBuilder,
    HttpMeterProviderBuilder,
    init_otel_subscriber
};
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()?;

// Initialize with default settings
init_otel_subscriber(tracer_provider, meter_provider, "my-service")?;

Custom configuration using the builder:

use lambda_otel_utils::{
    HttpTracerProviderBuilder,
    HttpMeterProviderBuilder,
    OpenTelemetrySubscriberBuilder
};
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()?;

// Custom configuration
OpenTelemetrySubscriberBuilder::new()
    .with_tracer_provider(tracer_provider)
    .with_meter_provider(meter_provider)
    .with_service_name("my-service")
    .with_env_filter(true)
    .with_json_format(true)
    .init()?;

Structs§

OpenTelemetrySubscriberBuilder
A builder for configuring and creating a tracing subscriber with OpenTelemetry support.

Functions§

create_otel_metrics_layer
Returns a metrics layer configured with the given meter provider.
create_otel_tracing_layer
Returns a tracing layer configured with the given tracer provider and tracer name.
init_otel_subscriber
Convenience function to create and initialize a default OpenTelemetry subscriber.