* 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.
This commit is contained in:
Ulrich Drepper 2003-04-28 03:40:26 +00:00
parent 0fdb4f42e4
commit a16e35856a
3 changed files with 15 additions and 0 deletions

View File

@ -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

View 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 */

View 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;