Show a cover letter.

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

{
    "id": 69011,
    "url": "http://patches.dpdk.org/api/covers/69011/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20200421123949.38270-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": "<20200421123949.38270-1-ciara.power@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200421123949.38270-1-ciara.power@intel.com",
    "date": "2020-04-21T12:39:32",
    "name": "[v3,00/17] 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/20200421123949.38270-1-ciara.power@intel.com/mbox/",
    "series": [
        {
            "id": 9543,
            "url": "http://patches.dpdk.org/api/series/9543/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=9543",
            "date": "2020-04-21T12:39:32",
            "name": "update and simplify telemetry library.",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/9543/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/69011/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 1C6D3A0597;\n\tTue, 21 Apr 2020 14:59:27 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id DB91F1D421;\n\tTue, 21 Apr 2020 14:59:26 +0200 (CEST)",
            "from mga11.intel.com (mga11.intel.com [192.55.52.93])\n by dpdk.org (Postfix) with ESMTP id 7CEFE1D409\n for <dev@dpdk.org>; Tue, 21 Apr 2020 14:59:24 +0200 (CEST)",
            "from fmsmga004.fm.intel.com ([10.253.24.48])\n by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 21 Apr 2020 05:59:23 -0700",
            "from silpixa00399953.ir.intel.com (HELO\n silpixa00399953.ger.corp.intel.com) ([10.237.222.53])\n by fmsmga004.fm.intel.com with ESMTP; 21 Apr 2020 05:59:20 -0700"
        ],
        "IronPort-SDR": [
            "\n +qqFdrmDzWKH0IysW+GHy84BsWiS/5ZUAvKvBjZ+JZO5vq0frgXjPxC2uUkuhpPZHUJRPa/gfb\n HgVt5Dzk9jiQ==",
            "\n UZACttQZJAUxYlPMc6mZc4JaXdgZr5TFcMsd2rK5eW3YFiGV4QUNPwxuzKBpsNR5jwSZya0hR0\n gVAUjQuKh20w=="
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.72,410,1580803200\"; d=\"scan'208\";a=\"279629041\"",
        "From": "Ciara Power <ciara.power@intel.com>",
        "To": "dev@dpdk.org,\n\tkevin.laatz@intel.com",
        "Cc": "reshma.pattan@intel.com, jerinjacobk@gmail.com, david.marchand@redhat.com,\n keith.wiles@intel.com, mb@smartsharesystems.com, thomas@monjalon.net,\n Ciara Power <ciara.power@intel.com>",
        "Date": "Tue, 21 Apr 2020 13:39:32 +0100",
        "Message-Id": "<20200421123949.38270-1-ciara.power@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20200319171907.60891-1-ciara.power@intel.com>",
        "References": "<20200319171907.60891-1-ciara.power@intel.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v3 00/17] 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": "Note: as discussed on-list, v4 will use a non-json internal representation.\n\nv3:\n  - Removed rte_option as it is no longer used.\n  - General cleanup.\n\nv2:\n  - Added JSON API, and unit tests, to simplify creation of valid json\n    responses from libraries.\n  - Added printing of basic info, including max output buffer size, app\n    PID and DPDK version on connection.\n  - Added /info command to report that basic info post-connect. This\n    replaces the eal version command from v1.\n  - Renamed stats to xstats in commands to allow a future generic\n    \"stats\" call.\n  - Added documentation, including updating existing howto and adding\n    programmers guide section and API docs.\n  - Added link status command for ethdev ports.\n  - Fixed windows builds.\n\nThis 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 (8):\n  build: add arch-specific header path to global includes\n  telemetry: invert dependency on metrics\n  telemetry: introduce new telemetry functionality\n  telemetry: add utility functions for creating json\n  app/test: add telemetry json tests\n  ethdev: add callback support for telemetry\n  usertools: add new telemetry python script\n  eal: add eal telemetry callbacks\n\nCiara Power (9):\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  eal: remove rte-option infrastructure\n  doc: update telemetry documentation\n\n app/test/Makefile                             |    2 +\n app/test/meson.build                          |    4 +\n app/test/test_telemetry_json.c                |  136 ++\n config/common_base                            |    2 +-\n config/meson.build                            |    7 -\n doc/api/doxy-api-index.md                     |    1 +\n doc/guides/howto/telemetry.rst                |  108 +-\n doc/guides/linux_gsg/eal_args.include.rst     |    8 +\n doc/guides/linux_gsg/sys_reqs.rst             |    2 -\n doc/guides/prog_guide/index.rst               |    1 +\n doc/guides/prog_guide/telemetry_lib.rst       |   62 +\n doc/guides/rel_notes/release_20_05.rst        |   15 +\n examples/l3fwd-power/Makefile                 |    2 +-\n examples/l3fwd-power/main.c                   |   53 +-\n examples/l3fwd-power/meson.build              |    2 +-\n lib/Makefile                                  |   10 +-\n lib/librte_eal/arm/include/meson.build        |    2 -\n lib/librte_eal/common/eal_common_options.c    |   81 +-\n lib/librte_eal/common/eal_internal_cfg.h      |    1 +\n lib/librte_eal/common/eal_options.h           |    7 +\n lib/librte_eal/common/eal_private.h           |   28 -\n lib/librte_eal/common/meson.build             |    2 -\n lib/librte_eal/common/rte_option.c            |   95 -\n lib/librte_eal/freebsd/Makefile               |    2 +-\n lib/librte_eal/freebsd/eal.c                  |   26 +-\n lib/librte_eal/freebsd/meson.build            |    2 +-\n lib/librte_eal/include/meson.build            |    1 -\n lib/librte_eal/include/rte_option.h           |   72 -\n lib/librte_eal/linux/Makefile                 |    2 +-\n lib/librte_eal/linux/eal.c                    |   26 +-\n lib/librte_eal/linux/meson.build              |    2 +-\n lib/librte_eal/meson.build                    |    5 +-\n lib/librte_eal/ppc/include/meson.build        |    2 -\n lib/librte_eal/rte_eal_version.map            |    1 -\n lib/librte_eal/x86/include/meson.build        |    2 -\n lib/librte_ethdev/Makefile                    |    2 +-\n lib/librte_ethdev/meson.build                 |    2 +-\n lib/librte_ethdev/rte_ethdev.c                |   99 +\n lib/librte_metrics/Makefile                   |   10 +\n lib/librte_metrics/meson.build                |    9 +\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                    |    2 +-\n lib/librte_rawdev/meson.build                 |    2 +\n lib/librte_rawdev/rte_rawdev.c                |   75 +\n lib/librte_telemetry/Makefile                 |   15 +-\n lib/librte_telemetry/meson.build              |   15 +-\n lib/librte_telemetry/rte_telemetry.c          | 1895 -----------------\n lib/librte_telemetry/rte_telemetry.h          |   78 +-\n lib/librte_telemetry/rte_telemetry_internal.h |  112 -\n lib/librte_telemetry/rte_telemetry_json.h     |  206 ++\n lib/librte_telemetry/rte_telemetry_legacy.h   |   65 +\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              |  312 +++\n lib/librte_telemetry/telemetry_legacy.c       |  226 ++\n lib/meson.build                               |    3 +-\n meson.build                                   |    9 +\n mk/rte.app.mk                                 |   11 +-\n usertools/dpdk-telemetry.py                   |   83 +\n usertools/meson.build                         |    2 +-\n 67 files changed, 2241 insertions(+), 3659 deletions(-)\n create mode 100644 app/test/test_telemetry_json.c\n create mode 100644 doc/guides/prog_guide/telemetry_lib.rst\n delete mode 100644 lib/librte_eal/common/rte_option.c\n delete mode 100644 lib/librte_eal/include/rte_option.h\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_json.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/dpdk-telemetry.py"
}