提交 d6fdf60f authored 作者: Michael Jerris's avatar Michael Jerris

add cumulative count of sessions from switch startup. Resolves…

add cumulative count of sessions from switch startup.  Resolves http://jira.freeswitch.org/browse/FSCORE-18.  Updated patch to change data type of session_id to avoid rollover (wouldn't that be nice) and added - 1 to accurately reflect count.  Thanks bkw for the patch.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4999 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 ca464fd2
...@@ -83,7 +83,7 @@ typedef enum { ...@@ -83,7 +83,7 @@ typedef enum {
struct switch_core_session { struct switch_core_session {
uint32_t id; switch_size_t id;
char name[80]; char name[80];
switch_session_flag_t flags; switch_session_flag_t flags;
int thread_running; int thread_running;
......
...@@ -441,6 +441,12 @@ SWITCH_DECLARE(void) switch_core_session_destroy(switch_core_session_t **session ...@@ -441,6 +441,12 @@ SWITCH_DECLARE(void) switch_core_session_destroy(switch_core_session_t **session
*/ */
SWITCH_DECLARE(uint32_t) switch_core_session_count(void); SWITCH_DECLARE(uint32_t) switch_core_session_count(void);
/*!
\brief Provide the current session_id
\return the total number of allocated sessions since core startup
*/
SWITCH_DECLARE(switch_size_t) switch_core_session_id(void);
/*! /*!
\brief Allocate and return a new session from the core based on a given endpoint module name \brief Allocate and return a new session from the core based on a given endpoint module name
\param endpoint_name the name of the endpoint module \param endpoint_name the name of the endpoint module
......
...@@ -84,6 +84,7 @@ static switch_status_t status_function(char *cmd, switch_core_session_t *session ...@@ -84,6 +84,7 @@ static switch_status_t status_function(char *cmd, switch_core_session_t *session
duration.sec, duration.sec == 1 ? "" : "s", duration.ms, duration.ms == 1 ? "" : "s", duration.mms, duration.sec, duration.sec == 1 ? "" : "s", duration.ms, duration.ms == 1 ? "" : "s", duration.mms,
duration.mms == 1 ? "" : "s"); 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()); stream->write_function(stream, "%d sessions\n", switch_core_session_count());
if (html) { if (html) {
......
...@@ -40,7 +40,7 @@ static struct { ...@@ -40,7 +40,7 @@ static struct {
switch_mutex_t *session_table_mutex; switch_mutex_t *session_table_mutex;
uint32_t session_count; uint32_t session_count;
uint32_t session_limit; uint32_t session_limit;
uint32_t session_id; switch_size_t session_id;
} runtime; } runtime;
...@@ -820,6 +820,12 @@ SWITCH_DECLARE(uint32_t) switch_core_session_count(void) ...@@ -820,6 +820,12 @@ SWITCH_DECLARE(uint32_t) switch_core_session_count(void)
return runtime.session_count; return runtime.session_count;
} }
SWITCH_DECLARE(switch_size_t) switch_core_session_id(void)
{
return runtime.session_id;
}
SWITCH_DECLARE(switch_core_session_t *) switch_core_session_request_by_name(char *endpoint_name, switch_memory_pool_t **pool) SWITCH_DECLARE(switch_core_session_t *) switch_core_session_request_by_name(char *endpoint_name, switch_memory_pool_t **pool)
{ {
const switch_endpoint_interface_t *endpoint_interface; const switch_endpoint_interface_t *endpoint_interface;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论