|
|
- From 7397526d0c80251b3006b1b45af754f5ad7adb76 Mon Sep 17 00:00:00 2001
- From: Nenad Merdanovic <nmerdan@anine.io>
- Date: Mon, 3 Oct 2016 04:57:37 +0200
- Subject: [PATCH 05/26] MINOR: Add fe_req_rate sample fetch
-
- The fe_req_rate is similar to fe_sess_rate, but fetches the number
- of HTTP requests per second instead of connections/sessions per second.
-
- Signed-off-by: Nenad Merdanovic <nmerdan@anine.io>
- (cherry picked from commit ad9a7e9770e673a70fb56ab95be18bf88666d92a)
- ---
- doc/configuration.txt | 5 +++++
- src/frontend.c | 14 ++++++++++++++
- 2 files changed, 19 insertions(+)
-
- diff --git a/doc/configuration.txt b/doc/configuration.txt
- index d4b1744..d18c399 100644
- --- a/doc/configuration.txt
- +++ b/doc/configuration.txt
- @@ -12253,6 +12253,11 @@ fe_conn([<frontend>]) : integer
- statistics to servers in HTTP headers. See also the "dst_conn", "be_conn",
- "fe_sess_rate" fetches.
-
- +fe_req_rate([<frontend>]) : integer
- + Returns an integer value corresponding to the number of HTTP requests per
- + second sent to a frontend. This number can differ from "fe_sess_rate" in
- + situations where client-side keep-alive is enabled.
- +
- fe_sess_rate([<frontend>]) : integer
- Returns an integer value corresponding to the sessions creation rate on the
- frontend, in number of new sessions per second. This is used with ACLs to
- diff --git a/src/frontend.c b/src/frontend.c
- index 74ec0ab..5cc6202 100644
- --- a/src/frontend.c
- +++ b/src/frontend.c
- @@ -167,6 +167,19 @@ smp_fetch_fe_id(const struct arg *args, struct sample *smp, const char *kw, void
- return 1;
- }
-
- +/* set temp integer to the number of HTTP requests per second reaching the frontend.
- + * Accepts exactly 1 argument. Argument is a frontend, other types will cause
- + * an undefined behaviour.
- + */
- +static int
- +smp_fetch_fe_req_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
- +{
- + smp->flags = SMP_F_VOL_TEST;
- + smp->data.type = SMP_T_SINT;
- + smp->data.u.sint = read_freq_ctr(&args->data.prx->fe_req_per_sec);
- + return 1;
- +}
- +
- /* set temp integer to the number of connections per second reaching the frontend.
- * Accepts exactly 1 argument. Argument is a frontend, other types will cause
- * an undefined behaviour.
- @@ -200,6 +213,7 @@ smp_fetch_fe_conn(const struct arg *args, struct sample *smp, const char *kw, vo
- static struct sample_fetch_kw_list smp_kws = {ILH, {
- { "fe_conn", smp_fetch_fe_conn, ARG1(1,FE), NULL, SMP_T_SINT, SMP_USE_INTRN, },
- { "fe_id", smp_fetch_fe_id, 0, NULL, SMP_T_SINT, SMP_USE_FTEND, },
- + { "fe_req_rate", smp_fetch_fe_req_rate, ARG1(1,FE), NULL, SMP_T_SINT, SMP_USE_INTRN, },
- { "fe_sess_rate", smp_fetch_fe_sess_rate, ARG1(1,FE), NULL, SMP_T_SINT, SMP_USE_INTRN, },
- { /* END */ },
- }};
- --
- 2.7.3
-
|