Merge branch 'master' of fs-git:freeswitch

This commit is contained in:
Raymond Chandler 2011-01-28 16:12:07 -05:00
commit 9986f4ebf2
1 changed files with 21 additions and 6 deletions

View File

@ -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);