Skip to main content

telemetry/
telemetry.rs

1use rust_zero_core::{OtlpTransport, Telemetry, TelemetryConfig, TelemetrySpan, TelemetrySpanKind};
2use std::env;
3
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5    let endpoint = env::var("OTEL_EXPORTER_OTLP_ENDPOINT")
6        .unwrap_or_else(|_| "http://127.0.0.1:4317".to_owned());
7    let telemetry = Telemetry::init(TelemetryConfig::new(
8        "rust-zero-example",
9        endpoint,
10        OtlpTransport::Grpc,
11    ))?;
12    let span = TelemetrySpan::start(
13        "example.startup",
14        TelemetrySpanKind::Internal,
15        None,
16        [("deployment.environment", "development".to_owned())],
17    );
18    span.end();
19    telemetry.force_flush()?;
20    Ok(())
21}