aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcu_vty_functions.cpp
diff options
context:
space:
mode:
authorAravind Sirsikar <Arvind.Sirsikar@radisys.com>2016-08-03 11:50:00 +0530
committerAravind Sirsikar <Arvind.Sirsikar@radisys.com>2016-08-03 11:51:01 +0530
commite0386e3948aaa61045a50f6e9fe0d7064e754af8 (patch)
tree0804b42f164dfb19cd5c61f2de003a1d6aa80cf4 /src/pcu_vty_functions.cpp
parent7631182563159c3316e5889ce9bc629f52eb06d4 (diff)
Add counters for performance analysis and debug
Adds counters in EGPRSDL/UL TBF flow for Performance and throughput analysis. Main counters includes NumRetx, MCS transmission Total Acks/Nacks etc.
Diffstat (limited to 'src/pcu_vty_functions.cpp')
-rw-r--r--src/pcu_vty_functions.cpp28
1 files changed, 23 insertions, 5 deletions
diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp
index 8009535..b4986a8 100644
--- a/src/pcu_vty_functions.cpp
+++ b/src/pcu_vty_functions.cpp
@@ -66,14 +66,32 @@ static void tbf_print_vty_info(struct vty *vty, gprs_rlcmac_tbf *tbf)
if (ul_tbf) {
gprs_rlc_ul_window *win = &ul_tbf->m_window;
- vty_out(vty, " V(Q)=%d V(R)=%d",
- win->v_q(), win->v_r());
+ vty_out(vty, " V(Q)=%d V(R)=%d RX_CNTR=%d",
+ win->v_q(), win->v_r(), ul_tbf->m_rx_counter);
+ vty_out(vty, "%s%s", VTY_NEWLINE, VTY_NEWLINE);
+ for (int i = 0; i < 9; i++) {
+ vty_out(vty, " MCS%d=%d ", i+1, tbf->m_ctr_num_blocks[i]);
+ }
}
if (dl_tbf) {
gprs_rlc_dl_window *win = &dl_tbf->m_window;
- vty_out(vty, " V(A)=%d V(S)=%d nBSN=%d%s",
- win->v_a(), win->v_s(), win->resend_needed(),
- win->window_stalled() ? " STALLED" : "");
+ vty_out(vty,
+ " V(A)=%d V(S)=%d LLC_QUEUE_SIZE=%d LLC_OCTETS=%d "
+ "nBSN=%d%s NA=%u A=%u",
+ win->v_a(), win->v_s(), dl_tbf->llc_queue()->size(),
+ dl_tbf->llc_queue()->octets(),
+ win->resend_needed(),
+ win->window_stalled() ? " STALLED" : "",
+ dl_tbf->m_bw.total_dl_loss_lost,
+ dl_tbf->m_bw.total_dl_loss_received);
+ vty_out(vty, "%s%s", VTY_NEWLINE, VTY_NEWLINE);
+ for (int i = 0; i < 9; i++) {
+ vty_out(vty, " MCS%d=%d ", i+1, tbf->m_ctr_num_blocks[i]);
+ }
+ vty_out(vty, "%s%s", VTY_NEWLINE, VTY_NEWLINE);
+ for (int i = 0; i < 3; i++) {
+ vty_out(vty, " retx%d=%d ", i+1, tbf->m_ctr_retx[i]);
+ }
}
vty_out(vty, "%s%s", VTY_NEWLINE, VTY_NEWLINE);
}