From 826405fcb99d8a33b8a6d3a92cd3e46685cb1bd3 Mon Sep 17 00:00:00 2001 From: Brian Olsen Date: Tue, 22 Sep 2020 21:22:19 +0000 Subject: [PATCH] fixup in HttpSM to only set [TS_MILESTONE_SERVER_CLOSE if TS_MILESTONE_SERVER_CONNECT has been set --- proxy/http/HttpSM.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc index 09e5f2744b3..578b466c36e 100644 --- a/proxy/http/HttpSM.cc +++ b/proxy/http/HttpSM.cc @@ -2976,7 +2976,13 @@ HttpSM::tunnel_handler_server(int event, HttpTunnelProducer *p) { STATE_ENTER(&HttpSM::tunnel_handler_server, event); - milestones[TS_MILESTONE_SERVER_CLOSE] = Thread::get_hrtime(); + // An intercept handler may not set TS_MILESTONE_SERVER_CONNECT + // by default. Therefore we only set TS_MILESTONE_SERVER_CLOSE if + // TS_MILESTONE_SERVER_CONNECT is set (non-zero), lest certain time + // statistics are calculated from epoch time. + if (0 != milestones[TS_MILESTONE_SERVER_CONNECT]) { + milestones[TS_MILESTONE_SERVER_CLOSE] = Thread::get_hrtime(); + } bool close_connection = false;