From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id C0750282 for ; Fri, 3 Feb 2017 11:33:42 +0100 (CET) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP; 03 Feb 2017 02:33:41 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,328,1477983600"; d="scan'208";a="55031807" Received: from rhorton-mobl.ger.corp.intel.com (HELO VM.ir.intel.com) ([163.33.230.205]) by orsmga004.jf.intel.com with ESMTP; 03 Feb 2017 02:33:40 -0800 From: Remy Horton To: dev@dpdk.org Cc: Thomas Monjalon Date: Fri, 3 Feb 2017 10:33:32 +0000 Message-Id: <1486118019-2280-1-git-send-email-remy.horton@intel.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1484751943-22877-1-git-send-email-remy.horton@intel.com> Subject: [dpdk-dev] [PATCH v10 0/7] Expanded statistics reporting X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Feb 2017 10:33:43 -0000 This patchset extends statistics reporting to include peak and average data-rate metrics. It comes in two parts: a statistics reporting library, and a bitrate calculation library that uses it. This structure is intended to seperate statistic reporting from ethdev and allow more flexible metric registration. -- v10 changes: * Rebased * Relocated some config-related directives. * Removed incorrect capitalisations in API docs. * Formatting & detail corrections in release notes. * Moved around struct member descriptions. * Rewritten rte_metrics.h file description. * Rewritten description of RTE_METRICS_GLOBAL. * Used 'producers' and 'consumers' as terms. * Removed markup (bold text) in Doxygen tags. * Added programming guide section. v9 changes: * Updated .map files to reflect function changes in v8 * Fixed rte_malloc() of zero bytes in proc_info when no metrics exist * Fixed rte_metrics_init not being called explicitly in testpmd v8 changes: * Release notes correction * Updated copyright years * rte_metric_init() takes socket id & must be explicitly called * rte_metrics_reg_metric renamed to rte_metrics_reg_name() * rte_metrics_update_metric() renamed to rte_metrics_update_value() * Doxygen updates * Changed malloc()/free() to rte_malloc()/rte_free() * Removed redundant memset() * rte_stats_bitrates_s renamed to rte_stats_bitrates_s * Split mbuf change to own patch for visibility * CYCLES_PER_NS now a static inline function * latency: "hidden" pthread creation now has polling API instead. * Struct declarations and variable definitions cleaned up * Double initialization of the latency library now returns -EEXIST * MAINTAINERS entry for layenctstats in correct section v7 changes: * RTE_METRICS_NONPORT renamed to RTE_METRICS_GLOBAL * Multiple changes to rte_metrics.h doxygen documentation * Split apart latency patch into lib, test-pmd, & proc_info parts * Reordered patches by functionality * Insufficent capacity return value changed from -ERANGE to actual size * Cache alignment in bitrate library * Tightened up const usage to avoid STATIC_CONST_CHAR_ARRAY warning * Reshma reinstated as author for (now split) latency patch * Rebase to master v6 changes: * Metrics display now has "Non port specific" rather than "port -1" * Fixed sign issue in EWMA delta calculation * Rebased to master v5 changes: * Updated Shared Library Versions in release notes * Merged in Reshma's latencystats library v4 changes: * References to 16.11 changed to 17.02 * Fetching of non-port values was broken * Added sanity checks to value fetching * rte_stat_value renamed to rte_metric_value * Corrected doxygen descriptions * Added MAINTAINERS entries * Added #ifdef directives to bitrate code in test-pmd v3 changes: * Marked rte_stats_bitrate_s as internal * Minor integer roundoff correction * Coding style corrections * Removed spurious object allocation * Changes to rte_metrics.[ch] moved from Patch 2/3 to 1/3. * Reintroduced non-port values (RTE_METRICS_NONPORT) * Added spinlocks to metric library * Removed spurious test registration/update * Added release notes entries v2 changes: * Uses a new metrics library rather than being part of ethdev Harry van Haaren (3): mbuf: add a timestamp to the mbuf for latencystats lib: added new library for latency stats app/test-pmd: add latency statistics calculation Remy Horton (3): lib: add information metrics library lib: add bitrate statistics library app/test-pmd: add bitrate statistics calculation Reshma Pattan (1): app/proc_info: add metrics displaying MAINTAINERS | 12 + app/proc_info/main.c | 79 ++++- app/test-pmd/parameters.c | 20 +- app/test-pmd/testpmd.c | 78 ++++- app/test-pmd/testpmd.h | 6 +- config/common_base | 15 + doc/api/doxy-api-index.md | 3 + doc/api/doxy-api.conf | 3 + doc/guides/prog_guide/index.rst | 1 + doc/guides/prog_guide/metrics_lib.rst | 297 +++++++++++++++++ doc/guides/rel_notes/release_17_02.rst | 20 ++ lib/Makefile | 3 + lib/librte_bitratestats/Makefile | 53 +++ lib/librte_bitratestats/rte_bitrate.c | 132 ++++++++ lib/librte_bitratestats/rte_bitrate.h | 80 +++++ .../rte_bitratestats_version.map | 9 + lib/librte_latencystats/Makefile | 56 ++++ lib/librte_latencystats/rte_latencystats.c | 366 +++++++++++++++++++++ lib/librte_latencystats/rte_latencystats.h | 154 +++++++++ .../rte_latencystats_version.map | 11 + lib/librte_mbuf/rte_mbuf.h | 3 + lib/librte_metrics/Makefile | 51 +++ lib/librte_metrics/rte_metrics.c | 299 +++++++++++++++++ lib/librte_metrics/rte_metrics.h | 240 ++++++++++++++ lib/librte_metrics/rte_metrics_version.map | 13 + mk/rte.app.mk | 3 + 26 files changed, 2003 insertions(+), 4 deletions(-) create mode 100644 doc/guides/prog_guide/metrics_lib.rst create mode 100644 lib/librte_bitratestats/Makefile create mode 100644 lib/librte_bitratestats/rte_bitrate.c create mode 100644 lib/librte_bitratestats/rte_bitrate.h create mode 100644 lib/librte_bitratestats/rte_bitratestats_version.map create mode 100644 lib/librte_latencystats/Makefile create mode 100644 lib/librte_latencystats/rte_latencystats.c create mode 100644 lib/librte_latencystats/rte_latencystats.h create mode 100644 lib/librte_latencystats/rte_latencystats_version.map 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 -- 2.5.5