From: Steve Kay Date: Tue, 7 Apr 2015 21:13:55 +0000 (-0700) Subject: Added reporting of FC stats in XML format. X-Git-Tag: 11.1.5~24^2~1^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6e9ed78805ebda04cc6d0f173a77b6a2e7b65fde;p=sysstat Added reporting of FC stats in XML format. --- diff --git a/xml_stats.c b/xml_stats.c index 3ab461c..d73b909 100644 --- a/xml_stats.c +++ b/xml_stats.c @@ -2058,3 +2058,43 @@ __print_funct_t xml_print_filesystem_stats(struct activity *a, int curr, int tab xprintf(--tab, ""); } + +/* + *************************************************************************** + * Display Fibre Channel HBA statistics in XML. + * + * IN: + * @a Activity structure with statistics. + * @curr Index in array for current sample statistics. + * @tab Indentation in XML output. + * @itv Interval of time in jiffies. + *************************************************************************** + */ +__print_funct_t xml_print_fc_stats(struct activity *a, int curr, int tab, + unsigned long long itv) +{ + int i; + struct stats_fc *sfcc, *sfcp; + + xprintf(tab, ""); + tab++; + + 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); + + xprintf(tab, "", + sfcc->hba_name, + S_VALUE(sfcp->f_rxframes, sfcc->f_rxframes, itv), + S_VALUE(sfcp->f_txframes, sfcc->f_txframes, itv), + S_VALUE(sfcp->f_rxwords, sfcc->f_rxwords, itv), + S_VALUE(sfcp->f_txwords, sfcc->f_rxwords, itv)); + } + + xprintf(--tab, ""); +} diff --git a/xml_stats.h b/xml_stats.h index 05266b3..715ae65 100644 --- a/xml_stats.h +++ b/xml_stats.h @@ -89,5 +89,7 @@ extern __print_funct_t xml_print_pwr_usb_stats (struct activity *, int, int, unsigned long long); extern __print_funct_t xml_print_filesystem_stats (struct activity *, int, int, unsigned long long); +extern __print_funct_t xml_print_fc_stats + (struct activity *, int, int, unsigned long long); #endif /* _XML_STATS_H */