|
|
|
|
@ -1398,17 +1398,31 @@ static void cli_incoming_list_interfaces(str *instr, struct streambuf *replybuff
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void cli_incoming_list_jsonstats(str *instr, struct streambuf *replybuffer) {
|
|
|
|
|
u_int64_t cur_sessions, num_sessions, min_sess_iv, max_sess_iv;
|
|
|
|
|
struct timeval avg, calls_dur_iv;
|
|
|
|
|
u_int64_t num_sessions, min_sess_iv, max_sess_iv;
|
|
|
|
|
struct request_time offer_iv, answer_iv, delete_iv;
|
|
|
|
|
struct requests_ps offers_ps, answers_ps, deletes_ps;
|
|
|
|
|
|
|
|
|
|
streambuf_printf(replybuffer, "{\"currentstatistics\":{");
|
|
|
|
|
|
|
|
|
|
rwlock_lock_r(&rtpe_callhash_lock);
|
|
|
|
|
cur_sessions = g_hash_table_size(rtpe_callhash);
|
|
|
|
|
rwlock_unlock_r(&rtpe_callhash_lock);
|
|
|
|
|
|
|
|
|
|
streambuf_printf(replybuffer, "\"sessionsown\":"UINT64F",", cur_sessions - atomic64_get(&rtpe_stats.foreign_sessions));
|
|
|
|
|
streambuf_printf(replybuffer, "\"sessionsforeign\":"UINT64F",", atomic64_get(&rtpe_stats.foreign_sessions));
|
|
|
|
|
streambuf_printf(replybuffer, "\"sessionstotal\":%i,", cur_sessions);
|
|
|
|
|
|
|
|
|
|
streambuf_printf(replybuffer, "\"packetrate\":%"PRIu64",", atomic64_get(&rtpe_stats.packets));
|
|
|
|
|
streambuf_printf(replybuffer, "\"byterate\":%"PRIu64",", atomic64_get(&rtpe_stats.bytes));
|
|
|
|
|
streambuf_printf(replybuffer, "\"errorrate\":%"PRIu64"", atomic64_get(&rtpe_stats.errors));
|
|
|
|
|
|
|
|
|
|
mutex_lock(&rtpe_totalstats.total_average_lock);
|
|
|
|
|
avg = rtpe_totalstats.total_average_call_dur;
|
|
|
|
|
num_sessions = rtpe_totalstats.total_managed_sess;
|
|
|
|
|
mutex_unlock(&rtpe_totalstats.total_average_lock);
|
|
|
|
|
|
|
|
|
|
streambuf_printf(replybuffer, "{\"totalstatistics\":{");
|
|
|
|
|
streambuf_printf(replybuffer, "},\"totalstatistics\":{");
|
|
|
|
|
streambuf_printf(replybuffer, "\"uptime\":%llu,", (unsigned long long)time(NULL)-rtpe_totalstats.started);
|
|
|
|
|
streambuf_printf(replybuffer, "\"managedsessions\":"UINT64F",", num_sessions);
|
|
|
|
|
streambuf_printf(replybuffer, "\"rejectedsessions\":"UINT64F",", atomic64_get(&rtpe_totalstats.total_rejected_sess));
|
|
|
|
|
|