Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/43819/?format=api
http://patches.dpdk.org/api/patches/43819/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/1535026093-101872-10-git-send-email-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": "<1535026093-101872-10-git-send-email-ciara.power@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1535026093-101872-10-git-send-email-ciara.power@intel.com", "date": "2018-08-23T12:08:11", "name": "[09/11] doc: add telemetry documentation", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "09a208bac153a620fe848d51b9c12cf0aeea0fea", "submitter": { "id": 978, "url": "http://patches.dpdk.org/api/people/978/?format=api", "name": "Power, Ciara", "email": "ciara.power@intel.com" }, "delegate": { "id": 1, "url": "http://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/1535026093-101872-10-git-send-email-ciara.power@intel.com/mbox/", "series": [ { "id": 1038, "url": "http://patches.dpdk.org/api/series/1038/?format=api", "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/patches/43819/comments/", "check": "fail", "checks": "http://patches.dpdk.org/api/patches/43819/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 4BF2858FE;\n\tThu, 23 Aug 2018 14:08:45 +0200 (CEST)", "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n\tby dpdk.org (Postfix) with ESMTP id E04784CE4\n\tfor <dev@dpdk.org>; Thu, 23 Aug 2018 14:08:37 +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:37 -0700", "from silpixa00399503.ir.intel.com ([10.237.222.102])\n\tby fmsmga005.fm.intel.com with ESMTP; 23 Aug 2018 05:08:36 -0700" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.53,278,1531810800\"; d=\"scan'208\";a=\"256613884\"", "From": "Ciara Power <ciara.power@intel.com>", "To": "harry.van.haaren@intel.com, brian.archbold@intel.com,\n\temma.kenny@intel.com, ciara.power@intel.com", "Cc": "dev@dpdk.org", "Date": "Thu, 23 Aug 2018 13:08:11 +0100", "Message-Id": "<1535026093-101872-10-git-send-email-ciara.power@intel.com>", "X-Mailer": "git-send-email 2.7.4", "In-Reply-To": "<1535026093-101872-1-git-send-email-ciara.power@intel.com>", "References": "<1535026093-101872-1-git-send-email-ciara.power@intel.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH 09/11] doc: add telemetry documentation", "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "This patch adds all documentation for telemetry.\n\nA description on how to use the Telemetry API with a DPDK\napplication is given in this document.\n\nSigned-off-by: Ciara Power <ciara.power@intel.com>\nSigned-off-by: Brian Archbold <brian.archbold@intel.com>\n---\n doc/guides/howto/index.rst | 1 +\n doc/guides/howto/telemetry.rst | 86 ++++++++++++++++++++++++++++++++++++++++++\n 2 files changed, 87 insertions(+)\n create mode 100644 doc/guides/howto/telemetry.rst", "diff": "diff --git a/doc/guides/howto/index.rst b/doc/guides/howto/index.rst\nindex e13a090..a642a2b 100644\n--- a/doc/guides/howto/index.rst\n+++ b/doc/guides/howto/index.rst\n@@ -17,3 +17,4 @@ HowTo Guides\n virtio_user_for_container_networking\n virtio_user_as_exceptional_path\n packet_capture_framework\n+ telemetry\ndiff --git a/doc/guides/howto/telemetry.rst b/doc/guides/howto/telemetry.rst\nnew file mode 100644\nindex 0000000..0a2ae97\n--- /dev/null\n+++ b/doc/guides/howto/telemetry.rst\n@@ -0,0 +1,86 @@\n+.. SPDX-License-Identifier: BSD-3-Clause\n+ Copyright(c) 2018 Intel Corporation.\n+\n+DPDK Telemetry API User Guide\n+==============================\n+\n+This document describes how the Data Plane Development Kit(DPDK) Telemetry API\n+is used for querying port statistics from incoming traffic.\n+\n+Introduction\n+------------\n+\n+The ``librte_telemetry`` provides the functionality so that users may query\n+metrics from incoming port traffic. The application which initializes packet\n+forwarding will act as the server, sending metrics to the requesting application\n+which acts as the client.\n+\n+In DPDK, applications can be used to initialize the ``telemetry`` as a virtual\n+device. To view incoming traffic on featured ports, the application should be\n+run first (ie. after ports are configured). Once the application is running, the\n+service assurance agent(for example the collectd plugin) should be run to begin\n+querying the API.\n+\n+A client connects their Service Assurance application to the DPDK application\n+via a UNIX socket. Once a connection is established, a client can send JSON\n+messages to the DPDK application requesting metrics via another UNIX client.\n+This request is then handled and parsed if valid. The response is then\n+formatted in JSON and sent back to the requesting client.\n+\n+Pre-requisites\n+~~~~~~~~~~~~~~\n+\n+* Python ≥ 2.5\n+\n+* Jansson library for JSON serialization\n+\n+Test Environment\n+----------------\n+\n+``telemetry`` offers a range of selftests that a client can run within\n+the DPDK application. This is done by passing in an argument to the\n+virtual device initialization like so through the EAL command line.::\n+\n+ ./dpdk_app --vdev=telemetry,selftest=1\n+\n+\n+Configuration\n+-------------\n+\n+Enable the telemetry API by modifying the following config option before\n+building DPDK::\n+\n+ CONFIG_RTE_LIBRTE_TELEMETRY=y\n+\n+Note: Meson will pick this up automatically if ``libjansson`` is available.\n+\n+Running the Application\n+-----------------------\n+\n+The following steps demonstrate how to run the ``telemetry`` API to query all\n+statistics on all active ports, using the ``telemetry_client`` python script\n+to query.\n+Note: This guide assumes packet generation is applicable and the user is\n+testing with testpmd as a DPDK primary application to forward packets, although\n+any DPDK application is applicable.\n+\n+#. Launch testpmd as the primary application with the ``telemetry``\n+ virtual device.::\n+\n+ ./app/testpmd --vdev=telemetry\n+\n+#. Launch the ``telemetry`` python script with a client filepath.::\n+\n+ python usertools/telemetry_client.py /var/run/some_client\n+\n+ The client filepath is going to be used to setup our UNIX connect with the\n+ DPDK primary application, in this case ``testpmd``\n+ This will initialize a menu where a client can proceed to recursively query\n+ statistics, request statistics once or unregister the file_path, thus exiting\n+ the menu.\n+\n+#. Send traffic to any or all available ports from a traffic generator.\n+ Select a query option(recursive or singular polling).\n+ The metrics will then be displayed on the client terminal in JSON format.\n+\n+#. Once finished, unregister the client using the menu command.\n", "prefixes": [ "09/11" ] }{ "id": 43819, "url": "