Date: Fri, 17 Jul 2009 01:41:52 GMT From: Gabor Pali <pgj@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 166188 for review Message-ID: <200907170141.n6H1fqR9074169@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=166188 Change 166188 by pgj@petymeg-current on 2009/07/17 01:41:04 nettop: - Add preliminary support for monitoring mbuf(9) statistics. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#10 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#10 (text+ko) ==== @@ -37,6 +37,7 @@ static void footer(void); static void screen_local(void); static void screen_inet(void); +static void screen_mbuf(void); int main(int argc, char *argv[]) @@ -62,6 +63,10 @@ case 'i': screen = screen_inet; break; + case 'M': + case 'm': + screen = screen_mbuf; + break; case 'Q': case 'q': running = 0; @@ -96,7 +101,7 @@ footer(void) { attron(A_STANDOUT); - mvprintw(24, 0, " Q - Quit, L - PF_LOCAL, I - PF_INET "); + mvprintw(24, 0, " Q - Quit, L - PF_LOCAL, I - PF_INET, M - MBUF "); attroff(A_STANDOUT); } @@ -181,3 +186,78 @@ netstat_sti_free(stip); netstat_stl_free(list); } + +void +screen_mbuf(void) +{ + struct mbuf_type *stats; + const struct buffer_type *mbuf, *cluster, *packet, *jumbop, *jumbo9, + *jumbo16; + int row, mbt_flags; + + const char *hfmt = "%-32.32s %-8.8s %-8.8s %-8.8s %-8.8s"; + const char *fmt2 = "%-32s %-8d %-8d"; + const char *fmt3 = "%-32s %-8d %-8d %-8d"; + const char *fmt3x = "%-32s %-8d %-8d %-8d"; + const char *fmt4 = "%-32s %-8d %-8d %-8d %-8d"; + + mbt_flags = 0; + stats = netstat_mbt_alloc(); + netstat_mbuf(stats, mbt_flags, NULL); + + mbuf = netstat_mbt_get_mbuf(stats); + cluster = netstat_mbt_get_cluster(stats); + packet = netstat_mbt_get_packet(stats); + jumbop = netstat_mbt_get_jumbop(stats); + jumbo9 = netstat_mbt_get_jumbo9(stats); + jumbo16 = netstat_mbt_get_jumbo16(stats); + + attron(A_BOLD); + mvprintw(2, 0, "Network memory buffers"); + mvprintw(3, 0, hfmt, "Value", "Current", "Cache", "Total", "Max"); + attroff(A_BOLD); + + row = 4; + + mvprintw(row++, 0, fmt3, "mbufs in use", + netstat_bt_get_count(mbuf) + netstat_bt_get_count(packet), + netstat_bt_get_free(mbuf) + netstat_bt_get_free(packet), + netstat_bt_get_count(mbuf) + netstat_bt_get_count(packet) + + netstat_bt_get_free(mbuf) + netstat_bt_get_free(packet)); + + mvprintw(row++, 0, fmt4, "mbuf clusters in use", + netstat_bt_get_count(cluster) - netstat_bt_get_free(packet), + netstat_bt_get_free(cluster) + netstat_bt_get_free(packet), + netstat_bt_get_count(cluster) + netstat_bt_get_free(cluster), + netstat_bt_get_limit(cluster)); + + mvprintw(row++, 0, fmt2, "mbuf+clusters in use", + netstat_bt_get_count(packet), netstat_bt_get_free(packet)); + + mvprintw(row++, 0, fmt4, "4k jumbo clusters in use", + netstat_bt_get_count(jumbop), netstat_bt_get_free(jumbop), + netstat_bt_get_count(jumbop) + netstat_bt_get_free(jumbop), + netstat_bt_get_limit(jumbop), netstat_bt_get_size(jumbop) / 1024); + + mvprintw(row++, 0, fmt4, "9k jumbo clusters in use", + netstat_bt_get_count(jumbo9), netstat_bt_get_free(jumbo9), + netstat_bt_get_count(jumbo9) + netstat_bt_get_free(jumbo9), + netstat_bt_get_limit(jumbo9), netstat_bt_get_size(jumbo9) / 1024); + + mvprintw(row++, 0, fmt4, "16k jumbo clusters in use", + netstat_bt_get_count(jumbo16), netstat_bt_get_free(jumbo16), + netstat_bt_get_count(jumbo16) + netstat_bt_get_free(jumbo16), + netstat_bt_get_limit(jumbo16), netstat_bt_get_size(jumbo16) / 1024); + + mvprintw(row++, 0, fmt3x, "sfbufs in use", + netstat_mbt_get_sf_bufs_inuse(stats), + netstat_mbt_get_sf_bufs(stats), + netstat_mbt_get_sf_bufs_peak(stats)); + + mvprintw(row++, 0, fmt3, "KBs allocated to network", + netstat_mbt_get_bytes_inuse(stats) / 1024, + netstat_mbt_get_bytes_incache(stats) / 1024, + netstat_mbt_get_bytes_total(stats) / 1024); + + netstat_mbt_free(stats); +}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907170141.n6H1fqR9074169>