[dpdk-dev] [PATCH v2 00/10] introduce telemetry library

Van Haaren, Harry harry.van.haaren at intel.com
Thu Oct 4 15:00:14 CEST 2018


> -----Original Message-----
> From: Laatz, Kevin
> Sent: Wednesday, October 3, 2018 6:36 PM
> To: dev at dpdk.org
> Cc: Van Haaren, Harry <harry.van.haaren at intel.com>;
> stephen at networkplumber.org; gaetan.rivet at 6wind.com; shreyansh.jain at nxp.com;
> thomas at monjalon.net; Laatz, Kevin <kevin.laatz at intel.com>
> Subject: [PATCH v2 00/10] introduce telemetry library
> 
> This patchset introduces a Telemetry library for DPDK Service Assurance.
> This library provides an easy way to query DPDK Ethdev metrics.

<snip>

> Note: We are aware that the --telemetry flag is not working for meson
> builds, we are working on it for a future patch.  Despite opterr being set
> to 0, --telemetry said to be 'unrecognized' as a startup print. This is a
> cosmetic issue and will also be addressed.
> 
> ---
> v2:
>    - Reworked telemetry as part of EAL instead of using vdev (Gaetan)
>    - Refactored rte_telemetry_command (Gaetan)
>    - Added MAINTAINERS file entry (Stephen)
>    - Updated docs to reflect vdev to eal rework
>    - Removed collectd patch from patchset (Thomas)
>    - General code clean up from v1 feedback


Hi Gaetan, Thomas, Stephen and Shreyansh!


goto TL_DR; // if time is short :)


In this v2 patchset, we've reworked the Telemetry to no longer use the vdev
infrastructure, instead having EAL enable it directly. This was requested as
feedback to the v1 patchset. I'll detail the approach below, and highlight
some issues we identified while implementing it.

Currently, EAL does not depend on any "DPDK" libraries (ignore kvargs etc for a minute).
Telemetry is a DPDK library, so it depends on EAL. In order to have EAL initialize
Telemetry, it must depend on it - this causes a circular dependency.

This patchset resolves that circular dependency by using a "weak" symbol for
telemetry init, and then the "strong" version of telemetry init will replace
it when the library is compiled in. Although this *technically* works, it requires
that applications *LINK* against Telemetry library explicitly - as EAL won't pull
in the Telemetry .so automatically... This means application-level build-system
changes to enable --telemetry on the DPDK EAL command line.

Given the complexity in enabling EAL to handle the Telemetry init() and its
dependencies, I'd like to ask you folks for input on how to better solve this?


TL_DR;

I'll re-suggest the --vdev as an option. It might not be perfect,
but in my opinion it's a better solution than the v2 solution here...

Input and suggestions welcome, as you know integration is coming
close so sooner is better!


Regards, -Harry


More information about the dev mailing list