From c8b605aa90203ee40924fec0ff45bd155def94c8 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Fri, 13 Jan 2023 02:59:48 +0100 Subject: [PATCH] Save proxy connection time --- src/lib/proxy.c | 8 +++++++- src/lib/proxy.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib/proxy.c b/src/lib/proxy.c index 364552d..b72361f 100644 --- a/src/lib/proxy.c +++ b/src/lib/proxy.c @@ -393,6 +393,7 @@ int proxy_init(proxy_ctx_t **proxy_ptr, http_req *req, http_res *res, http_statu } proxy->initialized = 1; + proxy->cnx_s = clock_micros(); proxy->host = conf->name; info(BLUE_STR "Established new connection with " BLD_STR "[%s]:%i", buffer, conf->proxy.port); @@ -638,7 +639,12 @@ void proxy_close(proxy_ctx_t *ctx) { logger_set_prefix("[%s%*s%s]%s", BLD_STR, ADDRSTRLEN, cctx->req_host, CLR_STR, cctx->log_prefix); } - info(BLUE_STR "Closing proxy connection"); + if (ctx->initialized) { + ctx->cnx_e = clock_micros(); + char buf[32]; + info(BLUE_STR "Closing proxy connection (%s)", format_duration(ctx->cnx_e - ctx->cnx_s, buf)); + } + sock_close(&ctx->proxy); memset(ctx, 0, sizeof(*ctx)); diff --git a/src/lib/proxy.h b/src/lib/proxy.h index b3ad449..fbed1dc 100644 --- a/src/lib/proxy.h +++ b/src/lib/proxy.h @@ -21,6 +21,7 @@ typedef struct { unsigned char initialized:1, in_use:1; sock proxy; + long cnx_s, cnx_e; char *host; void *client; } proxy_ctx_t;