@@ -19,20 +19,19 @@ For examples, you can look at:
19
19
``` rust
20
20
// ...
21
21
use axum_tracing_opentelemetry :: opentelemetry_tracing_layer;
22
- use axum_tracing_opentelemetry :: {
23
- // optional tools to init tracer (may require features)
24
- init_tracer,
25
- make_resource,
26
- CollectorKind ,
27
- };
28
22
29
23
fn init_tracing () {
30
-
31
- let otel_tracer = init_tracer (
32
- CollectorKind :: Otlp ,
33
- make_resource (env! (" CARGO_PKG_NAME" ), env! (" CARGO_PKG_VERSION" )),
34
- )
35
- . expect (" setup of Tracer" );
24
+ use axum_tracing_opentelemetry :: {
25
+ make_resource,
26
+ otlp,
27
+ // stdio,
28
+ };
29
+
30
+ let otel_rsrc = make_resource (env! (" CARGO_PKG_NAME" ), env! (" CARGO_PKG_VERSION" ));
31
+ let otel_tracer = otlp :: init_tracer (otel_rsrc , otlp :: identity ). expect (" setup of Tracer" );
32
+ // let otel_tracer =
33
+ // stdio::init_tracer(otel_rsrc, stdio::identity, stdio::WriteNoWhere::default())
34
+ // .expect("setup of Tracer");
36
35
let otel_layer = tracing_opentelemetry :: layer (). with_tracer (otel_tracer );
37
36
38
37
let subscriber = tracing_subscriber :: registry ()
@@ -58,9 +57,10 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
58
57
fn app () -> Router {
59
58
// build our application with a route
60
59
Router :: new ()
61
- . route (" /health " , get (health ))
60
+ . route (" /" , get (health )) // request processed inside span
62
61
// opentelemetry_tracing_layer setup `TraceLayer`, that is provided by tower-http so you have to add that as a dependency.
63
62
. layer (opentelemetry_tracing_layer ())
63
+ . route (" /health" , get (health )) // request processed without span / trace
64
64
}
65
65
66
66
async fn shutdown_signal () {
@@ -78,6 +78,13 @@ To retrieve the current `trace_id` (eg to add it into error message (as header o
78
78
79
79
## History
80
80
81
+ ### 0.4
82
+
83
+ - allow customization of tracer
84
+ - add tracer to export on stdout or stderr
85
+ - add tracer to export to nowhere (like ` /dev/null ` ) to allow to have trace_id
86
+ and the opentelemetry span & metadata on log and http response (without collector)
87
+
81
88
### 0.3
82
89
83
90
- Allow customization of exporter pipeline
0 commit comments