On Mon, Sep 16, 2024 at 9:46 AM Eelco Chaudron <[email protected]> wrote:
> On 14 Sep 2024, at 7:26, Jun Wang wrote:
>
> > For many network cards, xstat statistics cannot be queried in the
> > ovs interface. A new interface is added to retrieve all xstat
> > information of the network card.
> Hi Jun,
>
> Isn’t this already handled with netdev_dpdk_get_custom_stats()? I think you
> can see them with ‘ovs-vsctl get Interface <port> statistics.
>
> If this is not the case this is what we should enhance.
xstats are currently filtered to only save per queue stats and some
common counters.
static bool
is_queue_stat(const char *s)
{
uint16_t tmp;
return (s[0] == 'r' || s[0] == 't') &&
(ovs_scan(s + 1, "x_q%"SCNu16"_packets", &tmp) ||
ovs_scan(s + 1, "x_q%"SCNu16"_bytes", &tmp));
}
static void
netdev_dpdk_configure_xstats(struct netdev_dpdk *dev)
OVS_REQUIRES(dev->mutex)
{
...
/* For custom stats, we filter out everything except per
rxq/txq basic
* stats, and dropped, error and management counters. */
if (is_queue_stat(name) ||
string_ends_with(name, "_errors") ||
strstr(name, "_management_") ||
string_ends_with(name, "_dropped")) {
dev->rte_xstats_ids[dev->rte_xstats_ids_size] = id;
dev->rte_xstats_ids_size++;
}
Could you explain which stats you are missing?
--
David Marchand
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev