From 2e67b16ba247dbff8baf198d45c66e529d9bacff Mon Sep 17 00:00:00 2001 From: mbecker20 Date: Thu, 11 Apr 2024 04:41:31 -0700 Subject: [PATCH] move logs outside of tokio spawn --- bin/core/src/api/execute/mod.rs | 27 ++++++++++++++++----------- bin/core/src/api/write/mod.rs | 27 ++++++++++++++++----------- bin/periphery/src/handler.rs | 33 +++++++++++++++++++-------------- 3 files changed, 51 insertions(+), 36 deletions(-) diff --git a/bin/core/src/api/execute/mod.rs b/bin/core/src/api/execute/mod.rs index 0834b1b3c..824568203 100644 --- a/bin/core/src/api/execute/mod.rs +++ b/bin/core/src/api/execute/mod.rs @@ -66,21 +66,26 @@ async fn handler( user.username, user.id ); let res = tokio::spawn(async move { - let res = State.resolve_request(request, user).await; - if let Err(resolver_api::Error::Serialization(e)) = &res { - warn!("/execute request {req_id} serialization error: {e:?}"); - } - if let Err(resolver_api::Error::Inner(e)) = &res { - warn!("/execute request {req_id} error: {e:#}"); - } - let elapsed = timer.elapsed(); - info!("/execute request {req_id} | resolve time: {elapsed:?}"); - res + State.resolve_request(request, user).await }) .await .context("failure in spawned execute task"); + + let elapsed = timer.elapsed(); + info!("/execute request {req_id} | resolve time: {elapsed:?}"); + if let Err(e) = &res { warn!("/execute request {req_id} spawn error: {e:#}",); } - AppResult::Ok((TypedHeader(ContentType::json()), res??)) + + let res = res?; + + if let Err(resolver_api::Error::Serialization(e)) = &res { + warn!("/execute request {req_id} serialization error: {e:?}"); + } + if let Err(resolver_api::Error::Inner(e)) = &res { + warn!("/execute request {req_id} error: {e:#}"); + } + + AppResult::Ok((TypedHeader(ContentType::json()), res?)) } diff --git a/bin/core/src/api/write/mod.rs b/bin/core/src/api/write/mod.rs index 8c594df17..505df2627 100644 --- a/bin/core/src/api/write/mod.rs +++ b/bin/core/src/api/write/mod.rs @@ -122,21 +122,26 @@ async fn handler( user.username, user.id ); let res = tokio::spawn(async move { - let res = State.resolve_request(request, user).await; - if let Err(resolver_api::Error::Serialization(e)) = &res { - warn!("/write request {req_id} serialization error: {e:?}"); - } - if let Err(resolver_api::Error::Inner(e)) = &res { - warn!("/write request {req_id} error: {e:#}"); - } - let elapsed = timer.elapsed(); - info!("/write request {req_id} | resolve time: {elapsed:?}"); - res + State.resolve_request(request, user).await }) .await .context("failure in spawned task"); + + let elapsed = timer.elapsed(); + info!("/write request {req_id} | resolve time: {elapsed:?}"); + if let Err(e) = &res { warn!("/write request {req_id} spawn error: {e:#}"); } - AppResult::Ok((TypedHeader(ContentType::json()), res??)) + + let res = res?; + + if let Err(resolver_api::Error::Serialization(e)) = &res { + warn!("/write request {req_id} serialization error: {e:?}"); + } + if let Err(resolver_api::Error::Inner(e)) = &res { + warn!("/write request {req_id} error: {e:#}"); + } + + AppResult::Ok((TypedHeader(ContentType::json()), res?)) } diff --git a/bin/periphery/src/handler.rs b/bin/periphery/src/handler.rs index d164721cd..42379fd5b 100644 --- a/bin/periphery/src/handler.rs +++ b/bin/periphery/src/handler.rs @@ -15,21 +15,26 @@ pub async fn handler( let timer = Instant::now(); let req_id = Uuid::new_v4(); info!("request {req_id} | {request:?}"); - let res = tokio::spawn(async move { - let res = State.resolve_request(request, ()).await; - if let Err(resolver_api::Error::Serialization(e)) = &res { - warn!("request {req_id} serialization error: {e:?}"); - } - if let Err(resolver_api::Error::Inner(e)) = &res { - warn!("request {req_id} error: {e:#}"); - } - let elapsed = timer.elapsed(); - info!("request {req_id} | resolve time: {elapsed:?}"); - res - }) - .await; + let res = + tokio::spawn( + async move { State.resolve_request(request, ()).await }, + ) + .await; + + let elapsed = timer.elapsed(); + info!("request {req_id} | resolve time: {elapsed:?}"); + if let Err(e) = &res { warn!("request {req_id} spawn error: {e:#}"); } - AppResult::Ok((TypedHeader(ContentType::json()), res??)) + + let res = res?; + if let Err(resolver_api::Error::Serialization(e)) = &res { + warn!("request {req_id} serialization error: {e:?}"); + } + if let Err(resolver_api::Error::Inner(e)) = &res { + warn!("request {req_id} error: {e:#}"); + } + + AppResult::Ok((TypedHeader(ContentType::json()), res?)) }