@@ -6,7 +6,7 @@ use hyper::{
6
6
use once_cell:: sync:: Lazy ;
7
7
use opentelemetry_api:: {
8
8
metrics:: { Counter , Histogram , MeterProvider as _, Unit } ,
9
- Context , KeyValue ,
9
+ KeyValue ,
10
10
} ;
11
11
use opentelemetry_sdk:: metrics:: MeterProvider ;
12
12
use prometheus:: { Encoder , Registry , TextEncoder } ;
@@ -17,14 +17,13 @@ use std::time::SystemTime;
17
17
static HANDLER_ALL : Lazy < [ KeyValue ; 1 ] > = Lazy :: new ( || [ KeyValue :: new ( "handler" , "all" ) ] ) ;
18
18
19
19
async fn serve_req (
20
- cx : Context ,
21
20
req : Request < Body > ,
22
21
state : Arc < AppState > ,
23
22
) -> Result < Response < Body > , hyper:: Error > {
24
23
println ! ( "Receiving request at path {}" , req. uri( ) ) ;
25
24
let request_start = SystemTime :: now ( ) ;
26
25
27
- state. http_counter . add ( & cx , 1 , HANDLER_ALL . as_ref ( ) ) ;
26
+ state. http_counter . add ( 1 , HANDLER_ALL . as_ref ( ) ) ;
28
27
29
28
let response = match ( req. method ( ) , req. uri ( ) . path ( ) ) {
30
29
( & Method :: GET , "/metrics" ) => {
@@ -34,7 +33,7 @@ async fn serve_req(
34
33
encoder. encode ( & metric_families, & mut buffer) . unwrap ( ) ;
35
34
state
36
35
. http_body_gauge
37
- . record ( & cx , buffer. len ( ) as u64 , HANDLER_ALL . as_ref ( ) ) ;
36
+ . record ( buffer. len ( ) as u64 , HANDLER_ALL . as_ref ( ) ) ;
38
37
39
38
Response :: builder ( )
40
39
. status ( 200 )
@@ -53,7 +52,6 @@ async fn serve_req(
53
52
} ;
54
53
55
54
state. http_req_histogram . record (
56
- & cx,
57
55
request_start. elapsed ( ) . map_or ( 0.0 , |d| d. as_secs_f64 ( ) ) ,
58
56
& [ ] ,
59
57
) ;
@@ -74,7 +72,6 @@ pub async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
74
72
. with_registry ( registry. clone ( ) )
75
73
. build ( ) ?;
76
74
let provider = MeterProvider :: builder ( ) . with_reader ( exporter) . build ( ) ;
77
- let cx = Context :: new ( ) ;
78
75
79
76
let meter = provider. meter ( "hyper-example" ) ;
80
77
let state = Arc :: new ( AppState {
@@ -99,15 +96,10 @@ pub async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
99
96
// incoming HTTP requests on said connection.
100
97
let make_svc = make_service_fn ( move |_conn| {
101
98
let state = state. clone ( ) ;
102
- let cx = cx. clone ( ) ;
103
99
// This is the `Service` that will handle the connection.
104
100
// `service_fn` is a helper to convert a function that
105
101
// returns a Response into a `Service`.
106
- async move {
107
- Ok :: < _ , Infallible > ( service_fn ( move |req| {
108
- serve_req ( cx. clone ( ) , req, state. clone ( ) )
109
- } ) )
110
- }
102
+ async move { Ok :: < _ , Infallible > ( service_fn ( move |req| serve_req ( req, state. clone ( ) ) ) ) }
111
103
} ) ;
112
104
113
105
let addr = ( [ 127 , 0 , 0 , 1 ] , 3000 ) . into ( ) ;
0 commit comments