From: Willy Tarreau Date: Fri, 6 Aug 2010 13:25:22 +0000 (+0200) Subject: [MEDIUM] session-counters: make it possible to count connections from frontend X-Git-Tag: v1.5-dev8~497 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9e9879a263d17a925f4f6c65a1221b579ae7f558;p=thirdparty%2Fhaproxy.git [MEDIUM] session-counters: make it possible to count connections from frontend In case a "track-be-counters" rule is referenced in the frontend, count it so that the connection counts are correct. --- diff --git a/src/session.c b/src/session.c index b1951733f4..37ded37634 100644 --- a/src/session.c +++ b/src/session.c @@ -150,6 +150,19 @@ int session_accept(struct listener *l, int cfd, struct sockaddr_storage *addr) s->fe_tracked_table->data_arg[STKTABLE_DT_SESS_RATE].u, 1); } + if (s->be_tracked_counters) { + void *ptr; + + ptr = stktable_data_ptr(s->be_tracked_table, s->be_tracked_counters, STKTABLE_DT_SESS_CNT); + if (ptr) + stktable_data_cast(ptr, sess_cnt)++; + + ptr = stktable_data_ptr(s->be_tracked_table, s->be_tracked_counters, STKTABLE_DT_SESS_RATE); + if (ptr) + update_freq_ctr_period(&stktable_data_cast(ptr, sess_rate), + s->be_tracked_table->data_arg[STKTABLE_DT_SESS_RATE].u, 1); + } + /* this part should be common with other protocols */ s->si[0].fd = cfd; s->si[0].owner = t;