Show a cover letter.

GET /api/covers/43810/
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 43810,
    "url": "http://patches.dpdk.org/api/covers/43810/",
    "web_url": "http://patches.dpdk.org/cover/43810/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/",
        "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"
    },
    "msgid": "<1535026093-101872-1-git-send-email-ciara.power@intel.com>",
    "date": "2018-08-23T12:08:02",
    "name": "[00/11] introduce telemetry library",
    "submitter": {
        "id": 978,
        "url": "http://patches.dpdk.org/api/people/978/",
        "name": "Ciara Power",
        "email": "ciara.power@intel.com"
    },
    "mbox": "http://patches.dpdk.org/cover/43810/mbox/",
    "series": [
        {
            "id": 1038,
            "url": "http://patches.dpdk.org/api/series/1038/",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1038",
            "date": "2018-08-23T12:08:02",
            "name": "introduce telemetry library",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/1038/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/43810/comments/",
    "headers": {
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Cc": "dev@dpdk.org",
        "X-Original-To": "patchwork@dpdk.org",
        "Date": "Thu, 23 Aug 2018 13:08:02 +0100",
        "Precedence": "list",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailer": "git-send-email 2.7.4",
        "Return-Path": "<dev-bounces@dpdk.org>",
        "To": "harry.van.haaren@intel.com, brian.archbold@intel.com,\n\temma.kenny@intel.com, ciara.power@intel.com",
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "Errors-To": "dev-bounces@dpdk.org",
        "List-Post": "<mailto:dev@dpdk.org>",
        "MIME-Version": "1.0",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id DC49E2BF7;\n\tThu, 23 Aug 2018 14:08:26 +0200 (CEST)",
            "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n\tby dpdk.org (Postfix) with ESMTP id 8F9BA2BF7\n\tfor <dev@dpdk.org>; Thu, 23 Aug 2018 14:08:25 +0200 (CEST)",
            "from fmsmga005.fm.intel.com ([10.253.24.32])\n\tby orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t23 Aug 2018 05:08:24 -0700",
            "from silpixa00399503.ir.intel.com ([10.237.222.102])\n\tby fmsmga005.fm.intel.com with ESMTP; 23 Aug 2018 05:08:22 -0700"
        ],
        "From": "Ciara Power <ciara.power@intel.com>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "X-ExtLoop1": "1",
        "X-Amp-File-Uploaded": "False",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH 00/11] introduce telemetry library",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "Content-Type": "text/plain; charset=UTF-8",
        "X-IronPort-AV": "E=Sophos;i=\"5.53,278,1531810800\"; d=\"scan'208\";a=\"256613820\"",
        "Delivered-To": "patchwork@dpdk.org",
        "Message-Id": "<1535026093-101872-1-git-send-email-ciara.power@intel.com>",
        "X-Mailman-Version": "2.1.15"
    },
    "content": "This patchset introduces a Telemetry library for DPDK Service Assurance.\nThis library provides an easy way to query DPDK Ethdev metrics.\n\nThe telemetry library provides a method for a service assurance component\nto retrieve metrics from a DPDK packet forwarding application.\nCommunicating from the service assurance component to DPDK is done using\na UNIX domain socket, passing a JSON formatted string. A reply is\nsent (again a JSON formatted string) of the current DPDK metrics.\n\nThe telemetry component makes use of the existing rte_metrics library to\nquery values. The values to be transmitted via the telemetry infrastructure\nmust be present in the Metrics library. Currently the ethdev values are\npushed to the metrics library, and the queried from there – there is an\nopen question on how applications would like this to occur. Currently only\nethdev to metrics functionality is implemented, however other subsystems\nlike crypto, eventdev, keepalive etc can use similar mechanisms.\n\nExposing DPDK Telemetry via a socket interface enables service assurance\nagents like collectd to consume data from DPDK. This is vital for\nmonitoring, fault-detection, and error reporting. A collectd plugin has\nbeen created to interact with the DPDK Telemetry component, showing how it\ncan be used in practice. The collectd plugin patch can be found at\nlib/librte_telemetry/collectd_plugin/v1-0001-dpdk_telemetry-add-plugin-\nfor-DPDK-metrics-via-DP.patch, this will be upstreamed to collectd at a\nlater stage. Further instructions on applying the collectd patch can be\nfound in the collectd patch commit message. A small python script is\nprovided in ./usertools/telemetry_client.py to quick-start using\nDPDK Telemetry.\n\nCiara Power and Brian Archbold (10):\n  telemetry: initial telemetry infrastructure\n  telemetry: add initial connection socket\n  telemetry: add client feature and sockets\n  telemetry: add parser for client socket messages\n  telemetry: update metrics before sending stats\n  telemetry: format json response when sending stats\n  telemetry: add tests for telemetry api\n  telemetry: add vdev kvargs for selftest\n  doc: add telemetry documentation\n  usertools: add client python script for telemetry\n\nEmma Kenny (1) :\n  telemetry: add collectd plugin patch\n\n config/common_base                                 |    5 +\n doc/guides/howto/index.rst                         |    1 +\n doc/guides/howto/telemetry.rst                     |   86 +\n drivers/Makefile                                   |    3 +\n drivers/meson.build                                |    3 +-\n drivers/telemetry/Makefile                         |    8 +\n drivers/telemetry/meson.build                      |    6 +\n drivers/telemetry/telemetry/Makefile               |   26 +\n drivers/telemetry/telemetry/meson.build            |    5 +\n .../telemetry/rte_pmd_telemetry_version.map        |    9 +\n drivers/telemetry/telemetry/telemetry_driver.c     |   83 +\n lib/Makefile                                       |    2 +\n lib/librte_telemetry/Makefile                      |   28 +\n ...emetry-add-plugin-for-DPDK-metrics-via-DP.patch |  578 +++++++\n lib/librte_telemetry/meson.build                   |    9 +\n lib/librte_telemetry/rte_telemetry.c               | 1737 ++++++++++++++++++++\n lib/librte_telemetry/rte_telemetry.h               |   58 +\n lib/librte_telemetry/rte_telemetry_internal.h      |   72 +\n lib/librte_telemetry/rte_telemetry_parser.c        |  604 +++++++\n lib/librte_telemetry/rte_telemetry_parser.h        |   13 +\n lib/librte_telemetry/rte_telemetry_parser_test.c   |  574 +++++++\n lib/librte_telemetry/rte_telemetry_parser_test.h   |   39 +\n lib/librte_telemetry/rte_telemetry_socket_tests.h  |   36 +\n lib/librte_telemetry/rte_telemetry_version.map     |    7 +\n lib/meson.build                                    |    2 +-\n mk/rte.app.mk                                      |    2 +\n usertools/telemetry_client.py                      |  116 ++\n 27 files changed, 4110 insertions(+), 2 deletions(-)\n create mode 100644 doc/guides/howto/telemetry.rst\n create mode 100644 drivers/telemetry/Makefile\n create mode 100644 drivers/telemetry/meson.build\n create mode 100644 drivers/telemetry/telemetry/Makefile\n create mode 100644 drivers/telemetry/telemetry/meson.build\n create mode 100644 drivers/telemetry/telemetry/rte_pmd_telemetry_version.map\n create mode 100644 drivers/telemetry/telemetry/telemetry_driver.c\n create mode 100644 lib/librte_telemetry/Makefile\n create mode 100644 lib/librte_telemetry/collectd_plugin/v1-0001-dpdk_telemetry-add-plugin-for-DPDK-metrics-via-DP.patch\n create mode 100644 lib/librte_telemetry/meson.build\n create mode 100644 lib/librte_telemetry/rte_telemetry.c\n create mode 100644 lib/librte_telemetry/rte_telemetry.h\n create mode 100644 lib/librte_telemetry/rte_telemetry_internal.h\n create mode 100644 lib/librte_telemetry/rte_telemetry_parser.c\n create mode 100644 lib/librte_telemetry/rte_telemetry_parser.h\n create mode 100644 lib/librte_telemetry/rte_telemetry_parser_test.c\n create mode 100644 lib/librte_telemetry/rte_telemetry_parser_test.h\n create mode 100644 lib/librte_telemetry/rte_telemetry_socket_tests.h\n create mode 100644 lib/librte_telemetry/rte_telemetry_version.map\n create mode 100644 usertools/telemetry_client.py"
}