From dda50c7c7ddb358f364f1a84e2ea98b7e1b091ad Mon Sep 17 00:00:00 2001 From: STRRL Date: Fri, 14 Oct 2022 15:10:19 +0800 Subject: [PATCH] chore: use span instead of print log_key directly Signed-off-by: STRRL --- chaos-tproxy-proxy/src/proxy/http/server.rs | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/chaos-tproxy-proxy/src/proxy/http/server.rs b/chaos-tproxy-proxy/src/proxy/http/server.rs index a470a55..1651629 100644 --- a/chaos-tproxy-proxy/src/proxy/http/server.rs +++ b/chaos-tproxy-proxy/src/proxy/http/server.rs @@ -101,6 +101,10 @@ pub async fn serve_https( stream.peer_addr()?, stream.local_addr()? ); + + let span = span!(Level::TRACE, "TLS Stream", "{}", &log_key); + let _guard = span.enter(); + let mut tls_stream = acceptor.accept(stream).await?; loop { let (r, parts) = Http::new() @@ -214,7 +218,9 @@ impl HttpService { async fn handle(self, mut request: Request) -> Result> { let log_key = format!("{{remote = {}, target = {} }}", self.remote, self.target); - debug!("{} : Proxy is handling http request", log_key); + let span = span!(Level::TRACE, "handle HTTP Request", "{}", &log_key); + let _guard = span.enter(); + debug!("Proxy is handling http request"); let role_ok = self.role_ok(); let request_rules: Vec<_> = self @@ -222,13 +228,14 @@ impl HttpService { .rules .iter() .filter(|rule| { - role_ok && matches!(rule.target, Target::Request) + role_ok + && matches!(rule.target, Target::Request) && select_request(self.target.port(), &request, &rule.selector) }) .collect(); for rule in request_rules { - debug!("{} : request matched, rule({:?})", log_key, rule); + debug!("request matched, rule({:?})", rule); request = apply_request_action(request, &rule.actions).await?; } @@ -279,7 +286,7 @@ impl HttpService { let mut response = match rsp_fut.await { Ok(resp) => resp, Err(err) => { - error!("{} : fail to forward request: {}", log_key, err); + error!("fail to forward request: {}", err); Response::builder() .status(StatusCode::BAD_GATEWAY) .body(Body::empty())? @@ -291,7 +298,8 @@ impl HttpService { .rules .iter() .filter(|rule| { - role_ok && matches!(rule.target, Target::Response) + role_ok + && matches!(rule.target, Target::Response) && select_response( self.target.port(), &uri, @@ -304,7 +312,7 @@ impl HttpService { .collect(); for rule in response_rules { - debug!("{} : response matched", log_key); + debug!("response matched"); response = apply_response_action(response, &rule.actions).await?; } Ok(response)