Crates.io | emit_opentelemetry |
lib.rs | emit_opentelemetry |
version | |
source | src |
created_at | 2024-06-07 00:10:51.099019+00 |
updated_at | 2025-03-26 07:08:03.725732+00 |
description | Emit diagnostic events to the OpenTelemetry SDK. |
homepage | |
repository | https://github.com/emit-rs/emit_opentelemetry |
max_upload_size | |
id | 1264272 |
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` |
size | 0 |
emit_opentelemetry
Integrate emit
with the OpenTelemetry SDK.
This library forwards diagnostic events from emit through the OpenTelemetry SDK as log records and spans.
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.
emit_opentelemetry
version x.y.z
is compatible with opentelemetry_sdk
version x.y.*
.