DPDK patches and discussions
 help / color / mirror / Atom feed
From: Kyle Larose <eomereadig@gmail.com>
To: Tom Crugnale <tcrugnale@sandvine.com>,
	Stephen Hemminger <stephen@networkplumber.org>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v3 00/11] Port XStats
Date: Thu, 29 Oct 2015 08:55:02 -0400	[thread overview]
Message-ID: <CAMFWN9m7rd0JbseTw5HWKqLrDewgjksTN-PbOKoZUj1LNnP8FQ@mail.gmail.com> (raw)
In-Reply-To: <9689034CEF26614CAB4B447EEAAF98E918241CB2@wtl-exchp-1.sandvine.com>

Stephen,

Ultimately the issue we are trying to solve is that there is no device
independent way to get any detailed statistics from NICs controlled by
DPDK. These statistics are quite useful, not just for diagnostics, but
for long term reporting. People using DPDK-based NFV products in a
production environment are not going to be happy that they cannot, for
example, see how the packet size bucket counters varied over time
using some sort of monitoring tool.

The only alternative I can see to providing an API within DPDK is to
build our own abstraction layer triggered off the driver name/pci
ids/etc. I expect other people would end up doing this as well. This
seems like a waste of effort when an abstraction layer already exists
within DPDK.

So, let's consider solving the problem within DPDK. One option is to
use well-defined names for a given xstat that has the same semantics
across NICs, while continuing to allow NICs to expose any stats that
don't fall into this category.

Another option is to provide an API with a well-defined set of stats,
perhaps using an enum. In order for a stat to be added to this list,
it needs to be part of a standard (such as
http://tools.ietf.org/html/rfc2819).

Does anybody else see the need for something like this? We're more
than willing to do the work. We'd like to make sure we have the right
API, though.

Thanks,

Kyle

On Wed, Oct 28, 2015 at 8:55 PM, Tom Crugnale <tcrugnale@sandvine.com> wrote:
> I understand.  Is this the reason that that strings were used to identify the xstat types?  An enum type would be much more efficient instead of doing string copies when retrieving the stats, but the number of enum entries would quickly grow out of control as device specific stats were added.
>
> In this case, I'm actually referring to the stats that are common to all NICs.  For example, for the received fragmented packets counter, there are three strings that identify this value: rx_fragment_packets (igb), rx_fragment_errors (ixgbe), rx_fragmented_packets (i40e).
> I was thinking of making those names consistent.  Perhaps the reason why they were different in the first place is that each of the device datasheets refers to these exact names.
>
> Tom
>
> -----Original Message-----
> From: Stephen Hemminger [mailto:stephen@networkplumber.org]
> Sent: Wednesday, October 28, 2015 5:32 PM
> To: Tom Crugnale
> Cc: Harry van Haaren; dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v3 00/11] Port XStats
>
> On Wed, 28 Oct 2015 17:35:09 +0000
> Tom Crugnale <tcrugnale@sandvine.com> wrote:
>
>> Hi Harry,
>>
>> We are planning on using the xstats API for periodic stats collection through a polling thread.  This would be done in a generic NIC agnostic manner, which would require that the xstats identifiers have consistent naming amongst all of the NIC types.  It would likely be polled several times per second and would only gather a subset of all available xstats types.
>>
>> I have reviewed your patches and am interested in providing some API enhancements and bugfixes.  Are you willing to provide feedback on such changes?
>>
>> Thank you,
>> Tom
>
> The whole point of xstats is to allow device specific statistics.
> Consistent use of names is good from a user interface point of view, but probably not a hard requirement.
>

  reply	other threads:[~2015-10-29 12:55 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-30  9:40 [dpdk-dev] [PATCH v2 " Harry van Haaren
2015-09-30  9:40 ` [dpdk-dev] [PATCH v2 01/11] doc: add extended statistics notes Harry van Haaren
2015-10-22 15:48   ` [dpdk-dev] [PATCH v3 00/11] Port XStats Harry van Haaren
2015-10-22 15:48     ` [dpdk-dev] [PATCH v3 01/11] doc: add extended statistics notes Harry van Haaren
2015-10-30 11:36       ` [dpdk-dev] [PATCH v4 00/10] Port XStats Harry van Haaren
2015-10-30 11:36         ` [dpdk-dev] [PATCH v4 01/10] doc: add extended statistics to prog_guide Harry van Haaren
2015-11-02 10:18           ` [dpdk-dev] [PATCH v5 00/10] Port XStats Harry van Haaren
2015-11-02 10:18             ` [dpdk-dev] [PATCH v5 01/10] doc: add extended statistics to prog_guide Harry van Haaren
2015-11-02 10:18             ` [dpdk-dev] [PATCH v5 02/10] ethdev: update xstats_get() strings and Q handling Harry van Haaren
2015-11-02 10:19             ` [dpdk-dev] [PATCH v5 03/10] virtio: add xstats() implementation Harry van Haaren
2015-11-02 10:19             ` [dpdk-dev] [PATCH v5 04/10] igb: " Harry van Haaren
2015-11-02 10:19             ` [dpdk-dev] [PATCH v5 05/10] igbvf: " Harry van Haaren
2015-11-02 10:19             ` [dpdk-dev] [PATCH v5 06/10] ixgbe: add extended statistic strings Harry van Haaren
2015-11-02 22:31               ` Thomas Monjalon
2015-11-02 10:19             ` [dpdk-dev] [PATCH v5 07/10] ixgbevf: add xstats() implementation Harry van Haaren
2015-11-02 10:19             ` [dpdk-dev] [PATCH v5 08/10] i40e: " Harry van Haaren
2015-11-02 10:19             ` [dpdk-dev] [PATCH v5 09/10] i40evf: " Harry van Haaren
2015-11-02 10:19             ` [dpdk-dev] [PATCH v5 10/10] fm10k: " Harry van Haaren
2015-11-02 10:24             ` [dpdk-dev] [PATCH v5 00/10] Port XStats Van Haaren, Harry
2015-11-02 23:23               ` Thomas Monjalon
2015-10-30 11:36         ` [dpdk-dev] [PATCH v4 02/10] ethdev: update xstats_get() strings and Q handling Harry van Haaren
2015-11-02  7:59           ` Thomas Monjalon
2015-11-02 10:17             ` Van Haaren, Harry
2015-11-02 16:23               ` Thomas Monjalon
2015-10-30 11:36         ` [dpdk-dev] [PATCH v4 03/10] virtio: add xstats() implementation Harry van Haaren
2015-10-30 11:36         ` [dpdk-dev] [PATCH v4 04/10] igb: " Harry van Haaren
2015-10-30 11:36         ` [dpdk-dev] [PATCH v4 05/10] igbvf: " Harry van Haaren
2015-10-30 11:36         ` [dpdk-dev] [PATCH v4 06/10] ixgbe: add extended statistic strings Harry van Haaren
2015-10-30 11:36         ` [dpdk-dev] [PATCH v4 07/10] ixgbevf: add xstats() implementation Harry van Haaren
2015-10-30 11:36         ` [dpdk-dev] [PATCH v4 08/10] i40e: " Harry van Haaren
2015-10-30 11:36         ` [dpdk-dev] [PATCH v4 09/10] i40evf: " Harry van Haaren
2015-10-30 11:36         ` [dpdk-dev] [PATCH v4 10/10] fm10k: " Harry van Haaren
2015-10-30 13:21         ` [dpdk-dev] [PATCH v4 00/10] Port XStats Tahhan, Maryam
2015-11-02  8:04         ` Thomas Monjalon
2015-10-22 15:48     ` [dpdk-dev] [PATCH v3 02/11] doc: add extended statistics to prog_guide Harry van Haaren
2015-10-23 14:29       ` Tahhan, Maryam
2015-10-22 15:48     ` [dpdk-dev] [PATCH v3 03/11] ethdev: update xstats_get() strings and Q handling Harry van Haaren
2015-10-23 14:35       ` Tahhan, Maryam
2015-10-23 15:28         ` Tahhan, Maryam
2015-10-23 15:28       ` Tahhan, Maryam
2015-10-22 15:48     ` [dpdk-dev] [PATCH v3 04/11] virtio: add xstats() implementation Harry van Haaren
2015-10-29 16:19       ` Tahhan, Maryam
2015-10-22 15:48     ` [dpdk-dev] [PATCH v3 05/11] igb: " Harry van Haaren
2015-10-23 14:56       ` Tahhan, Maryam
2015-10-22 15:48     ` [dpdk-dev] [PATCH v3 06/11] igbvf: " Harry van Haaren
2015-10-28 12:17       ` Tahhan, Maryam
2015-10-22 15:48     ` [dpdk-dev] [PATCH v3 07/11] ixgbe: update statistic strings to scheme Harry van Haaren
2015-10-23 14:41       ` Tahhan, Maryam
2015-10-22 15:48     ` [dpdk-dev] [PATCH v3 08/11] ixgbevf: add xstats() functions to VF Harry van Haaren
2015-10-28 12:16       ` Tahhan, Maryam
2015-10-22 15:48     ` [dpdk-dev] [PATCH v3 09/11] i40e: add xstats() implementation Harry van Haaren
2015-10-23 15:11       ` Tahhan, Maryam
2015-10-22 15:48     ` [dpdk-dev] [PATCH v3 10/11] i40evf: " Harry van Haaren
2015-10-28 12:15       ` Tahhan, Maryam
2015-10-22 15:48     ` [dpdk-dev] [PATCH v3 11/11] fm10k: " Harry van Haaren
2015-10-29 16:41       ` Tahhan, Maryam
2015-10-28 17:35     ` [dpdk-dev] [PATCH v3 00/11] Port XStats Tom Crugnale
2015-10-28 21:32       ` Stephen Hemminger
2015-10-29  0:55         ` Tom Crugnale
2015-10-29 12:55           ` Kyle Larose [this message]
2015-10-29 13:10             ` Thomas Monjalon
2015-10-29 13:57               ` Kyle Larose
2015-10-29 14:01                 ` Thomas Monjalon
2015-10-29 14:10                   ` Kyle Larose
2015-10-29 13:17             ` Van Haaren, Harry
2015-09-30  9:40 ` [dpdk-dev] [PATCH v2 02/11] doc: add extended statistics to prog_guide Harry van Haaren
2015-09-30  9:40 ` [dpdk-dev] [PATCH v2 03/11] ethdev: update xstats_get() strings and Q handling Harry van Haaren
2015-09-30  9:40 ` [dpdk-dev] [PATCH v2 04/11] virtio: add xstats() implementation Harry van Haaren
2015-09-30 17:44   ` Stephen Hemminger
2015-10-01  8:00     ` Van Haaren, Harry
2015-09-30  9:40 ` [dpdk-dev] [PATCH v2 05/11] igb: " Harry van Haaren
2015-09-30  9:40 ` [dpdk-dev] [PATCH v2 06/11] igbvf: " Harry van Haaren
2015-09-30  9:40 ` [dpdk-dev] [PATCH v2 07/11] ixgbe: update statistic strings to scheme Harry van Haaren
2015-09-30  9:40 ` [dpdk-dev] [PATCH v2 08/11] ixgbevf: add xstats() functions to VF Harry van Haaren
2015-09-30  9:40 ` [dpdk-dev] [PATCH v2 09/11] i40e: add xstats() implementation Harry van Haaren
2015-09-30  9:40 ` [dpdk-dev] [PATCH v2 10/11] i40evf: " Harry van Haaren
2015-09-30  9:40 ` [dpdk-dev] [PATCH v2 11/11] fm10k: " Harry van Haaren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMFWN9m7rd0JbseTw5HWKqLrDewgjksTN-PbOKoZUj1LNnP8FQ@mail.gmail.com \
    --to=eomereadig@gmail.com \
    --cc=dev@dpdk.org \
    --cc=stephen@networkplumber.org \
    --cc=tcrugnale@sandvine.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).