otlp-logger 0.6.2

A simple convenience crate to configure an OpenTelemetry otlp endpoint with Tokio Tracing.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use anyhow::Result;

use opentelemetry_otlp::{MetricExporter, WithExportConfig};
use opentelemetry_sdk::{metrics::SdkMeterProvider, Resource};

pub fn otel_metrics(endpoint: &str, resource: Resource) -> Result<SdkMeterProvider> {
    let exporter = MetricExporter::builder()
        .with_tonic()
        .with_endpoint(endpoint)
        .build()?;

    let provider = SdkMeterProvider::builder()
        .with_resource(resource)
        .with_periodic_exporter(exporter)
        .build();

    Ok(provider)
}