emit_opentelemetry

Crates.ioemit_opentelemetry
lib.rsemit_opentelemetry
version
sourcesrc
created_at2024-06-07 00:10:51.099019+00
updated_at2025-03-26 07:08:03.725732+00
descriptionEmit diagnostic events to the OpenTelemetry SDK.
homepage
repositoryhttps://github.com/emit-rs/emit_opentelemetry
max_upload_size
id1264272
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Ashley Mannix (KodrAus)

documentation

README

emit_opentelemetry

opentelemetry

Current docs

Integrate emit with the OpenTelemetry SDK.

This library forwards diagnostic events from emit through the OpenTelemetry SDK as log records and spans.

Getting started

Configure the OpenTelemetry SDK as per its documentation, then add emit and emit_opentelemetry to your Cargo.toml:

[dependencies.emit]
version = "1"

[dependencies.emit_opentelemetry]
version = "0.28.1"

Initialize emit to send diagnostics to the OpenTelemetry SDK using the emit_opentelemetry::setup function:

fn main() {
    // Configure the OpenTelemetry SDK
    // See the OpenTelemetry SDK docs for details on configuration
    let logger_provider = opentelemetry_sdk::logs::SdkLoggerProvider::builder()
        .with_simple_exporter(opentelemetry_stdout::LogExporter::default())
        .build();

    let tracer_provider = opentelemetry_sdk::trace::SdkTracerProvider::builder()
        .with_simple_exporter(opentelemetry_stdout::SpanExporter::default())
        .build();

    // Configure `emit` to point to the OpenTelemetry SDK
    let rt = emit_opentelemetry::setup(logger_provider, tracer_provider).init();

    // Your app code goes here

    rt.blocking_flush(std::time::Duration::from_secs(30));

    // Shutdown the OpenTelemetry SDK
}

This function accepts a LoggerProvider and TracerProvider from the OpenTelemetry SDK to forward emit events to.

Versioning and compatibility

emit_opentelemetry version x.y.z is compatible with opentelemetry_sdk version x.y.*.

Commit count: 9

cargo fmt