* added the total number of sessions per server and per proxy

and we now report it in the dumps.
This commit is contained in:
willy tarreau 2006-04-07 18:23:29 +02:00
parent 704f32b78c
commit b1c331fd8d
1 changed files with 28 additions and 13 deletions

View File

@ -596,6 +596,7 @@ struct proxy {
int contimeout; /* connect timeout (in milliseconds) */
char *id; /* proxy id */
int nbconn; /* # of active sessions */
unsigned int cum_conn; /* cumulated number of processed sessions */
int maxconn; /* max # of active sessions */
int conn_retries; /* maximum number of connect retries */
int options; /* PR_O_REDISP, PR_O_TRANSP, ... */
@ -2835,6 +2836,7 @@ int event_accept(int fd) {
s->logs.bytes = 0;
s->uniq_id = totalconn;
p->cum_conn++;
if (p->nb_req_cap > 0) {
if ((s->req_cap =
@ -4308,6 +4310,7 @@ int process_srv(struct session *t) {
tv_eternity(&t->srexpire);
t->srv_state = SV_STDATA;
t->srv->cum_sess++;
rep->rlim = rep->data + BUFSIZE; /* no rewrite needed */
/* if the user wants to log as soon as possible, without counting
@ -4319,6 +4322,7 @@ int process_srv(struct session *t) {
}
else {
t->srv_state = SV_STHEADERS;
t->srv->cum_sess++;
rep->rlim = rep->data + BUFSIZE - MAXREWRITE; /* rewrite needed */
}
tv_eternity(&t->cnexpire);
@ -6181,25 +6185,36 @@ void sig_dump_state(int sig) {
send_log(p, LOG_NOTICE, "SIGUP received, dumping servers states.\n");
while (s) {
if (s->state & SRV_RUNNING) {
Warning("SIGHUP: Server %s/%s is UP.\n", p->id, s->id);
send_log(p, LOG_NOTICE, "SIGUP: Server %s/%s is UP.\n", p->id, s->id);
}
else {
Warning("SIGHUP: Server %s/%s is DOWN.\n", p->id, s->id);
send_log(p, LOG_NOTICE, "SIGHUP: Server %s/%s is DOWN.\n", p->id, s->id);
snprintf(trash, sizeof(trash),
"SIGHUP: Server %s/%s is UP. Conn: %d act, %d tot.",
p->id, s->id, s->cur_sess, s->cum_sess);
} else {
snprintf(trash, sizeof(trash),
"SIGHUP: Server %s/%s is DOWN. Conn: %d act, %d tot.",
p->id, s->id, s->cur_sess, s->cum_sess);
}
Warning("%s\n", trash);
send_log(p, LOG_NOTICE, "%s\n", trash);
s = s->next;
}
if (p->srv_act == 0) {
if (p->srv_bck) {
Warning("SIGHUP: Proxy %s is running on backup servers !\n", p->id);
send_log(p, LOG_NOTICE, "SIGHUP: Proxy %s is running on backup servers !\n", p->id);
} else {
Warning("SIGHUP: Proxy %s has no server available !\n", p->id);
send_log(p, LOG_NOTICE, "SIGHUP: Proxy %s has no server available !\n", p->id);
}
}
snprintf(trash, sizeof(trash),
"SIGHUP: Proxy %s is running on backup servers ! Conn: %d act, %d tot.",
p->id, p->nbconn, p->cum_conn);
} else {
snprintf(trash, sizeof(trash),
"SIGHUP: Proxy %s has no server availble ! Conn: %d act, %d tot.",
p->id, p->nbconn, p->cum_conn);
}
} else {
snprintf(trash, sizeof(trash),
"SIGHUP: Proxy %s has %d active servers and %d backup servers availble. Conn: %d act, %d tot.",
p->id, p->srv_act, p->srv_bck, p->nbconn, p->cum_conn);
}
Warning("%s\n", trash);
send_log(p, LOG_NOTICE, "%s\n", trash);
p = p->next;
}