[commit] r5804 - in freeswitch/trunk/src: . include include/private mod/applications/mod_commands
Author: anthm Date: Thu Oct 4 17:35:50 2007 New Revision: 5804 Modified: freeswitch/trunk/src/include/private/switch_core_pvt.h freeswitch/trunk/src/include/switch_types.h freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c freeswitch/trunk/src/softtimer.c freeswitch/trunk/src/switch_core.c Log: add sps count to the status output Modified: freeswitch/trunk/src/include/private/switch_core_pvt.h ============================================================================== --- freeswitch/trunk/src/include/private/switch_core_pvt.h (original) +++ freeswitch/trunk/src/include/private/switch_core_pvt.h Thu Oct 4 17:35:50 2007 @@ -156,6 +156,7 @@ switch_mutex_t *throttle_mutex; uint32_t sps_total; int32_t sps; + int32_t sps_last; switch_log_level_t hard_log_level; }; Modified: freeswitch/trunk/src/include/switch_types.h ============================================================================== --- freeswitch/trunk/src/include/switch_types.h (original) +++ freeswitch/trunk/src/include/switch_types.h Thu Oct 4 17:35:50 2007 @@ -1008,6 +1008,7 @@ SCSC_CHECK_RUNNING, SCSC_LOGLEVEL, SCSC_SPS, + SCSC_LAST_SPS, SCSC_RECLAIM } switch_session_ctl_t; Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c (original) +++ freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c Thu Oct 4 17:35:50 2007 @@ -44,6 +44,7 @@ uint8_t html = 0; switch_core_time_duration_t duration; char *http = NULL; + int sps, last_sps; if (session) { return SWITCH_STATUS_FALSE; @@ -68,7 +69,9 @@ duration.mms == 1 ? "" : "s"); stream->write_function(stream, "%"SWITCH_SIZE_T_FMT" sessions since startup\n", switch_core_session_id() - 1 ); - stream->write_function(stream, "%d sessions\n", switch_core_session_count()); + switch_core_session_ctl(SCSC_LAST_SPS, &last_sps); + switch_core_session_ctl(SCSC_SPS, &sps); + stream->write_function(stream, "%d session(s) %d/%d\n", switch_core_session_count(), last_sps, sps); if (html) { stream->write_function(stream, "</b>\n"); @@ -130,6 +133,9 @@ } switch_core_session_ctl(SCSC_LOGLEVEL, &arg); stream->write_function(stream, "log level: %s [%d]\n", switch_log_level2str(arg), arg); + } else if (!strcasecmp(argv[0], "last_sps")) { + switch_core_session_ctl(SCSC_LAST_SPS, &arg); + stream->write_function(stream, "last sessions per second: %d\n", arg); } else if (!strcasecmp(argv[0], "sps")) { if (argc > 1) { arg = atoi(argv[1]); Modified: freeswitch/trunk/src/softtimer.c ============================================================================== --- freeswitch/trunk/src/softtimer.c (original) +++ freeswitch/trunk/src/softtimer.c Thu Oct 4 17:35:50 2007 @@ -206,7 +206,7 @@ uint32_t current_ms = 0; uint32_t x, tick = 0; switch_time_t ts = 0; - + memset(&globals, 0, sizeof(globals)); switch_mutex_init(&globals.mutex, SWITCH_MUTEX_NESTED, module_pool); @@ -229,6 +229,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Over Session Rate of %d!\n", runtime.sps_total); } switch_mutex_lock(runtime.throttle_mutex); + runtime.sps_last = runtime.sps_total - runtime.sps; runtime.sps = runtime.sps_total; switch_mutex_unlock(runtime.throttle_mutex); tick = 0; Modified: freeswitch/trunk/src/switch_core.c ============================================================================== --- freeswitch/trunk/src/switch_core.c (original) +++ freeswitch/trunk/src/switch_core.c Thu Oct 4 17:35:50 2007 @@ -657,6 +657,9 @@ } *val = runtime.hard_log_level; break; + case SCSC_LAST_SPS: + *val = runtime.sps_last; + break; case SCSC_SPS: switch_mutex_lock(runtime.throttle_mutex); if (*val > 0) {
participants (1)
-
Freeswitch SVN