From ebf98c09c7ee4a08f0d96137df79e3b84d9986d5 Mon Sep 17 00:00:00 2001 From: Steve Kay Date: Tue, 7 Apr 2015 14:11:16 -0700 Subject: [PATCH] Added rendering of FC stats. --- rndr_stats.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ rndr_stats.h | 2 ++ 2 files changed, 53 insertions(+) diff --git a/rndr_stats.c b/rndr_stats.c index 18bd6ce..3de2c26 100644 --- a/rndr_stats.c +++ b/rndr_stats.c @@ -2917,3 +2917,54 @@ __print_funct_t render_filesystem_stats(struct activity *a, int isdb, char *pre, NULL); } } + +/* + *************************************************************************** + * Display Fibre Channel HBA statistics in selected format. + * + * IN: + * @a Activity structure with statistics. + * @isdb Flag, true if db printing, false if ppc printing. + * @pre Prefix string for output entries + * @curr Index in array for current sample statistics. + * @itv Interval of time in jiffies. + *************************************************************************** + */ +__print_funct_t render_hba_stats(struct activity *a, int isdb, char *pre, + int curr, unsigned long long itv) +{ + int i; + struct stats_fc *sfcc, *sfcp; + + for (i = 0; i < a->nr; i++) { + sfcc = (struct stats_fc *) ((char *) a->buf[curr] + i * a->msize); + sfcp = (struct stats_fc *) ((char *) a->buf[!curr] + i * a->msize); + + render(isdb, pre, PT_NOFLAG , + "%s\thba_rxf/s", + "%s", + cons(sv, sfcc->hba_name, NOVAL), + NOVAL, + S_VALUE(sfcp->f_rxframes, sfcc->f_rxframes, itv), + NULL); + render(isdb, pre, PT_NOFLAG, + "%s\thba_txf/s", NULL, + cons(sv, sfcc->hba_name, NULL), + NOVAL, + S_VALUE(sfcp->f_txframes, sfcc->f_txframes, itv), + NULL); + render(isdb, pre, PT_NOFLAG, + "%s\thba_rxw/s", NULL, + cons(sv, sfcc->hba_name, NULL), + NOVAL, + S_VALUE(sfcp->f_rxwords, sfcc->f_rxwords, itv), + NULL); + render(isdb, pre, + (DISPLAY_HORIZONTALLY(flags) ? PT_NOFLAG : PT_NEWLIN), + "%s\thba_txw/s", NULL, + cons(sv, sfcc->hba_name, NULL), + NOVAL, + S_VALUE(sfcp->f_txwords, sfcc->f_txwords, itv), + NULL); + } +} diff --git a/rndr_stats.h b/rndr_stats.h index 3f331b9..74b4473 100644 --- a/rndr_stats.h +++ b/rndr_stats.h @@ -120,5 +120,7 @@ extern __print_funct_t render_pwr_usb_stats (struct activity *, int, char *, int, unsigned long long); extern __print_funct_t render_filesystem_stats (struct activity *, int, char *, int, unsigned long long); +extern __print_funct_t render_hba_stats + (struct activity *, int, char *, int, unsigned long long); #endif /* _RNDR_STATS_H */ -- 2.49.0