From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2247BA04BC; Thu, 8 Oct 2020 11:10:03 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C72DF1BB71; Thu, 8 Oct 2020 11:10:01 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 0A0751BB43 for ; Thu, 8 Oct 2020 11:09:58 +0200 (CEST) IronPort-SDR: wN92G8sF6nuX+H4gJItVnMHBwR8A78oSfVCRs63QgHaNvZSHv67NlZnwQXAel0G3gMbWh/Uq/l gczslmOWo7oQ== X-IronPort-AV: E=McAfee;i="6000,8403,9767"; a="165367655" X-IronPort-AV: E=Sophos;i="5.77,350,1596524400"; d="scan'208";a="165367655" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Oct 2020 02:09:57 -0700 IronPort-SDR: dI8+naz4c8JbId3G8qNXwoSzOmRsLWcP9nO3EbeB7l+mR7jGvZSAwp4NQWXKyRC3J6DUcpJKo3 wPm8H+OnQroA== X-IronPort-AV: E=Sophos;i="5.77,350,1596524400"; d="scan'208";a="461748654" Received: from bricha3-mobl.ger.corp.intel.com ([10.213.226.107]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 08 Oct 2020 02:09:54 -0700 Date: Thu, 8 Oct 2020 10:09:50 +0100 From: Bruce Richardson To: Thomas Monjalon Cc: dev@dpdk.org, ferruh.yigit@intel.com, arybchenko@solarflare.com Message-ID: <20201008090950.GB1106@bricha3-MOBL.ger.corp.intel.com> References: <20201007214848.249516-1-thomas@monjalon.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20201007214848.249516-1-thomas@monjalon.net> Subject: Re: [dpdk-dev] [PATCH] ethdev: fix xstat name of basic stats per queue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Oct 07, 2020 at 11:48:48PM +0200, Thomas Monjalon wrote: > As described in doc/guides/prog_guide/poll_mode_drv.rst, > the naming scheme for the xstats is parts separated with underscore: > * direction > * detail 1 > * detail 2 > * detail n > * unit > where detail 1 can be "q" followed with a queue number. > It means the name of the stats per queue should be rx_qN_* or tx_qN_*. > > The second underscore was missing so far. > Fixing the basic xstat names may be considered an API change, > that's why it should not be backported. > > While fixing this mistake, some examples of the naming scheme > are given as part of the API documentation of rte_eth_xstat_name. > More proposals about standardizing statistics: > http://fast.dpdk.org/events/slides/DPDK-2019-09-Ethernet_Statistics.pdf > > Fixes: bd6aa172cf35 ("ethdev: fetch extended statistics with integer ids") > > Signed-off-by: Thomas Monjalon > --- > doc/guides/rel_notes/release_20_11.rst | 8 +++++++- > lib/librte_ethdev/rte_ethdev.c | 4 ++-- > lib/librte_ethdev/rte_ethdev.h | 7 +++++++ > 3 files changed, 16 insertions(+), 3 deletions(-) > > diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst > index cdf20404c9..d0d77c5d3d 100644 > --- a/doc/guides/rel_notes/release_20_11.rst > +++ b/doc/guides/rel_notes/release_20_11.rst > @@ -200,7 +200,13 @@ API Changes > > * ethdev: ``rte_eth_rx_descriptor_done()`` API has been deprecated. > > -* Renamed internal ethdev APIs: Technically not related to this patch, but I think it's ok to slip it in here. :-) > +* ethdev: Renamed basic statistics per queue. An underscore is inserted > + between the queue number and the rest of the xstat name: > + > + * ``rx_qN*`` -> ``rx_qN_*`` > + * ``tx_qN*`` -> ``tx_qN_*`` > + > +* ethdev: Renamed internal APIs: > > * ``_rte_eth_dev_callback_process()`` -> ``rte_eth_dev_callback_process()`` > * ``_rte_eth_dev_reset`` -> ``rte_eth_dev_internal_reset()`` > diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c > index 48d1333b17..286c1b5966 100644 > --- a/lib/librte_ethdev/rte_ethdev.c > +++ b/lib/librte_ethdev/rte_ethdev.c > @@ -2549,7 +2549,7 @@ rte_eth_basic_stats_get_names(struct rte_eth_dev *dev, > for (idx = 0; idx < RTE_NB_RXQ_STATS; idx++) { > snprintf(xstats_names[cnt_used_entries].name, > sizeof(xstats_names[0].name), > - "rx_q%u%s", > + "rx_q%u_%s", > id_queue, rte_rxq_stats_strings[idx].name); > cnt_used_entries++; > } > @@ -2560,7 +2560,7 @@ rte_eth_basic_stats_get_names(struct rte_eth_dev *dev, > for (idx = 0; idx < RTE_NB_TXQ_STATS; idx++) { > snprintf(xstats_names[cnt_used_entries].name, > sizeof(xstats_names[0].name), > - "tx_q%u%s", > + "tx_q%u_%s", > id_queue, rte_txq_stats_strings[idx].name); > cnt_used_entries++; > } > diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h > index d2bf74f128..86434c9cae 100644 > --- a/lib/librte_ethdev/rte_ethdev.h > +++ b/lib/librte_ethdev/rte_ethdev.h > @@ -1507,6 +1507,13 @@ struct rte_eth_xstat { > * An array of this structure is returned by rte_eth_xstats_get_names(). > * It lists the names of extended statistics for a PMD. The *rte_eth_xstat* > * structure references these names by their array index. > + * > + * The xstats should follow a common naming scheme. > + * Some names are standardized in rte_stats_strings. > + * Examples: > + * - rx_missed_errors > + * - tx_q3_bytes > + * - tx_size_128_to_255_packets > */ > struct rte_eth_xstat_name { > char name[RTE_ETH_XSTATS_NAME_SIZE]; /**< The statistic name. */ > -- > 2.28.0 > Reviewed-by: Bruce Richardson