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§
- Open
Telemetry Subscriber Builder - 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.