Show a cover letter.

GET /api/covers/66939/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 66939,
    "url": "http://patches.dpdk.org/api/covers/66939/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20200319171907.60891-1-ciara.power@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20200319171907.60891-1-ciara.power@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200319171907.60891-1-ciara.power@intel.com",
    "date": "2020-03-19T17:18:55",
    "name": "[00/12] update and simplify telemetry library.",
    "submitter": {
        "id": 978,
        "url": "http://patches.dpdk.org/api/people/978/?format=api",
        "name": "Power, Ciara",
        "email": "ciara.power@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20200319171907.60891-1-ciara.power@intel.com/mbox/",
    "series": [
        {
            "id": 8987,
            "url": "http://patches.dpdk.org/api/series/8987/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=8987",
            "date": "2020-03-19T17:18:55",
            "name": "update and simplify telemetry library.",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/8987/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/66939/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id E725FA0583;\n\tThu, 19 Mar 2020 18:34:54 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id BFE29292D;\n\tThu, 19 Mar 2020 18:34:54 +0100 (CET)",
            "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n by dpdk.org (Postfix) with ESMTP id DE31BF90\n for <dev@dpdk.org>; Thu, 19 Mar 2020 18:34:52 +0100 (CET)",
            "from orsmga004.jf.intel.com ([10.7.209.38])\n by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 19 Mar 2020 10:34:51 -0700",
            "from silpixa00399953.ir.intel.com (HELO\n silpixa00399953.ger.corp.intel.com) ([10.237.222.53])\n by orsmga004.jf.intel.com with ESMTP; 19 Mar 2020 10:34:50 -0700"
        ],
        "IronPort-SDR": [
            "\n hPiaqyog/WIh5QVJ7fOsYe8tsnIsMh41G0oQfrUSA5Oh7FoD8ORJqvoO3p1EWBY6xBInXjb1f6\n y2udDFpvrGLA==",
            "\n /f3udLAW+uOCD2jOZCAsqwhrmY7j3iGwlUTVkM1k2k8FVELTycfxbnpSlztv//8Irsy5uWevIu\n HmODEcdXYZWQ=="
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.70,572,1574150400\"; d=\"scan'208\";a=\"391872557\"",
        "From": "Ciara Power <ciara.power@intel.com>",
        "To": "kevin.laatz@intel.com",
        "Cc": "dev@dpdk.org, reshma.pattan@intel.com, Ciara Power <ciara.power@intel.com>",
        "Date": "Thu, 19 Mar 2020 17:18:55 +0000",
        "Message-Id": "<20200319171907.60891-1-ciara.power@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH 00/12] update and simplify 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>,\n <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>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "This patchset extensively reworks the telemetry library adding new\nfunctionality and simplifying much of the existing code, while\nmaintaining backward compatibility.\n\nThis work is based on the previously sent RFC for a \"process info\"\nlibrary: https://patchwork.dpdk.org/project/dpdk/list/?series=7741\nHowever, rather than creating a new library, this patchset takes\nthat work and merges it into the existing telemetry library, as\nmentioned above.\n\nThe telemetry library as shipped in 19.11 is based upon the metrics\nlibrary and outputs all statistics based on that as a source. However,\nthis limits the telemetry output to only port-level statistics\ninformation, rather than allowing it to be used as a general scheme for\ntelemetry information across all DPDK libraries.\n\nWith this patchset applied, rather than the telemetry library being\nresponsible for pulling ethdev stats and pushing them into the metrics\nlibrary for retrieval later, each library e.g. ethdev, rawdev, and even\nthe metrics library itself (for backwards compatiblity) now handle their\nown stats.  Any library or app can register a callback function with\ntelemetry, which will be called if requested by the client connected via\nthe telemetry socket. The callback function in the library/app then\nformats its stats, or other data, into a JSON string, and returns it to\ntelemetry to be sent to the client.\n\nTo maintain backward compatibility, e.g. to allow the dpdk telemetry\ncollectd plugin to continue to work, some of the existing telemetry\ncode is kept, but is moved into the metrics library, and callbacks are\nregistered with telemetry for the legacy commands that were supported\npreviously.\n\nThe new version of the library, apart from the legacy interface support\nfor backward compatibility, does not have an external dependency on the\nJansson library, allowing the library to be enabled by default.\n\nNote: In this version of the patchset, telemetry output is provided by\nthe ethdev, rawdev and eal libraries, but this may be expanded further\nin later versions which are planned ahead of the merge deadline for\n20.05\n\nBruce Richardson (5):\n  telemetry: invert dependency on metrics\n  telemetry: introduce new telemetry functionality\n  ethdev: add callback support for telemetry\n  usertools: add new telemetry python script\n  eal: add eal telemetry callbacks\n\nCiara Power (7):\n  telemetry: move code to metrics for later reuse\n  metrics: reduce code taken from telemetry\n  rawdev: add callback support for telemetry\n  examples/l3fwd-power: enable use of new telemetry\n  telemetry: introduce telemetry backward compatibility\n  telemetry: remove existing telemetry files\n  lib: add telemetry as eal dependency\n\n config/common_base                            |    2 +-\n examples/l3fwd-power/Makefile                 |    4 +\n examples/l3fwd-power/main.c                   |   62 +-\n examples/l3fwd-power/meson.build              |    4 +\n lib/Makefile                                  |   10 +-\n lib/librte_eal/common/eal_common_options.c    |   79 +\n lib/librte_eal/common/eal_internal_cfg.h      |    1 +\n lib/librte_eal/common/eal_options.h           |    7 +\n lib/librte_eal/freebsd/eal/Makefile           |    1 +\n lib/librte_eal/freebsd/eal/eal.c              |   14 +\n lib/librte_eal/freebsd/eal/meson.build        |    2 +-\n lib/librte_eal/linux/eal/Makefile             |    1 +\n lib/librte_eal/linux/eal/eal.c                |   14 +\n lib/librte_eal/linux/eal/meson.build          |    2 +-\n lib/librte_eal/meson.build                    |    2 +-\n lib/librte_ethdev/Makefile                    |    4 +\n lib/librte_ethdev/meson.build                 |    4 +\n lib/librte_ethdev/rte_ethdev.c                |   79 +\n lib/librte_metrics/Makefile                   |   14 +\n lib/librte_metrics/meson.build                |   10 +\n lib/librte_metrics/rte_metrics.c              |    6 +-\n lib/librte_metrics/rte_metrics.h              |    5 +-\n lib/librte_metrics/rte_metrics_telemetry.c    |  539 +++++\n lib/librte_metrics/rte_metrics_telemetry.h    |   65 +\n lib/librte_metrics/rte_metrics_version.map    |    7 +\n lib/librte_rawdev/Makefile                    |    5 +\n lib/librte_rawdev/meson.build                 |    5 +\n lib/librte_rawdev/rte_rawdev.c                |   88 +\n lib/librte_telemetry/Makefile                 |   12 +-\n lib/librte_telemetry/meson.build              |   18 +-\n lib/librte_telemetry/rte_telemetry.c          | 1895 -----------------\n lib/librte_telemetry/rte_telemetry.h          |   53 +-\n lib/librte_telemetry/rte_telemetry_internal.h |  112 -\n lib/librte_telemetry/rte_telemetry_legacy.h   |   48 +\n lib/librte_telemetry/rte_telemetry_parser.c   |  682 ------\n lib/librte_telemetry/rte_telemetry_parser.h   |   15 -\n .../rte_telemetry_parser_test.c               |  533 -----\n .../rte_telemetry_socket_tests.h              |   36 -\n .../rte_telemetry_version.map                 |    5 +-\n lib/librte_telemetry/telemetry.c              |  290 +++\n lib/librte_telemetry/telemetry_legacy.c       |  226 ++\n lib/meson.build                               |    3 +-\n mk/rte.app.mk                                 |    9 +-\n mk/rte.vars.mk                                |    2 +\n usertools/test_new_telemetry.py               |   30 +\n 45 files changed, 1659 insertions(+), 3346 deletions(-)\n create mode 100644 lib/librte_metrics/rte_metrics_telemetry.c\n create mode 100644 lib/librte_metrics/rte_metrics_telemetry.h\n delete mode 100644 lib/librte_telemetry/rte_telemetry.c\n delete mode 100644 lib/librte_telemetry/rte_telemetry_internal.h\n create mode 100644 lib/librte_telemetry/rte_telemetry_legacy.h\n delete mode 100644 lib/librte_telemetry/rte_telemetry_parser.c\n delete mode 100644 lib/librte_telemetry/rte_telemetry_parser.h\n delete mode 100644 lib/librte_telemetry/rte_telemetry_parser_test.c\n delete mode 100644 lib/librte_telemetry/rte_telemetry_socket_tests.h\n create mode 100644 lib/librte_telemetry/telemetry.c\n create mode 100644 lib/librte_telemetry/telemetry_legacy.c\n create mode 100755 usertools/test_new_telemetry.py"
}