|
1 |
| -use axum::extract::{Path, Query}; |
2 |
| -use axum::http::Method; |
3 |
| -use axum::Extension; |
4 | 1 | use axum::{response::IntoResponse, routing::get, Router};
|
5 | 2 | use axum_tracing_opentelemetry::opentelemetry_tracing_layer;
|
6 |
| -use axum_tracing_opentelemetry::{ |
7 |
| - // optional tools to init tracer (may require features) |
8 |
| - init_tracer, |
9 |
| - make_resource, |
10 |
| - CollectorKind, |
11 |
| -}; |
12 | 3 | use serde_json::json;
|
13 | 4 | use std::net::SocketAddr;
|
14 | 5 |
|
15 | 6 | fn init_tracing() {
|
16 | 7 | use tracing_subscriber::filter::EnvFilter;
|
17 | 8 | use tracing_subscriber::fmt::format::FmtSpan;
|
18 | 9 | use tracing_subscriber::layer::SubscriberExt;
|
19 |
| - |
20 |
| - // std::env::set_var("RUST_LOG", "info,kube=trace"); |
| 10 | + use axum_tracing_opentelemetry::{ |
| 11 | + make_resource, |
| 12 | + otlp, |
| 13 | + //stdio, |
| 14 | + }; |
21 | 15 | std::env::set_var(
|
22 | 16 | "RUST_LOG",
|
23 | 17 | std::env::var("RUST_LOG").unwrap_or("INFO".to_string()),
|
24 | 18 | );
|
25 | 19 |
|
26 |
| - let otel_tracer = init_tracer( |
27 |
| - CollectorKind::Otlp, |
28 |
| - make_resource(env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION")), |
29 |
| - ) |
30 |
| - .expect("setup of Tracer"); |
| 20 | + let otel_tracer = otlp::init_tracer(make_resource(env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION")), otlp::identity).expect("setup of Tracer"); |
| 21 | + //let otel_tracer = stdio::init_tracer(make_resource(env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION")), stdio::identity, stdio::WriteNoWhere::default()).expect("setup of Tracer"); |
31 | 22 | let otel_layer = tracing_opentelemetry::layer().with_tracer(otel_tracer);
|
32 | 23 |
|
33 | 24 | let fmt_layer = tracing_subscriber::fmt::layer()
|
34 | 25 | .json()
|
35 | 26 | .with_timer(tracing_subscriber::fmt::time::uptime())
|
36 |
| - //.with_span_events(FmtSpan::NEW | FmtSpan::CLOSE) |
| 27 | + .with_span_events(FmtSpan::NEW | FmtSpan::CLOSE) |
37 | 28 | ;
|
38 | 29 |
|
39 | 30 | // Build a subscriber that combines the access log and stdout log
|
@@ -62,10 +53,11 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
62 | 53 | fn app() -> Router {
|
63 | 54 | // build our application with a route
|
64 | 55 | Router::new()
|
65 |
| - .route("/health", get(health)) |
| 56 | + .route("/", get(health)) |
66 | 57 | // opentelemetry_tracing_layer setup `TraceLayer`,
|
67 | 58 | // that is provided by tower-http so you have to add that as a dependency.
|
68 | 59 | .layer(opentelemetry_tracing_layer())
|
| 60 | + .route("/health", get(health)) |
69 | 61 | }
|
70 | 62 |
|
71 | 63 | async fn health() -> impl IntoResponse {
|
|
0 commit comments