From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A3E3CA0A05; Wed, 20 Jan 2021 14:57:31 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3C712140DB4; Wed, 20 Jan 2021 14:57:31 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id C7622140DA5 for ; Wed, 20 Jan 2021 14:57:29 +0100 (CET) IronPort-SDR: eRDiL4nmBcEpGYx2/uDQWixRBDH6WlmUtLkBwYChJ+RsJZrqUy6lC3+GgWarjpdKfy0LUU+y02 qhgEXImCWTaQ== X-IronPort-AV: E=McAfee;i="6000,8403,9869"; a="175603688" X-IronPort-AV: E=Sophos;i="5.79,361,1602572400"; d="scan'208";a="175603688" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jan 2021 05:57:28 -0800 IronPort-SDR: P0jMdDANVxvPMevZ37MRyDAKZedMh63dK32dyePSWwcgO+W102ZyOD/r9VgV4kxzZxwCedxjtY sQTFa19UDrbw== X-IronPort-AV: E=Sophos;i="5.79,361,1602572400"; d="scan'208";a="384841791" Received: from bricha3-mobl.ger.corp.intel.com ([10.252.7.88]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 20 Jan 2021 05:57:26 -0800 Date: Wed, 20 Jan 2021 13:57:23 +0000 From: Bruce Richardson To: Thomas Monjalon Cc: Tyler Retzlaff , dev@dpdk.org, dmitry.kozliuk@gmail.com, navasile@linux.microsoft.com, ciara.power@intel.com Message-ID: <20210120135723.GD1406@bricha3-MOBL.ger.corp.intel.com> References: <1610408246-29482-1-git-send-email-roretzla@linux.microsoft.com> <3646223.fRS4d9ebDi@thomas> <20210120115408.GC1406@bricha3-MOBL.ger.corp.intel.com> <2157928.aXkhnrQ3pi@thomas> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2157928.aXkhnrQ3pi@thomas> Subject: Re: [dpdk-dev] [PATCH v2] metrics/windows: build rte_metrics library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Jan 20, 2021 at 01:13:46PM +0100, Thomas Monjalon wrote: > 20/01/2021 12:54, Bruce Richardson: > > On Wed, Jan 20, 2021 at 12:09:19PM +0100, Thomas Monjalon wrote: > > > 20/01/2021 11:37, Bruce Richardson: > > > > On Tue, Jan 19, 2021 at 10:52:03PM +0100, Thomas Monjalon wrote: > > > > > 19/01/2021 22:31, Tyler Retzlaff: > > > > > > On Sun, Jan 17, 2021 at 11:19:55PM +0100, Thomas Monjalon wrote: > > > > > > > > > > > > > > Not sure it makes sense without the new telemetry feature. > > > > > > > Please focus on telemetry lib instead of half-enabling > > > > > > > the old metrics lib. > > > > > > > > > > > > > > > > > > > can you elaborate? (or reference a mailing list discussion) that gives some > > > > > > guidance? > > > > > > > > > > > > is the telemetry lib a replacement for metrics? the component we have now > > > > > > relies on the non-telemetry functions exported from metrics but does not > > > > > > use the telemetry functions. > > > > > > > > > > > > also, i notice that the meson.build for telemetry lib has an include path > > > > > > that references rte_metrics but does not appear to actually include any of > > > > > > the headers from rte_metrics (vestigial? missed in previous cleanup perhaps?) > > > > > > > > > > I think Bruce and Ciara will better explain than me > > > > > the intent of the telemetry lib and the compatibility path with the metrics lib. > > > > > > > > > > > > > The include path addition for metrics to the telemetry library does indeed > > > > look like it was just missed being removed, since I can compile things up > > > > successfully with it removed. > > > > > > > > With regards to interaction between telemetry library and metrics library, > > > > they are complementary but not replacements for each other. The metrics > > > > library provides support for tracking metrics, mostly on a per-port basis. > > > > The original telemetry library implementation was based on top of the > > > > metrics library and supported reporting out data from that library. More > > > > recent versions of the telemetry library have reworked that support to > > > > allow the reporting of arbitrary telemetry data, not just from the metrics > > > > library, but the old interface is still supported. > > > > > > The question is what is available in rte_metrics which is not already > > > available with rte_telemetry only? > > > I think rte_metrics is used only for rte_bitratestats and rte_latencystats. > > > Can we use rte_telemetry for this and forget rte_metrics? > > > > > No, we can't. > > In short, metrics is a data store. Telemetry is a data output mechanism. > > > > Telemetry cannot directly replace metrics because it does not store any > > data, it simply matches incoming requests against callbacks to retrieve and > > export data. The actual management of the underlying data sources is the > > responsibility of the library/app which has registered the callback. > > > > Metrics, on the other hand, is a data storage library, and allows the > > registration of groups of statictics which can be tracked and updated. It > > does also provide some callbacks to allow the data to be output by > > telemetry, but this functionality is not the primary goal of the lib. Both > > bitratestats and latencystats use metrics to manage their stats data - > > again any output provided is incidental to the primary purpose. > > When you say "we can't", you mean it is not a desirable addition? > I am fine with keeping the design as is, split in libs. > Well, I primarily meant "we can't" as in the library is not designed to do that right now, and so cannot do what is asked. For the second interpretation of it being a desirable addition or not, I also agree that expanding the scope of telemetry to also cover data management is not something we want. Any rework of metrics and associated library should be kept separate from telemetry, and allow each lib to try and focus on just doing one thing. So +1 for keeping things split. /Bruce