From: Yann Ylavic Date: Tue, 20 Jun 2023 15:15:30 +0000 (+0000) Subject: ab: Count keepalive aborted connections separately. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c995f9cd234c4eb2d179bc9b5674f345fba6597a;p=thirdparty%2Fapache%2Fhttpd.git ab: Count keepalive aborted connections separately. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910515 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/support/ab.c b/support/ab.c index 7579052ed2a..de63aee2785 100644 --- a/support/ab.c +++ b/support/ab.c @@ -334,6 +334,7 @@ struct metrics { int err_recv; /* requests failed due to broken read */ int err_except; /* requests failed due to exception */ int err_response; /* requests with invalid or non-200 response */ + int aborted_ka; /* requests aborted during keepalive (no data) */ int concurrent; /* Number of multiple requests actually made */ #ifdef USE_SSL char ssl_info[128]; @@ -1159,8 +1160,12 @@ static void output_results(void) printf("Write errors: %d\n", metrics.epipe); if (metrics.err_response) printf("Non-2xx responses: %d\n", metrics.err_response); - if (keepalive) + if (keepalive) { printf("Keep-Alive requests: %" APR_INT64_T_FMT "\n", metrics.doneka); + if (metrics.aborted_ka) { + printf("Keep-Alive aborts: %d\n", metrics.aborted_ka); + } + } printf("Total transferred: %" APR_INT64_T_FMT " bytes\n", metrics.totalread); if (send_body) printf("Total body sent: %" APR_INT64_T_FMT "\n", metrics.totalposted); @@ -1736,6 +1741,7 @@ static void finalize_connection(struct connection *c, int reuse) * as per RFC7230 6.3.1, revert previous accounting (not an error). */ worker->metrics.doneka--; + worker->metrics.aborted_ka++; } else { /* save out time */