Merge branch 'master' of fs-git:freeswitch
This commit is contained in:
commit
9986f4ebf2
|
@ -49,6 +49,14 @@ void init_subagent(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int sql_count_callback(void *pArg, int argc, char **argv, char **columnNames)
|
||||||
|
{
|
||||||
|
uint32_t *count = (uint32_t *) pArg;
|
||||||
|
*count = atoi(argv[0]);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int handle_identity(netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
|
int handle_identity(netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
|
||||||
{
|
{
|
||||||
netsnmp_request_info *request = NULL;
|
netsnmp_request_info *request = NULL;
|
||||||
|
@ -113,13 +121,20 @@ int handle_systemStats(netsnmp_mib_handler *handler, netsnmp_handler_registratio
|
||||||
snmp_set_var_typed_value(requests->requestvb, ASN_GAUGE, (u_char *) &int_val, sizeof(int_val));
|
snmp_set_var_typed_value(requests->requestvb, ASN_GAUGE, (u_char *) &int_val, sizeof(int_val));
|
||||||
break;
|
break;
|
||||||
case SS_CURRENT_CALLS:
|
case SS_CURRENT_CALLS:
|
||||||
/*
|
{
|
||||||
* This is zero for now, since there is no convenient way to get total call
|
switch_cache_db_handle_t *dbh;
|
||||||
* count (not to be confused with session count), without touching the
|
char sql[1024] = "", hostname[256] = "";
|
||||||
* database.
|
|
||||||
*/
|
if (switch_core_db_handle(&dbh) != SWITCH_STATUS_SUCCESS) {
|
||||||
int_val = 0;
|
return SNMP_ERR_GENERR;
|
||||||
|
}
|
||||||
|
|
||||||
|
gethostname(hostname, sizeof(hostname));
|
||||||
|
sprintf(sql, "SELECT COUNT(*) FROM calls WHERE hostname='%s'", hostname);
|
||||||
|
switch_cache_db_execute_sql_callback(dbh, sql, sql_count_callback, &int_val, NULL);
|
||||||
snmp_set_var_typed_value(requests->requestvb, ASN_GAUGE, (u_char *) &int_val, sizeof(int_val));
|
snmp_set_var_typed_value(requests->requestvb, ASN_GAUGE, (u_char *) &int_val, sizeof(int_val));
|
||||||
|
switch_cache_db_release_db_handle(&dbh);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case SS_SESSIONS_PER_SECOND:
|
case SS_SESSIONS_PER_SECOND:
|
||||||
switch_core_session_ctl(SCSC_LAST_SPS, &int_val);
|
switch_core_session_ctl(SCSC_LAST_SPS, &int_val);
|
||||||
|
|
Loading…
Reference in New Issue