From c4508b525e71f1621942d74a6794c6f3ab9107b7 Mon Sep 17 00:00:00 2001 From: Dave West Date: Tue, 27 Nov 2007 13:09:40 +0000 Subject: [PATCH] Debug code to show thread table is now back in. Thiss will fill your log file. Added number of threads to INFO command Changed calc for load averages, now it is a percentage. --- citadel/citserver.c | 1 + citadel/sysdep.c | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/citadel/citserver.c b/citadel/citserver.c index dac9d7a9b..f2c957d78 100644 --- a/citadel/citserver.c +++ b/citadel/citserver.c @@ -299,6 +299,7 @@ void cmd_info(void) { /* Output load averages */ cprintf("%f\n", CtdlThreadLoadAvg); cprintf("%f\n", CtdlThreadWorkerAvg); + cprintf("%d\n", CtdlThreadGetCount()); cprintf("000\n"); } diff --git a/citadel/sysdep.c b/citadel/sysdep.c index f1ce1f24e..2f21ae51e 100644 --- a/citadel/sysdep.c +++ b/citadel/sysdep.c @@ -1432,7 +1432,7 @@ void ctdl_thread_internal_calc_loadavg(void) ctdl_thread_internal_update_avgs(that_thread); pthread_mutex_lock(&that_thread->ThreadMutex); that_thread->load_avg = that_thread->avg_sleeping + that_thread->avg_running + that_thread->avg_blocked; - that_thread->load_avg = that_thread->avg_running / that_thread->load_avg / 100; + that_thread->load_avg = that_thread->avg_running / that_thread->load_avg * 100; that_thread->avg_sleeping /= 2; that_thread->avg_running /= 2; that_thread->avg_blocked /= 2; @@ -1442,7 +1442,7 @@ void ctdl_thread_internal_calc_loadavg(void) worker_avg += that_thread->load_avg; workers++; } -/* CtdlLogPrintf(CTDL_DEBUG, "CtdlThread, \"%s\" (%ld) \"%s\" %f %f %f %f.\n", + CtdlLogPrintf(CTDL_DEBUG, "CtdlThread, \"%s\" (%ld) \"%s\" %f %f %f %f.\n", that_thread->name, that_thread->tid, CtdlThreadStates[that_thread->state], @@ -1450,13 +1450,13 @@ void ctdl_thread_internal_calc_loadavg(void) that_thread->avg_running, that_thread->avg_blocked, that_thread->load_avg); -*/ + pthread_mutex_unlock(&that_thread->ThreadMutex); that_thread = that_thread->next; } CtdlThreadLoadAvg = load_avg/num_threads; CtdlThreadWorkerAvg = worker_avg/workers; -// CtdlLogPrintf(CTDL_INFO, "System load average %f, workers averag %f\n", CtdlThreadLoadAvg, CtdlThreadWorkerAvg); + CtdlLogPrintf(CTDL_INFO, "System load average %f, workers averag %f\n", CtdlThreadLoadAvg, CtdlThreadWorkerAvg); end_critical_section(S_THREAD_LIST); } -- 2.30.2