diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-04-28 03:40:26 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-04-28 03:40:26 +0000 |
commit | a16e35856aaedbb02fd1b6c55afc12994dd639b6 (patch) | |
tree | a0c8d6d3387beaa60c64d013e585697bfb18d319 /nscd | |
parent | 0fdb4f42e49b92035f8531f086647e30da169693 (diff) | |
download | glibc-a16e35856aaedbb02fd1b6c55afc12994dd639b6.tar glibc-a16e35856aaedbb02fd1b6c55afc12994dd639b6.tar.gz glibc-a16e35856aaedbb02fd1b6c55afc12994dd639b6.tar.bz2 glibc-a16e35856aaedbb02fd1b6c55afc12994dd639b6.zip |
Update.
* 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.
Diffstat (limited to 'nscd')
-rw-r--r-- | nscd/nscd.h | 3 | ||||
-rw-r--r-- | nscd/nscd_stat.c | 5 |
2 files changed, 8 insertions, 0 deletions
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; |