From mboxrd@z Thu Jan 1 00:00:00 1970 From: Remy Horton Subject: [PATCH v13 1/6] lib: add information metrics library Date: Wed, 29 Mar 2017 19:28:43 +0100 Message-ID: <1490812128-4172-2-git-send-email-remy.horton@intel.com> References: <1490812128-4172-1-git-send-email-remy.horton@intel.com> Cc: Thomas Monjalon To: dev@dpdk.org Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 5EA92FAD7 for ; Wed, 29 Mar 2017 20:28:53 +0200 (CEST) In-Reply-To: <1490812128-4172-1-git-send-email-remy.horton@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patch adds a new information metrics library. This Metrics library implements a mechanism by which producers can publish numeric information for later querying by consumers. Metrics themselves are statistics that are not generated by PMDs, and hence are not reported via ethdev extended statistics. Metric information is populated using a push model, where producers update the values contained within the metric library by calling an update function on the relevant metrics. Consumers receive metric information by querying the central metric data, which is held in shared memory. Signed-off-by: Remy Horton --- MAINTAINERS | 4 + config/common_base | 5 + doc/api/doxy-api-index.md | 3 +- doc/api/doxy-api.conf | 3 +- doc/guides/prog_guide/index.rst | 3 +- doc/guides/prog_guide/metrics_lib.rst | 180 +++++++++++++++++ doc/guides/rel_notes/release_17_05.rst | 9 + lib/Makefile | 2 + lib/librte_metrics/Makefile | 51 +++++ lib/librte_metrics/rte_metrics.c | 302 +++++++++++++++++++++++++++++ lib/librte_metrics/rte_metrics.h | 240 +++++++++++++++++++++++ lib/librte_metrics/rte_metrics_version.map | 13 ++ mk/rte.app.mk | 1 + 13 files changed, 813 insertions(+), 3 deletions(-) create mode 100644 doc/guides/prog_guide/metrics_lib.rst create mode 100644 lib/librte_metrics/Makefile create mode 100644 lib/librte_metrics/rte_metrics.c create mode 100644 lib/librte_metrics/rte_metrics.h create mode 100644 lib/librte_metrics/rte_metrics_version.map diff --git a/MAINTAINERS b/MAINTAINERS index 0b1524d..c8b4b41 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -625,6 +625,10 @@ F: lib/librte_jobstats/ F: examples/l2fwd-jobstats/ F: doc/guides/sample_app_ug/l2_forward_job_stats.rst +Metrics +M: Remy Horton +F: lib/librte_metrics/ + Test Applications ----------------- diff --git a/config/common_base b/config/common_base index 37aa1e1..1e84c3b 100644 --- a/config/common_base +++ b/config/common_base @@ -506,6 +506,11 @@ CONFIG_RTE_LIBRTE_EFD=y CONFIG_RTE_LIBRTE_JOBSTATS=y # +# Compile the device metrics library +# +CONFIG_RTE_LIBRTE_METRICS=y + +# # Compile librte_lpm # CONFIG_RTE_LIBRTE_LPM=y diff --git a/doc/api/doxy-api-index.md b/doc/api/doxy-api-index.md index eb39f69..1cbe128 100644 --- a/doc/api/doxy-api-index.md +++ b/doc/api/doxy-api-index.md @@ -4,7 +4,7 @@ API {#index}