diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | nscd/nscd.h | 3 | ||||
-rw-r--r-- | nscd/nscd_stat.c | 5 |
3 files changed, 15 insertions, 0 deletions
@@ -9,6 +9,13 @@ 2003-04-27 Ulrich Drepper <drepper@redhat.com> + * nscd/connections.c (client_queued): New variable. + (nscd_run): Revamp the loop. Don't call poll except for cleanup + threads. Keep track of the number of delays caused because of busy + worker threads. + * nscd/nscd.h: Declare client_queued. + * nscd/nscd_stat.c: Transmit and print client_queued information. + * locale/programs/locale.c (show_info): Use '\177' instead of CHAR_MAX. * Makerules ($(common-objpfx)shlib.lds): Don't use PROVIDE to diff --git a/nscd/nscd.h b/nscd/nscd.h index 89ac777273..73c94a5035 100644 --- a/nscd/nscd.h +++ b/nscd/nscd.h @@ -109,6 +109,9 @@ extern const char *server_user; /* Time the server was started. */ extern time_t start_time; +/* Number of times clients had to wait. */ +extern unsigned long int client_queued; + /* Prototypes for global functions. */ /* nscd.c */ diff --git a/nscd/nscd_stat.c b/nscd/nscd_stat.c index d55ca74bcd..7cfde982f6 100644 --- a/nscd/nscd_stat.c +++ b/nscd/nscd_stat.c @@ -61,6 +61,7 @@ struct statdata char version[sizeof (compilation)]; int debug_level; time_t runtime; + unsigned long int client_queued; int ndbs; struct dbstat dbs[lastdb]; }; @@ -75,6 +76,7 @@ send_stats (int fd, struct database dbs[lastdb]) memcpy (data.version, compilation, sizeof (compilation)); data.debug_level = debug_level; data.runtime = time (NULL) - start_time; + data.client_queued = client_queued; data.ndbs = lastdb; for (cnt = 0; cnt < lastdb; ++cnt) @@ -175,6 +177,9 @@ receive_print_stats (void) else printf (_(" %2lus server runtime\n"), diff); + printf (_("%15lu number of times clients had to wait\n"), + data.client_queued); + for (i = 0; i < lastdb; ++i) { unsigned long int hit = data.dbs[i].poshit + data.dbs[i].neghit; |