> -----Original Message----- > From: Laatz, Kevin > Sent: Wednesday, October 3, 2018 6:36 PM > To: dev@dpdk.org > Cc: Van Haaren, Harry <harry.van.haa...@intel.com>; > step...@networkplumber.org; gaetan.ri...@6wind.com; shreyansh.j...@nxp.com; > tho...@monjalon.net; Laatz, Kevin <kevin.la...@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