Browse Source

TT#131402 split up relay stats between kernel and userspace

Change-Id: I9e5a82e5817829d8a1b17e6828bb0594fbc8df08
pull/1373/head
Richard Fuchs 4 years ago
parent
commit
c5dc3484ae
8 changed files with 549 additions and 46 deletions
  1. +1
    -1
      daemon/call.c
  2. +3
    -2
      daemon/call_interfaces.c
  3. +21
    -6
      daemon/cli.c
  4. +12
    -2
      daemon/graphite.c
  5. +5
    -5
      daemon/media_socket.c
  6. +53
    -6
      daemon/statistics.c
  7. +6
    -3
      include/counter_stats_fields.inc
  8. +448
    -21
      t/test-stats.c

+ 1
- 1
daemon/call.c View File

@ -515,7 +515,7 @@ destroy:
else \ else \
diff_ ## x = ke->stats.x - ks_val; \ diff_ ## x = ke->stats.x - ks_val; \
atomic64_add(&ps->stats.x, diff_ ## x); \ atomic64_add(&ps->stats.x, diff_ ## x); \
RTPE_STATS_ADD(x, diff_ ## x); \
RTPE_STATS_ADD(x ## _kernel, diff_ ## x); \
} while (0) } while (0)
void call_timer(void *ptr) { void call_timer(void *ptr) {


+ 3
- 2
daemon/call_interfaces.c View File

@ -456,7 +456,7 @@ void calls_status_tcp(struct streambuf_stream *s) {
rwlock_lock_r(&rtpe_callhash_lock); rwlock_lock_r(&rtpe_callhash_lock);
streambuf_printf(s->outbuf, "proxy %u "UINT64F"/%i/%i\n", streambuf_printf(s->outbuf, "proxy %u "UINT64F"/%i/%i\n",
g_hash_table_size(rtpe_callhash), g_hash_table_size(rtpe_callhash),
atomic64_get(&rtpe_stats.intv.bytes), 0, 0);
atomic64_get(&rtpe_stats.intv.bytes_user) + atomic64_get(&rtpe_stats.intv.bytes_kernel), 0, 0);
rwlock_unlock_r(&rtpe_callhash_lock); rwlock_unlock_r(&rtpe_callhash_lock);
ITERATE_CALL_LIST_START(CALL_ITERATOR_MAIN, c); ITERATE_CALL_LIST_START(CALL_ITERATOR_MAIN, c);
@ -1263,7 +1263,8 @@ static enum load_limit_reasons call_offer_session_limit(void) {
} }
if (ret == LOAD_LIMIT_NONE && rtpe_config.bw_limit) { if (ret == LOAD_LIMIT_NONE && rtpe_config.bw_limit) {
uint64_t bw = atomic64_get(&rtpe_stats.intv.bytes);
uint64_t bw = atomic64_get(&rtpe_stats.intv.bytes_user) +
atomic64_get(&rtpe_stats.intv.bytes_kernel);
if (bw >= rtpe_config.bw_limit) { if (bw >= rtpe_config.bw_limit) {
ilog(LOG_WARN, "Bandwidth limit exceeded (%" PRIu64 " > %" PRIu64 ")", ilog(LOG_WARN, "Bandwidth limit exceeded (%" PRIu64 " > %" PRIu64 ")",
bw, rtpe_config.bw_limit); bw, rtpe_config.bw_limit);


+ 21
- 6
daemon/cli.c View File

@ -406,12 +406,27 @@ static void cli_incoming_params_revert(str *instr, struct cli_writer *cw) {
static void cli_incoming_list_counters(str *instr, struct cli_writer *cw) { static void cli_incoming_list_counters(str *instr, struct cli_writer *cw) {
cw->cw_printf(cw, "\nCurrent per-second counters:\n\n"); cw->cw_printf(cw, "\nCurrent per-second counters:\n\n");
cw->cw_printf(cw, " Packets per second :%" PRIu64 "\n",
atomic64_get(&rtpe_stats.intv.packets));
cw->cw_printf(cw, " Bytes per second :%" PRIu64 "\n",
atomic64_get(&rtpe_stats.intv.bytes));
cw->cw_printf(cw, " Errors per second :%" PRIu64 "\n",
atomic64_get(&rtpe_stats.intv.errors));
cw->cw_printf(cw, " Packets per second (userspace) :%" PRIu64 "\n",
atomic64_get(&rtpe_stats.intv.packets_user));
cw->cw_printf(cw, " Bytes per second (userspace) :%" PRIu64 "\n",
atomic64_get(&rtpe_stats.intv.bytes_user));
cw->cw_printf(cw, " Errors per second (userspace) :%" PRIu64 "\n",
atomic64_get(&rtpe_stats.intv.errors_user));
cw->cw_printf(cw, " Packets per second (kernel) :%" PRIu64 "\n",
atomic64_get(&rtpe_stats.intv.packets_kernel));
cw->cw_printf(cw, " Bytes per second (kernel) :%" PRIu64 "\n",
atomic64_get(&rtpe_stats.intv.bytes_kernel));
cw->cw_printf(cw, " Errors per second (kernel) :%" PRIu64 "\n",
atomic64_get(&rtpe_stats.intv.errors_kernel));
cw->cw_printf(cw, " Packets per second (total) :%" PRIu64 "\n",
atomic64_get(&rtpe_stats.intv.packets_user) +
atomic64_get(&rtpe_stats.intv.packets_kernel));
cw->cw_printf(cw, " Bytes per second (total) :%" PRIu64 "\n",
atomic64_get(&rtpe_stats.intv.bytes_user) +
atomic64_get(&rtpe_stats.intv.bytes_kernel));
cw->cw_printf(cw, " Errors per second (total) :%" PRIu64 "\n",
atomic64_get(&rtpe_stats.intv.errors_user) +
atomic64_get(&rtpe_stats.intv.errors_kernel));
} }
static void cli_incoming_list_totals(str *instr, struct cli_writer *cw) { static void cli_incoming_list_totals(str *instr, struct cli_writer *cw) {


+ 12
- 2
daemon/graphite.c View File

@ -116,8 +116,18 @@ GString *print_graphite_data(void) {
GPF("nopacket_relayed_sess "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.nopacket_relayed_sess)); GPF("nopacket_relayed_sess "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.nopacket_relayed_sess));
GPF("oneway_stream_sess "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.oneway_stream_sess)); GPF("oneway_stream_sess "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.oneway_stream_sess));
GPF("regular_term_sess "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.regular_term_sess)); GPF("regular_term_sess "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.regular_term_sess));
GPF("relayed_errors "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.errors));
GPF("relayed_packets "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.packets));
GPF("relayed_errors_user "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.errors_user));
GPF("relayed_packets_user "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.packets_user));
GPF("relayed_bytes_user "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.bytes_user));
GPF("relayed_errors_kernel "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.errors_kernel));
GPF("relayed_packets_kernel "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.packets_kernel));
GPF("relayed_bytes_kernel "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.bytes_kernel));
GPF("relayed_errors "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.errors_user) +
atomic64_get_na(&rtpe_stats_graphite_interval.errors_kernel));
GPF("relayed_packets "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.packets_user) +
atomic64_get_na(&rtpe_stats_graphite_interval.packets_kernel));
GPF("relayed_bytes "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.bytes_user) +
atomic64_get_na(&rtpe_stats_graphite_interval.bytes_kernel));
GPF("silent_timeout_sess "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.silent_timeout_sess)); GPF("silent_timeout_sess "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.silent_timeout_sess));
GPF("final_timeout_sess "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.final_timeout_sess)); GPF("final_timeout_sess "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.final_timeout_sess));
GPF("offer_timeout_sess "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.offer_timeout_sess)); GPF("offer_timeout_sess "UINT64F, atomic64_get_na(&rtpe_stats_graphite_interval.offer_timeout_sess));


+ 5
- 5
daemon/media_socket.c View File

@ -1798,7 +1798,7 @@ static void media_packet_rtp_in(struct packet_handler_ctx *phc)
phc->payload_type, phc->payload_type,
FMT_M(endpoint_print_buf(&phc->mp.fsin))); FMT_M(endpoint_print_buf(&phc->mp.fsin)));
atomic64_inc(&phc->mp.stream->stats.errors); atomic64_inc(&phc->mp.stream->stats.errors);
RTPE_STATS_INC(errors);
RTPE_STATS_INC(errors_user);
} }
else { else {
atomic64_inc(&rtp_s->packets); atomic64_inc(&rtp_s->packets);
@ -2292,8 +2292,8 @@ static int stream_packet(struct packet_handler_ctx *phc) {
} }
atomic64_add(&phc->mp.stream->stats.bytes, phc->s.len); atomic64_add(&phc->mp.stream->stats.bytes, phc->s.len);
atomic64_set(&phc->mp.stream->last_packet, rtpe_now.tv_sec); atomic64_set(&phc->mp.stream->last_packet, rtpe_now.tv_sec);
RTPE_STATS_INC(packets);
RTPE_STATS_ADD(bytes, phc->s.len);
RTPE_STATS_INC(packets_user);
RTPE_STATS_ADD(bytes_user, phc->s.len);
int address_check = media_packet_address_check(phc); int address_check = media_packet_address_check(phc);
if (address_check) if (address_check)
@ -2400,7 +2400,7 @@ static int stream_packet(struct packet_handler_ctx *phc) {
err_next: err_next:
ilog(LOG_DEBUG,"Error when sending message. Error: %s", strerror(errno)); ilog(LOG_DEBUG,"Error when sending message. Error: %s", strerror(errno));
atomic64_inc(&sh->sink->stats.errors); atomic64_inc(&sh->sink->stats.errors);
RTPE_STATS_INC(errors);
RTPE_STATS_INC(errors_user);
goto next; goto next;
next: next:
@ -2442,7 +2442,7 @@ out:
if (handler_ret < 0) { if (handler_ret < 0) {
atomic64_inc(&phc->mp.stream->stats.errors); atomic64_inc(&phc->mp.stream->stats.errors);
RTPE_STATS_INC(errors);
RTPE_STATS_INC(errors_user);
} }
rwlock_unlock_r(&phc->mp.call->master_lock); rwlock_unlock_r(&phc->mp.call->master_lock);


+ 53
- 6
daemon/statistics.c View File

@ -349,9 +349,27 @@ GQueue *statistics_gather_metrics(void) {
METRIC("transcodedmedia", "Transcoded media", UINT64F, UINT64F, atomic64_get(&rtpe_stats_gauge.transcoded_media)); METRIC("transcodedmedia", "Transcoded media", UINT64F, UINT64F, atomic64_get(&rtpe_stats_gauge.transcoded_media));
PROM("transcoded_media", "gauge"); PROM("transcoded_media", "gauge");
METRIC("packetrate", "Packets per second", UINT64F, UINT64F, atomic64_get(&rtpe_stats.intv.packets));
METRIC("byterate", "Bytes per second", UINT64F, UINT64F, atomic64_get(&rtpe_stats.intv.bytes));
METRIC("errorrate", "Errors per second", UINT64F, UINT64F, atomic64_get(&rtpe_stats.intv.errors));
METRIC("packetrate_user", "Packets per second (userspace)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats.intv.packets_user));
METRIC("byterate_user", "Bytes per second (userspace)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats.intv.bytes_user));
METRIC("errorrate_user", "Errors per second (userspace)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats.intv.errors_user));
METRIC("packetrate_kernel", "Packets per second (kernel)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats.intv.packets_kernel));
METRIC("byterate_kernel", "Bytes per second (kernel)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats.intv.bytes_kernel));
METRIC("errorrate_kernel", "Errors per second (kernel)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats.intv.errors_kernel));
METRIC("packetrate", "Packets per second (total)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats.intv.packets_user) +
atomic64_get(&rtpe_stats.intv.packets_kernel));
METRIC("byterate", "Bytes per second (total)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats.intv.bytes_user) +
atomic64_get(&rtpe_stats.intv.bytes_kernel));
METRIC("errorrate", "Errors per second (total)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats.intv.errors_user) +
atomic64_get(&rtpe_stats.intv.errors_kernel));
num_sessions = atomic64_get(&rtpe_stats.ax.managed_sess); num_sessions = atomic64_get(&rtpe_stats.ax.managed_sess);
long long avg_us = num_sessions ? atomic64_get(&rtpe_stats.ax.call_duration) / num_sessions : 0; long long avg_us = num_sessions ? atomic64_get(&rtpe_stats.ax.call_duration) / num_sessions : 0;
@ -388,12 +406,41 @@ GQueue *statistics_gather_metrics(void) {
PROM("closed_sessions_total", "counter"); PROM("closed_sessions_total", "counter");
PROMLAB("reason=\"force_terminated\""); PROMLAB("reason=\"force_terminated\"");
METRIC("relayedpackets", "Total relayed packets", UINT64F, UINT64F, atomic64_get(&rtpe_stats_cumulative.packets));
METRIC("relayedpackets_user", "Total relayed packets (userspace)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats_cumulative.packets_user));
PROM("packets_total", "counter"); PROM("packets_total", "counter");
METRIC("relayedpacketerrors", "Total relayed packet errors", UINT64F, UINT64F, atomic64_get(&rtpe_stats_cumulative.errors));
PROMLAB("type=\"userspace\"");
METRIC("relayedpacketerrors_user", "Total relayed packet errors (userspace)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats_cumulative.errors_user));
PROM("packet_errors_total", "counter"); PROM("packet_errors_total", "counter");
METRIC("relayedbytes", "Total relayed bytes", UINT64F, UINT64F, atomic64_get(&rtpe_stats_cumulative.bytes));
PROMLAB("type=\"userspace\"");
METRIC("relayedbytes_user", "Total relayed bytes (userspace)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats_cumulative.bytes_user));
PROM("bytes_total", "counter"); PROM("bytes_total", "counter");
PROMLAB("type=\"userspace\"");
METRIC("relayedpackets_kernel", "Total relayed packets (kernel)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats_cumulative.packets_kernel));
PROM("packets_total", "counter");
PROMLAB("type=\"kernel\"");
METRIC("relayedpacketerrors_kernel", "Total relayed packet errors (kernel)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats_cumulative.errors_kernel));
PROM("packet_errors_total", "counter");
PROMLAB("type=\"kernel\"");
METRIC("relayedbytes_kernel", "Total relayed bytes (kernel)", UINT64F, UINT64F,
atomic64_get(&rtpe_stats_cumulative.bytes_kernel));
PROM("bytes_total", "counter");
PROMLAB("type=\"kernel\"");
METRIC("relayedpackets", "Total relayed packets", UINT64F, UINT64F,
atomic64_get(&rtpe_stats_cumulative.packets_kernel) +
atomic64_get(&rtpe_stats_cumulative.packets_user));
METRIC("relayedpacketerrors", "Total relayed packet errors", UINT64F, UINT64F,
atomic64_get(&rtpe_stats_cumulative.errors_kernel) +
atomic64_get(&rtpe_stats_cumulative.errors_user));
METRIC("relayedbytes", "Total relayed bytes", UINT64F, UINT64F,
atomic64_get(&rtpe_stats_cumulative.bytes_kernel) +
atomic64_get(&rtpe_stats_cumulative.bytes_user));
METRIC("zerowaystreams", "Total number of streams with no relayed packets", UINT64F, UINT64F, atomic64_get(&rtpe_stats_cumulative.nopacket_relayed_sess)); METRIC("zerowaystreams", "Total number of streams with no relayed packets", UINT64F, UINT64F, atomic64_get(&rtpe_stats_cumulative.nopacket_relayed_sess));
PROM("zero_packet_streams_total", "counter"); PROM("zero_packet_streams_total", "counter");


+ 6
- 3
include/counter_stats_fields.inc View File

@ -1,6 +1,9 @@
F(packets)
F(bytes)
F(errors)
F(packets_user)
F(bytes_user)
F(errors_user)
F(packets_kernel)
F(bytes_kernel)
F(errors_kernel)
FA(ng_commands, NGC_COUNT) FA(ng_commands, NGC_COUNT)
F(timeout_sess) F(timeout_sess)
F(managed_sess) F(managed_sess)


+ 448
- 21
t/test-stats.c View File

@ -163,8 +163,15 @@ int main(void) {
"nopacket_relayed_sess 0 150\n" "nopacket_relayed_sess 0 150\n"
"oneway_stream_sess 0 150\n" "oneway_stream_sess 0 150\n"
"regular_term_sess 0 150\n" "regular_term_sess 0 150\n"
"relayed_errors_user 0 150\n"
"relayed_packets_user 0 150\n"
"relayed_bytes_user 0 150\n"
"relayed_errors_kernel 0 150\n"
"relayed_packets_kernel 0 150\n"
"relayed_bytes_kernel 0 150\n"
"relayed_errors 0 150\n" "relayed_errors 0 150\n"
"relayed_packets 0 150\n" "relayed_packets 0 150\n"
"relayed_bytes 0 150\n"
"silent_timeout_sess 0 150\n" "silent_timeout_sess 0 150\n"
"final_timeout_sess 0 150\n" "final_timeout_sess 0 150\n"
"offer_timeout_sess 0 150\n" "offer_timeout_sess 0 150\n"
@ -269,15 +276,39 @@ int main(void) {
"transcodedmedia\n" "transcodedmedia\n"
"0\n" "0\n"
"0\n" "0\n"
"Packets per second\n"
"Packets per second (userspace)\n"
"packetrate_user\n"
"0\n"
"0\n"
"Bytes per second (userspace)\n"
"byterate_user\n"
"0\n"
"0\n"
"Errors per second (userspace)\n"
"errorrate_user\n"
"0\n"
"0\n"
"Packets per second (kernel)\n"
"packetrate_kernel\n"
"0\n"
"0\n"
"Bytes per second (kernel)\n"
"byterate_kernel\n"
"0\n"
"0\n"
"Errors per second (kernel)\n"
"errorrate_kernel\n"
"0\n"
"0\n"
"Packets per second (total)\n"
"packetrate\n" "packetrate\n"
"0\n" "0\n"
"0\n" "0\n"
"Bytes per second\n"
"Bytes per second (total)\n"
"byterate\n" "byterate\n"
"0\n" "0\n"
"0\n" "0\n"
"Errors per second\n"
"Errors per second (total)\n"
"errorrate\n" "errorrate\n"
"0\n" "0\n"
"0\n" "0\n"
@ -330,6 +361,36 @@ int main(void) {
"0\n" "0\n"
"0\n" "0\n"
"reason=\"force_terminated\"\n" "reason=\"force_terminated\"\n"
"Total relayed packets (userspace)\n"
"relayedpackets_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packet errors (userspace)\n"
"relayedpacketerrors_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed bytes (userspace)\n"
"relayedbytes_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packets (kernel)\n"
"relayedpackets_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packet errors (kernel)\n"
"relayedpacketerrors_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed bytes (kernel)\n"
"relayedbytes_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packets\n" "Total relayed packets\n"
"relayedpackets\n" "relayedpackets\n"
"0\n" "0\n"
@ -925,8 +986,15 @@ int main(void) {
"nopacket_relayed_sess 0 150\n" "nopacket_relayed_sess 0 150\n"
"oneway_stream_sess 0 150\n" "oneway_stream_sess 0 150\n"
"regular_term_sess 0 150\n" "regular_term_sess 0 150\n"
"relayed_errors_user 0 150\n"
"relayed_packets_user 0 150\n"
"relayed_bytes_user 0 150\n"
"relayed_errors_kernel 0 150\n"
"relayed_packets_kernel 0 150\n"
"relayed_bytes_kernel 0 150\n"
"relayed_errors 0 150\n" "relayed_errors 0 150\n"
"relayed_packets 0 150\n" "relayed_packets 0 150\n"
"relayed_bytes 0 150\n"
"silent_timeout_sess 0 150\n" "silent_timeout_sess 0 150\n"
"final_timeout_sess 0 150\n" "final_timeout_sess 0 150\n"
"offer_timeout_sess 0 150\n" "offer_timeout_sess 0 150\n"
@ -1031,15 +1099,39 @@ int main(void) {
"transcodedmedia\n" "transcodedmedia\n"
"0\n" "0\n"
"0\n" "0\n"
"Packets per second\n"
"Packets per second (userspace)\n"
"packetrate_user\n"
"0\n"
"0\n"
"Bytes per second (userspace)\n"
"byterate_user\n"
"0\n"
"0\n"
"Errors per second (userspace)\n"
"errorrate_user\n"
"0\n"
"0\n"
"Packets per second (kernel)\n"
"packetrate_kernel\n"
"0\n"
"0\n"
"Bytes per second (kernel)\n"
"byterate_kernel\n"
"0\n"
"0\n"
"Errors per second (kernel)\n"
"errorrate_kernel\n"
"0\n"
"0\n"
"Packets per second (total)\n"
"packetrate\n" "packetrate\n"
"0\n" "0\n"
"0\n" "0\n"
"Bytes per second\n"
"Bytes per second (total)\n"
"byterate\n" "byterate\n"
"0\n" "0\n"
"0\n" "0\n"
"Errors per second\n"
"Errors per second (total)\n"
"errorrate\n" "errorrate\n"
"0\n" "0\n"
"0\n" "0\n"
@ -1092,6 +1184,36 @@ int main(void) {
"0\n" "0\n"
"0\n" "0\n"
"reason=\"force_terminated\"\n" "reason=\"force_terminated\"\n"
"Total relayed packets (userspace)\n"
"relayedpackets_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packet errors (userspace)\n"
"relayedpacketerrors_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed bytes (userspace)\n"
"relayedbytes_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packets (kernel)\n"
"relayedpackets_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packet errors (kernel)\n"
"relayedpacketerrors_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed bytes (kernel)\n"
"relayedbytes_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packets\n" "Total relayed packets\n"
"relayedpackets\n" "relayedpackets\n"
"0\n" "0\n"
@ -1684,8 +1806,15 @@ int main(void) {
"nopacket_relayed_sess 0 150\n" "nopacket_relayed_sess 0 150\n"
"oneway_stream_sess 0 150\n" "oneway_stream_sess 0 150\n"
"regular_term_sess 0 150\n" "regular_term_sess 0 150\n"
"relayed_errors_user 0 150\n"
"relayed_packets_user 0 150\n"
"relayed_bytes_user 0 150\n"
"relayed_errors_kernel 0 150\n"
"relayed_packets_kernel 0 150\n"
"relayed_bytes_kernel 0 150\n"
"relayed_errors 0 150\n" "relayed_errors 0 150\n"
"relayed_packets 0 150\n" "relayed_packets 0 150\n"
"relayed_bytes 0 150\n"
"silent_timeout_sess 0 150\n" "silent_timeout_sess 0 150\n"
"final_timeout_sess 0 150\n" "final_timeout_sess 0 150\n"
"offer_timeout_sess 0 150\n" "offer_timeout_sess 0 150\n"
@ -1790,15 +1919,39 @@ int main(void) {
"transcodedmedia\n" "transcodedmedia\n"
"0\n" "0\n"
"0\n" "0\n"
"Packets per second\n"
"Packets per second (userspace)\n"
"packetrate_user\n"
"0\n"
"0\n"
"Bytes per second (userspace)\n"
"byterate_user\n"
"0\n"
"0\n"
"Errors per second (userspace)\n"
"errorrate_user\n"
"0\n"
"0\n"
"Packets per second (kernel)\n"
"packetrate_kernel\n"
"0\n"
"0\n"
"Bytes per second (kernel)\n"
"byterate_kernel\n"
"0\n"
"0\n"
"Errors per second (kernel)\n"
"errorrate_kernel\n"
"0\n"
"0\n"
"Packets per second (total)\n"
"packetrate\n" "packetrate\n"
"0\n" "0\n"
"0\n" "0\n"
"Bytes per second\n"
"Bytes per second (total)\n"
"byterate\n" "byterate\n"
"0\n" "0\n"
"0\n" "0\n"
"Errors per second\n"
"Errors per second (total)\n"
"errorrate\n" "errorrate\n"
"0\n" "0\n"
"0\n" "0\n"
@ -1851,6 +2004,36 @@ int main(void) {
"0\n" "0\n"
"0\n" "0\n"
"reason=\"force_terminated\"\n" "reason=\"force_terminated\"\n"
"Total relayed packets (userspace)\n"
"relayedpackets_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packet errors (userspace)\n"
"relayedpacketerrors_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed bytes (userspace)\n"
"relayedbytes_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packets (kernel)\n"
"relayedpackets_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packet errors (kernel)\n"
"relayedpacketerrors_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed bytes (kernel)\n"
"relayedbytes_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packets\n" "Total relayed packets\n"
"relayedpackets\n" "relayedpackets\n"
"0\n" "0\n"
@ -2456,8 +2639,15 @@ int main(void) {
"nopacket_relayed_sess 0 157\n" "nopacket_relayed_sess 0 157\n"
"oneway_stream_sess 0 157\n" "oneway_stream_sess 0 157\n"
"regular_term_sess 0 157\n" "regular_term_sess 0 157\n"
"relayed_errors_user 0 157\n"
"relayed_packets_user 0 157\n"
"relayed_bytes_user 0 157\n"
"relayed_errors_kernel 0 157\n"
"relayed_packets_kernel 0 157\n"
"relayed_bytes_kernel 0 157\n"
"relayed_errors 0 157\n" "relayed_errors 0 157\n"
"relayed_packets 0 157\n" "relayed_packets 0 157\n"
"relayed_bytes 0 157\n"
"silent_timeout_sess 0 157\n" "silent_timeout_sess 0 157\n"
"final_timeout_sess 0 157\n" "final_timeout_sess 0 157\n"
"offer_timeout_sess 0 157\n" "offer_timeout_sess 0 157\n"
@ -2562,15 +2752,39 @@ int main(void) {
"transcodedmedia\n" "transcodedmedia\n"
"0\n" "0\n"
"0\n" "0\n"
"Packets per second\n"
"Packets per second (userspace)\n"
"packetrate_user\n"
"0\n"
"0\n"
"Bytes per second (userspace)\n"
"byterate_user\n"
"0\n"
"0\n"
"Errors per second (userspace)\n"
"errorrate_user\n"
"0\n"
"0\n"
"Packets per second (kernel)\n"
"packetrate_kernel\n"
"0\n"
"0\n"
"Bytes per second (kernel)\n"
"byterate_kernel\n"
"0\n"
"0\n"
"Errors per second (kernel)\n"
"errorrate_kernel\n"
"0\n"
"0\n"
"Packets per second (total)\n"
"packetrate\n" "packetrate\n"
"0\n" "0\n"
"0\n" "0\n"
"Bytes per second\n"
"Bytes per second (total)\n"
"byterate\n" "byterate\n"
"0\n" "0\n"
"0\n" "0\n"
"Errors per second\n"
"Errors per second (total)\n"
"errorrate\n" "errorrate\n"
"0\n" "0\n"
"0\n" "0\n"
@ -2623,6 +2837,36 @@ int main(void) {
"0\n" "0\n"
"0\n" "0\n"
"reason=\"force_terminated\"\n" "reason=\"force_terminated\"\n"
"Total relayed packets (userspace)\n"
"relayedpackets_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packet errors (userspace)\n"
"relayedpacketerrors_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed bytes (userspace)\n"
"relayedbytes_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packets (kernel)\n"
"relayedpackets_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packet errors (kernel)\n"
"relayedpacketerrors_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed bytes (kernel)\n"
"relayedbytes_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packets\n" "Total relayed packets\n"
"relayedpackets\n" "relayedpackets\n"
"0\n" "0\n"
@ -3223,8 +3467,15 @@ int main(void) {
"nopacket_relayed_sess 0 157\n" "nopacket_relayed_sess 0 157\n"
"oneway_stream_sess 0 157\n" "oneway_stream_sess 0 157\n"
"regular_term_sess 0 157\n" "regular_term_sess 0 157\n"
"relayed_errors_user 0 157\n"
"relayed_packets_user 0 157\n"
"relayed_bytes_user 0 157\n"
"relayed_errors_kernel 0 157\n"
"relayed_packets_kernel 0 157\n"
"relayed_bytes_kernel 0 157\n"
"relayed_errors 0 157\n" "relayed_errors 0 157\n"
"relayed_packets 0 157\n" "relayed_packets 0 157\n"
"relayed_bytes 0 157\n"
"silent_timeout_sess 0 157\n" "silent_timeout_sess 0 157\n"
"final_timeout_sess 0 157\n" "final_timeout_sess 0 157\n"
"offer_timeout_sess 0 157\n" "offer_timeout_sess 0 157\n"
@ -3329,15 +3580,39 @@ int main(void) {
"transcodedmedia\n" "transcodedmedia\n"
"0\n" "0\n"
"0\n" "0\n"
"Packets per second\n"
"Packets per second (userspace)\n"
"packetrate_user\n"
"0\n"
"0\n"
"Bytes per second (userspace)\n"
"byterate_user\n"
"0\n"
"0\n"
"Errors per second (userspace)\n"
"errorrate_user\n"
"0\n"
"0\n"
"Packets per second (kernel)\n"
"packetrate_kernel\n"
"0\n"
"0\n"
"Bytes per second (kernel)\n"
"byterate_kernel\n"
"0\n"
"0\n"
"Errors per second (kernel)\n"
"errorrate_kernel\n"
"0\n"
"0\n"
"Packets per second (total)\n"
"packetrate\n" "packetrate\n"
"0\n" "0\n"
"0\n" "0\n"
"Bytes per second\n"
"Bytes per second (total)\n"
"byterate\n" "byterate\n"
"0\n" "0\n"
"0\n" "0\n"
"Errors per second\n"
"Errors per second (total)\n"
"errorrate\n" "errorrate\n"
"0\n" "0\n"
"0\n" "0\n"
@ -3390,6 +3665,36 @@ int main(void) {
"0\n" "0\n"
"0\n" "0\n"
"reason=\"force_terminated\"\n" "reason=\"force_terminated\"\n"
"Total relayed packets (userspace)\n"
"relayedpackets_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packet errors (userspace)\n"
"relayedpacketerrors_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed bytes (userspace)\n"
"relayedbytes_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packets (kernel)\n"
"relayedpackets_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packet errors (kernel)\n"
"relayedpacketerrors_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed bytes (kernel)\n"
"relayedbytes_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packets\n" "Total relayed packets\n"
"relayedpackets\n" "relayedpackets\n"
"0\n" "0\n"
@ -3985,8 +4290,15 @@ int main(void) {
"nopacket_relayed_sess 0 200\n" "nopacket_relayed_sess 0 200\n"
"oneway_stream_sess 0 200\n" "oneway_stream_sess 0 200\n"
"regular_term_sess 0 200\n" "regular_term_sess 0 200\n"
"relayed_errors_user 0 200\n"
"relayed_packets_user 0 200\n"
"relayed_bytes_user 0 200\n"
"relayed_errors_kernel 0 200\n"
"relayed_packets_kernel 0 200\n"
"relayed_bytes_kernel 0 200\n"
"relayed_errors 0 200\n" "relayed_errors 0 200\n"
"relayed_packets 0 200\n" "relayed_packets 0 200\n"
"relayed_bytes 0 200\n"
"silent_timeout_sess 0 200\n" "silent_timeout_sess 0 200\n"
"final_timeout_sess 0 200\n" "final_timeout_sess 0 200\n"
"offer_timeout_sess 0 200\n" "offer_timeout_sess 0 200\n"
@ -4091,15 +4403,39 @@ int main(void) {
"transcodedmedia\n" "transcodedmedia\n"
"0\n" "0\n"
"0\n" "0\n"
"Packets per second\n"
"Packets per second (userspace)\n"
"packetrate_user\n"
"0\n"
"0\n"
"Bytes per second (userspace)\n"
"byterate_user\n"
"0\n"
"0\n"
"Errors per second (userspace)\n"
"errorrate_user\n"
"0\n"
"0\n"
"Packets per second (kernel)\n"
"packetrate_kernel\n"
"0\n"
"0\n"
"Bytes per second (kernel)\n"
"byterate_kernel\n"
"0\n"
"0\n"
"Errors per second (kernel)\n"
"errorrate_kernel\n"
"0\n"
"0\n"
"Packets per second (total)\n"
"packetrate\n" "packetrate\n"
"0\n" "0\n"
"0\n" "0\n"
"Bytes per second\n"
"Bytes per second (total)\n"
"byterate\n" "byterate\n"
"0\n" "0\n"
"0\n" "0\n"
"Errors per second\n"
"Errors per second (total)\n"
"errorrate\n" "errorrate\n"
"0\n" "0\n"
"0\n" "0\n"
@ -4152,6 +4488,36 @@ int main(void) {
"0\n" "0\n"
"0\n" "0\n"
"reason=\"force_terminated\"\n" "reason=\"force_terminated\"\n"
"Total relayed packets (userspace)\n"
"relayedpackets_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packet errors (userspace)\n"
"relayedpacketerrors_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed bytes (userspace)\n"
"relayedbytes_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packets (kernel)\n"
"relayedpackets_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packet errors (kernel)\n"
"relayedpacketerrors_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed bytes (kernel)\n"
"relayedbytes_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packets\n" "Total relayed packets\n"
"relayedpackets\n" "relayedpackets\n"
"0\n" "0\n"
@ -4749,8 +5115,15 @@ int main(void) {
"nopacket_relayed_sess 2 200\n" "nopacket_relayed_sess 2 200\n"
"oneway_stream_sess 0 200\n" "oneway_stream_sess 0 200\n"
"regular_term_sess 0 200\n" "regular_term_sess 0 200\n"
"relayed_errors_user 0 200\n"
"relayed_packets_user 0 200\n"
"relayed_bytes_user 0 200\n"
"relayed_errors_kernel 0 200\n"
"relayed_packets_kernel 0 200\n"
"relayed_bytes_kernel 0 200\n"
"relayed_errors 0 200\n" "relayed_errors 0 200\n"
"relayed_packets 0 200\n" "relayed_packets 0 200\n"
"relayed_bytes 0 200\n"
"silent_timeout_sess 0 200\n" "silent_timeout_sess 0 200\n"
"final_timeout_sess 0 200\n" "final_timeout_sess 0 200\n"
"offer_timeout_sess 0 200\n" "offer_timeout_sess 0 200\n"
@ -4855,15 +5228,39 @@ int main(void) {
"transcodedmedia\n" "transcodedmedia\n"
"0\n" "0\n"
"0\n" "0\n"
"Packets per second\n"
"Packets per second (userspace)\n"
"packetrate_user\n"
"0\n"
"0\n"
"Bytes per second (userspace)\n"
"byterate_user\n"
"0\n"
"0\n"
"Errors per second (userspace)\n"
"errorrate_user\n"
"0\n"
"0\n"
"Packets per second (kernel)\n"
"packetrate_kernel\n"
"0\n"
"0\n"
"Bytes per second (kernel)\n"
"byterate_kernel\n"
"0\n"
"0\n"
"Errors per second (kernel)\n"
"errorrate_kernel\n"
"0\n"
"0\n"
"Packets per second (total)\n"
"packetrate\n" "packetrate\n"
"0\n" "0\n"
"0\n" "0\n"
"Bytes per second\n"
"Bytes per second (total)\n"
"byterate\n" "byterate\n"
"0\n" "0\n"
"0\n" "0\n"
"Errors per second\n"
"Errors per second (total)\n"
"errorrate\n" "errorrate\n"
"0\n" "0\n"
"0\n" "0\n"
@ -4916,6 +5313,36 @@ int main(void) {
"0\n" "0\n"
"0\n" "0\n"
"reason=\"force_terminated\"\n" "reason=\"force_terminated\"\n"
"Total relayed packets (userspace)\n"
"relayedpackets_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packet errors (userspace)\n"
"relayedpacketerrors_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed bytes (userspace)\n"
"relayedbytes_user\n"
"0\n"
"0\n"
"type=\"userspace\"\n"
"Total relayed packets (kernel)\n"
"relayedpackets_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packet errors (kernel)\n"
"relayedpacketerrors_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed bytes (kernel)\n"
"relayedbytes_kernel\n"
"0\n"
"0\n"
"type=\"kernel\"\n"
"Total relayed packets\n" "Total relayed packets\n"
"relayedpackets\n" "relayedpackets\n"
"0\n" "0\n"


Loading…
Cancel
Save