[dpdk-dev] [RFC PATCH v1] rte: add bit-rate metrics to xstats

Pattan, Reshma reshma.pattan at intel.com
Mon Aug 29 12:01:57 CEST 2016



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Remy Horton
> Sent: Wednesday, August 24, 2016 3:58 PM
> To: thomas.monjalon at 6wind.com
> Cc: dev at dpdk.org
> Subject: [dpdk-dev] [RFC PATCH v1] rte: add bit-rate metrics to xstats
> 
> This patch adds peak and average data-rate metrics to the extended statistics.
> The intervals used to generate the statistics are controlled by any application
> wishing to make use of these metrics.
> 
> Signed-off-by: Remy Horton <remy.horton at intel.com>
> ---
> diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index
> f62a9ec..71549b4 100644
>  static const struct rte_eth_xstats_name_off rte_rxq_stats_strings[] = {
>  	{"packets", offsetof(struct rte_eth_stats, q_ipackets)}, @@ -1499,6
> +1500,7 @@ void  rte_eth_stats_reset(uint8_t port_id)  {
>  	struct rte_eth_dev *dev;
> +	struct rte_eth_dev_stats *dev_stats;
> 
>  	RTE_ETH_VALID_PORTID_OR_RET(port_id);
>  	dev = &rte_eth_devices[port_id];
> @@ -1506,6 +1508,19 @@ rte_eth_stats_reset(uint8_t port_id)
>  	RTE_FUNC_PTR_OR_RET(*dev->dev_ops->stats_reset);
>  	(*dev->dev_ops->stats_reset)(dev);
>  	dev->data->rx_mbuf_alloc_failed = 0;
> +
> +	/* Clear device running stat counts */
> +	dev_stats = &dev->data->stats;
> +	memset(dev_stats->list_ibuckets, 0,
> +		sizeof(uint64_t) * dev_stats->cnt_buckets);
> +	memset(dev_stats->list_obuckets, 0,
> +		sizeof(uint64_t) * dev_stats->cnt_buckets);
> +	dev_stats->last_ibytes = 0;
> +	dev_stats->last_obytes = 0;
> +	dev_stats->peak_ibytes = 0;
> +	dev_stats->peak_obytes = 0;
> +	dev_stats->total_ibytes = 0;
> +	dev_stats->total_obytes = 0;
>  }
> 

Should the resetting has to be done inside rte_eth_xstats_reset() instead of rte_eth_stats_reset()?

Thanks,
Reshma


More information about the dev mailing list