Mercurial > dovecot > core-2.2
changeset 22678:ea5633b00934
director: Show number of incoming USERs/sec in ps title
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Sun, 26 Nov 2017 03:45:00 +0200 |
parents | 2fa7cadb2e58 |
children | 496ac7e7563f |
files | src/director/director-connection.c src/director/director.h src/director/main.c |
diffstat | 3 files changed, 13 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/director/director-connection.c Sat Nov 25 23:28:12 2017 +0200 +++ b/src/director/director-connection.c Sun Nov 26 03:45:00 2017 +0200 @@ -782,6 +782,7 @@ future though. It's most likely only 1 second difference. */ timestamp = ioloop_time; } + conn->dir->num_incoming_requests++; (void)director_user_refresh(conn, username_hash, host, timestamp, weak, &forced, &user); /* Possibilities: @@ -826,6 +827,9 @@ return FALSE; } + /* could this before it's potentially ignored */ + conn->dir->num_incoming_requests++; + conn->users_received++; host = mail_host_lookup(conn->dir->mail_hosts, &ip); if (host == NULL) { @@ -1015,6 +1019,9 @@ if ((ret = director_cmd_is_seen(conn, &args, &dir_host)) < 0) return FALSE; + /* could this before it's potentially ignored */ + conn->dir->num_incoming_requests++; + if (str_array_length(args) != 2 || str_to_uint(args[0], &username_hash) < 0 || net_addr2ip(args[1], &ip) < 0) {
--- a/src/director/director.h Sat Nov 25 23:28:12 2017 +0200 +++ b/src/director/director.h Sun Nov 26 03:45:00 2017 +0200 @@ -159,7 +159,7 @@ time_t ring_first_alone; - uint64_t num_requests; + uint64_t num_requests, num_incoming_requests; uint64_t ring_traffic_input, ring_traffic_output; /* director ring handshaking is complete.
--- a/src/director/main.c Sat Nov 25 23:28:12 2017 +0200 +++ b/src/director/main.c Sun Nov 26 03:45:00 2017 +0200 @@ -53,6 +53,7 @@ static void director_refresh_proctitle_timeout(void *context ATTR_UNUSED) { static uint64_t prev_requests = 0, prev_input = 0, prev_output; + static uint64_t prev_incoming_requests = 0; string_t *str; str = t_str_new(64); @@ -63,14 +64,16 @@ str_printfa(str, ", %u moving", director->users_moving_count); if (director->users_kicking_count > 0) str_printfa(str, ", %u kicking", director->users_kicking_count); - str_printfa(str, ", %lu req/s", - (unsigned long)(director->num_requests - prev_requests)); + str_printfa(str, ", %lu+%lu req/s", + (unsigned long)(director->num_requests - prev_requests), + (unsigned long)(director->num_incoming_requests - prev_incoming_requests)); str_printfa(str, ", %llu+%llu kB/s", (unsigned long long)(director->ring_traffic_input - prev_input)/1024, (unsigned long long)(director->ring_traffic_output - prev_output)/1024); str_append_c(str, ']'); prev_requests = director->num_requests; + prev_incoming_requests = director->num_incoming_requests; prev_input = director->ring_traffic_input; prev_output = director->ring_traffic_output;