struct pxcounters {
unsigned int feconn_max, beconn_max; /* max # of active frontend and backend sessions */
+ long long cum_fe_req; /* cumulated number of processed HTTP requests */
long long cum_feconn, cum_beconn; /* cumulated number of processed sessions */
long long cum_lbconn; /* cumulated number of sessions processed by load balancing */
+ unsigned int fe_rps_max; /* maximum of new sessions per second seen on the frontend */
unsigned int fe_sps_max; /* maximum of new sessions per second seen on the frontend */
unsigned int be_sps_max; /* maximum of new sessions per second seen on the backend */
unsigned int nbpend_max; /* max number of pending connections with no server assigned yet */
"rate,rate_lim,rate_max,"
"check_status,check_code,check_duration,"
"hrsp_1xx,hrsp_2xx,hrsp_3xx,hrsp_4xx,hrsp_5xx,hrsp_other,hanafail,"
+ "req_rate, req_rate_max, req_tot,"
"\n");
}
else {
px->counters.feconn_max = 0;
px->counters.beconn_max = 0;
+ px->counters.fe_rps_max = 0;
px->counters.fe_sps_max = 0;
px->counters.be_sps_max = 0;
px->counters.nbpend_max = 0;
/* failed health analyses */
chunk_printf(&msg, ",");
+ /* requests : req_rate, req_rate_max, req_tot, */
+ chunk_printf(&msg, "%u,%u,%lld,",
+ read_freq_ctr(&px->fe_req_per_sec),
+ px->counters.fe_rps_max, px->counters.cum_fe_req);
+
/* finish with EOL */
chunk_printf(&msg, "\n");
}
",,,,,,"
/* failed health analyses */
","
+ /* requests : req_rate, req_rate_max, req_tot, */
+ ",,,"
"\n",
px->id, l->name,
l->nbconn, l->counters->conn_max,
/* failed health analyses */
chunk_printf(&msg, "%lld,", sv->counters.failed_hana);
+ /* requests : req_rate, req_rate_max, req_tot, */
+ chunk_printf(&msg, ",,,");
+
/* finish with EOL */
chunk_printf(&msg, "\n");
}
/* failed health analyses */
chunk_printf(&msg, ",");
+ /* requests : req_rate, req_rate_max, req_tot, */
+ chunk_printf(&msg, ",,,");
+
/* finish with EOL */
chunk_printf(&msg, "\n");