]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: stats: inc req counter on listeners.
authorEmeric Brun <ebrun@haproxy.com>
Wed, 7 Oct 2020 06:50:09 +0000 (08:50 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 7 Oct 2020 15:17:27 +0000 (17:17 +0200)
This patch enables count of requests for listeners
if listener's counters are enabled.

include/haproxy/proxy.h
src/http_ana.c

index bf94c2279677b47dc869d661d2c202954bc50df1..b89dac2e7456b25783ba203aa840ba5ebf1dd8d9 100644 (file)
@@ -140,9 +140,11 @@ static inline void proxy_inc_be_ctr(struct proxy *be)
 }
 
 /* increase the number of cumulated requests on the designated frontend */
-static inline void proxy_inc_fe_req_ctr(struct proxy *fe)
+static inline void proxy_inc_fe_req_ctr(struct listener *l, struct proxy *fe)
 {
        _HA_ATOMIC_ADD(&fe->fe_counters.p.http.cum_req, 1);
+       if (l->counters)
+               _HA_ATOMIC_ADD(&l->counters->p.http.cum_req, 1);
        HA_ATOMIC_UPDATE_MAX(&fe->fe_counters.p.http.rps_max,
                             update_freq_ctr(&fe->fe_req_per_sec, 1));
 }
index 79241e3ad61bc7630edc751e5f1b746e593d2111..142a0bf91fe73aa15b7007f0eed3216c0dc8a883 100644 (file)
@@ -98,7 +98,7 @@ int http_wait_for_request(struct stream *s, struct channel *req, int an_bit)
        if (htx->flags & (HTX_FL_PARSING_ERROR|HTX_FL_PROCESSING_ERROR)) {
                stream_inc_http_req_ctr(s);
                stream_inc_http_err_ctr(s);
-               proxy_inc_fe_req_ctr(sess->fe);
+               proxy_inc_fe_req_ctr(sess->listener, sess->fe);
                if (htx->flags & HTX_FL_PARSING_ERROR)
                        goto return_bad_req;
                else
@@ -149,7 +149,7 @@ int http_wait_for_request(struct stream *s, struct channel *req, int an_bit)
 
                        stream_inc_http_err_ctr(s);
                        stream_inc_http_req_ctr(s);
-                       proxy_inc_fe_req_ctr(sess->fe);
+                       proxy_inc_fe_req_ctr(sess->listener, sess->fe);
                        _HA_ATOMIC_ADD(&sess->fe->fe_counters.failed_req, 1);
                        if (sess->listener->counters)
                                _HA_ATOMIC_ADD(&sess->listener->counters->failed_req, 1);
@@ -176,7 +176,7 @@ int http_wait_for_request(struct stream *s, struct channel *req, int an_bit)
 
                        stream_inc_http_err_ctr(s);
                        stream_inc_http_req_ctr(s);
-                       proxy_inc_fe_req_ctr(sess->fe);
+                       proxy_inc_fe_req_ctr(sess->listener, sess->fe);
                        _HA_ATOMIC_ADD(&sess->fe->fe_counters.failed_req, 1);
                        if (sess->listener->counters)
                                _HA_ATOMIC_ADD(&sess->listener->counters->failed_req, 1);
@@ -203,7 +203,7 @@ int http_wait_for_request(struct stream *s, struct channel *req, int an_bit)
 
                        stream_inc_http_err_ctr(s);
                        stream_inc_http_req_ctr(s);
-                       proxy_inc_fe_req_ctr(sess->fe);
+                       proxy_inc_fe_req_ctr(sess->listener, sess->fe);
                        _HA_ATOMIC_ADD(&sess->fe->fe_counters.failed_req, 1);
                        if (sess->listener->counters)
                                _HA_ATOMIC_ADD(&sess->listener->counters->failed_req, 1);
@@ -271,7 +271,7 @@ int http_wait_for_request(struct stream *s, struct channel *req, int an_bit)
 
        msg->msg_state = HTTP_MSG_BODY;
        stream_inc_http_req_ctr(s);
-       proxy_inc_fe_req_ctr(sess->fe); /* one more valid request for this FE */
+       proxy_inc_fe_req_ctr(sess->listener, sess->fe); /* one more valid request for this FE */
 
        /* kill the pending keep-alive timeout */
        txn->flags &= ~TX_WAIT_NEXT_RQ;