aboutsummaryrefslogtreecommitdiff
path: root/nscd
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-04-28 03:40:26 +0000
committerUlrich Drepper <drepper@redhat.com>2003-04-28 03:40:26 +0000
commita16e35856aaedbb02fd1b6c55afc12994dd639b6 (patch)
treea0c8d6d3387beaa60c64d013e585697bfb18d319 /nscd
parent0fdb4f42e49b92035f8531f086647e30da169693 (diff)
downloadglibc-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.h3
-rw-r--r--nscd/nscd_stat.c5
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;