Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 28 Apr 2003 03:40:26 +0000 (03:40 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 28 Apr 2003 03:40:26 +0000 (03:40 +0000)
* 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.

ChangeLog
nscd/nscd.h
nscd/nscd_stat.c

index d8d0321..0562bdd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
index 89ac777..73c94a5 100644 (file)
@@ -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 */
index d55ca74..7cfde98 100644 (file)
@@ -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;