From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gaetan.rivet@6wind.com>
Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com
 [209.85.128.68]) by dpdk.org (Postfix) with ESMTP id F1C9E1B184
 for <dev@dpdk.org>; Sat,  6 Oct 2018 00:05:28 +0200 (CEST)
Received: by mail-wm1-f68.google.com with SMTP id 185-v6so3181722wmt.2
 for <dev@dpdk.org>; Fri, 05 Oct 2018 15:05:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=6wind-com.20150623.gappssmtp.com; s=20150623;
 h=date:from:to:cc:subject:message-id:references:mime-version
 :content-disposition:content-transfer-encoding:in-reply-to
 :user-agent; bh=kyRKwKDbnOETCb94IzSZVIhGlDWMJ/oLU1Dv86iAX/s=;
 b=R/BZJfTYUQkrtoXm8c4nFrepBrHBJ2ylf8oH/Kv3Wa/qA1w/iT8A45LLHM7avIPbwL
 sroy7g/qxQL2LXiPq68RPzwxdYCPr87Vo/hoFczKAgAMAE1QhLmoyGzkfIyTSxVVr7jm
 qDyiJjg9p+onFONhQB5gQwS2pckiuY+A6/iWsVYBu4fY5OE3F8KpuQnTvckN6OfvBO4M
 FZICA4cuqknSf2si4F7AHJ8zo1W5etaEhCvs/Lj91PMUB+JSlg/OoVtrag8/r+/55tr8
 CWu+m/zNaH/RRgYXXxi5amK+m4VKg41U/Vc0Vv0eK7ptI9BtqzFs1sxoghLK3aM+kJHG
 FD3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:date:from:to:cc:subject:message-id:references
 :mime-version:content-disposition:content-transfer-encoding
 :in-reply-to:user-agent;
 bh=kyRKwKDbnOETCb94IzSZVIhGlDWMJ/oLU1Dv86iAX/s=;
 b=tx9d/8s74QgbMVj1RtqCukZo6IQfSAlP4ajrHdxRuNjhlehvJqSMHHP19Idgb1E08v
 DJtjdQ61IvXCRl5MT45x9C6N9FnvSUQhg+hNAVvLhfGxde1i+zbaRpYNpKJmwNebgRsE
 nVGbiw02AYJrt1t8sOcXiibNXJ8Lyms+suZgmLjQcs/E/4KNRc6aMMTZNUtpYaSlsxM2
 HZSZxU6q9O867yrCZur+sFYO+lueucDFobOYAd2Ip27UQ+6+MNRylahhtNwIru4we0fE
 VLzA+YKwoWO9xkzYU0GJYtz6TVykKADoEv/0SioI0On+zvKEvuHOpClHkeNGO5TT8aZJ
 BVFg==
X-Gm-Message-State: ABuFfoh9XLbiqlV2eg/dnRYKCeqPTkAd8UQlImfq/IP8DgatzYKXYIb6
 roNPIUmcASz1IG+9lGQgQJ8HGA==
X-Google-Smtp-Source: ACcGV608UK/oMArs5h2LZBMqWQxWB/ITZXqwpZZAlyPK9vqALu4JVdlxvepZ8smbhnwL5CgdigWtsw==
X-Received: by 2002:a1c:ed1a:: with SMTP id
 l26-v6mr9309652wmh.61.1538777128353; 
 Fri, 05 Oct 2018 15:05:28 -0700 (PDT)
Received: from bidouze.vm.6wind.com (host.78.145.23.62.rev.coltfrance.com.
 [62.23.145.78])
 by smtp.gmail.com with ESMTPSA id p62-v6sm17371512wrc.97.2018.10.05.15.05.27
 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);
 Fri, 05 Oct 2018 15:05:27 -0700 (PDT)
Date: Sat, 6 Oct 2018 00:05:09 +0200
From: =?iso-8859-1?Q?Ga=EBtan?= Rivet <gaetan.rivet@6wind.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: "Van Haaren, Harry" <harry.van.haaren@intel.com>,
 "Laatz, Kevin" <kevin.laatz@intel.com>, "dev@dpdk.org" <dev@dpdk.org>,
 "stephen@networkplumber.org" <stephen@networkplumber.org>,
 "shreyansh.jain@nxp.com" <shreyansh.jain@nxp.com>,
 "Richardson, Bruce" <bruce.richardson@intel.com>
Message-ID: <20181005220509.lkxhoaamra7legba@bidouze.vm.6wind.com>
References: <1535026093-101872-1-git-send-email-ciara.power@intel.com>
 <20181003173612.67101-1-kevin.laatz@intel.com>
 <E923DB57A917B54B9182A2E928D00FA65E2E6127@IRSMSX102.ger.corp.intel.com>
 <4034734.dNxXkqf0MS@xps>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4034734.dNxXkqf0MS@xps>
User-Agent: NeoMutt/20170113 (1.7.2)
Subject: Re: [dpdk-dev] [PATCH v2 00/10] introduce telemetry library
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 05 Oct 2018 22:05:29 -0000

On Thu, Oct 04, 2018 at 05:53:53PM +0200, Thomas Monjalon wrote:
> 04/10/2018 15:25, Van Haaren, Harry:
> > From: Van Haaren, Harry
> > > From: Laatz, Kevin
> > > >
> > > > 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.
> > 
> > Correction: we attempted this approach - but ended up adding a TAILQ of library
> > initializers functions to EAL, which was then iterated during rte_eal_init().
> > This also resolved the circular-dependency, but the same linking issue as
> > described below still exists.
> > 
> > So - the same question still stands - what is the best solution for 18.11?
> > 
> > 
> > > 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?
> 
> First, the telemetry feature must be enabled via a public function (API).
> The application can decide to enable the feature at any time, right?
> If the application wants to enable the feature at initialization
> (and considers user input from the command line),
> then the init function has a dependency on telemetry.
> Your dependency concern is that the init function (which is high level)
> is in EAL (which is the lowest layer in DPDK).
> 
> I think the command line should not be managed directly by EAL.
> My suggestion in last summit was to move this code in a different library.
> We should also move the init function(s) to a new high level library.

Part of the proposed solution here is to add a thin layer in EAL to
register new parameters. I think this could kickstart what you want to
do.

-- 
Gaƫtan Rivet
6WIND