MINOR: server: central update for server counters on state change
Based on "BUG/MINOR: server: don't miss server stats update on server
state transitions", we're also taking advantage of the new centralized
logic to update down_trans server counter directly from there instead
of multiple places.
diff --git a/src/server.c b/src/server.c
index 65f24d1..457a429 100644
--- a/src/server.c
+++ b/src/server.c
@@ -5335,7 +5335,6 @@
free_trash_chunk(tmptrash);
tmptrash = NULL;
}
- s->counters.down_trans++;
}
else if ((s->cur_state != SRV_ST_STOPPING) && (s->next_state == SRV_ST_STOPPING)) {
if (s->proxy->lbprm.set_server_status_down)
@@ -5503,7 +5502,6 @@
free_trash_chunk(tmptrash);
tmptrash = NULL;
}
- s->counters.down_trans++;
}
}
else if ((s->cur_admin & SRV_ADMF_MAINT) && !(s->next_admin & SRV_ADMF_MAINT)) {
@@ -5788,6 +5786,10 @@
if (s->last_change < now.tv_sec) // ignore negative times
s->down_time += now.tv_sec - s->last_change;
}
+ else if (s->cur_state == SRV_ST_STOPPED) {
+ /* server was up and is currently down */
+ s->counters.down_trans++;
+ }
s->last_change = now.tv_sec;
}