use std::sync::Arc;
use async_executors::TokioTpBuilder;
use opentelemetry::trace::Tracer;
use opentelemetry::global::shutdown_tracer_provider;
use opentelemetry_honeycomb::HoneycombApiKey;
fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
let mut builder = TokioTpBuilder::new();
builder
.tokio_builder()
.enable_time()
.enable_io();
let executor = Arc::new(builder.build().expect("Failed to build Tokio executor"));
// Create a new instrumentation pipeline.
let (_flusher, tracer) = opentelemetry_honeycomb::new_pipeline(
HoneycombApiKey::new(
std::env::var("HONEYCOMB_API_KEY")
.expect("Missing or invalid environment variable HONEYCOMB_API_KEY")
),
std::env::var("HONEYCOMB_DATASET")
.expect("Missing or invalid environment variable HONEYCOMB_DATASET"),
executor.clone(),
move |fut| executor.block_on(fut),
)
.install()?;
tracer.in_span("doing_work", |cx| {
// Traced app logic here...
});
shutdown_tracer_provider();
Ok(())
}
forked from fasterthanlime/opentelemetry-honeycomb-rs
-
Notifications
You must be signed in to change notification settings - Fork 0
Unofficial Rust crate implementing an OpenTelemetry Exporter for Honeycomb
License
codyps/opentelemetry-honeycomb-rs
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
Unofficial Rust crate implementing an OpenTelemetry Exporter for Honeycomb
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Rust 100.0%