show current process stack size from status command where supported

This commit is contained in:
Anthony Minessale 2012-07-02 11:49:42 -05:00
parent 4654bda84a
commit d32a72bcc1
1 changed files with 21 additions and 0 deletions

View File

@ -1721,6 +1721,14 @@ SWITCH_STANDARD_API(lan_addr_function)
return SWITCH_STATUS_SUCCESS;
}
#include "switch_private.h"
#ifndef WIN32
#ifdef HAVE_SETRLIMIT
#include <sys/resource.h>
#endif
#endif
SWITCH_STANDARD_API(status_function)
{
uint8_t html = 0;
@ -1728,6 +1736,11 @@ SWITCH_STANDARD_API(status_function)
char *http = NULL;
int sps = 0, last_sps = 0;
const char *var;
#ifdef HAVE_SETRLIMIT
struct rlimit rlp;
#endif
switch_core_measure_time(switch_core_uptime(), &duration);
@ -1764,6 +1777,14 @@ SWITCH_STANDARD_API(status_function)
stream->write_function(stream, "%d session(s) max\n", switch_core_session_limit(0));
stream->write_function(stream, "min idle cpu %0.2f/%0.2f\n", switch_core_min_idle_cpu(-1.0), switch_core_idle_cpu());
#ifdef HAVE_SETRLIMIT
memset(&rlp, 0, sizeof(rlp));
getrlimit(RLIMIT_STACK, &rlp);
stream->write_function(stream, "Current Stack Size/Max %ldK/%ldK\n", rlp.rlim_cur / 1024, rlp.rlim_max / 1024);
#endif
if (html) {
stream->write_function(stream, "</b>\n");
}