telemetry-rust
use tracing::Level::INFO;
use telemetry_rust::{init_tracing, middleware::axum::{
OtelAxumLayer, OtelInResponseLayer
};
#[tracing::instrument]
async fn route_otel() -> impl axum::response::IntoResponse {
let trace_id =
telemetry_rust::tracing_opentelemetry_instrumentation_sdk::find_current_trace_id();
dbg!(&trace_id);
axum::Json(serde_json::json!({ "trace-id": trace_id }))
}
#[tokio::main]
async fn main() {
init_tracing!(INFO);
let app = axum::Router::new()
.route("/otel", axum::routing::get(route_otel))
.layer(OtelInResponseLayer::default())
.layer(OtelAxumLayer::default());