Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/101247/?format=api
http://patches.dpdk.org/api/patches/101247/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20211012163908.758767-4-bruce.richardson@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": "<20211012163908.758767-4-bruce.richardson@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20211012163908.758767-4-bruce.richardson@intel.com", "date": "2021-10-12T16:39:07", "name": "[v8,3/4] usertools/dpdk-telemetry: connect to separate instances", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "f7d6743e19e3144a94030218e7e854f56dfeb6f9", "submitter": { "id": 20, "url": "http://patches.dpdk.org/api/people/20/?format=api", "name": "Bruce Richardson", "email": "bruce.richardson@intel.com" }, "delegate": { "id": 24651, "url": "http://patches.dpdk.org/api/users/24651/?format=api", "username": "dmarchand", "first_name": "David", "last_name": "Marchand", "email": "david.marchand@redhat.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20211012163908.758767-4-bruce.richardson@intel.com/mbox/", "series": [ { "id": 19565, "url": "http://patches.dpdk.org/api/series/19565/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=19565", "date": "2021-10-12T16:39:04", "name": "improve telemetry support with in-memory mode", "version": 8, "mbox": "http://patches.dpdk.org/series/19565/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/101247/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/101247/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 095E0A0C47;\n\tTue, 12 Oct 2021 18:39:38 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 20A3F4115B;\n\tTue, 12 Oct 2021 18:39:25 +0200 (CEST)", "from mga17.intel.com (mga17.intel.com [192.55.52.151])\n by mails.dpdk.org (Postfix) with ESMTP id F369B41135\n for <dev@dpdk.org>; Tue, 12 Oct 2021 18:39:22 +0200 (CEST)", "from orsmga005.jf.intel.com ([10.7.209.41])\n by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 12 Oct 2021 09:39:22 -0700", "from silpixa00399126.ir.intel.com ([10.237.223.151])\n by orsmga005.jf.intel.com with ESMTP; 12 Oct 2021 09:39:21 -0700" ], "X-IronPort-AV": [ "E=McAfee;i=\"6200,9189,10135\"; a=\"208005962\"", "E=Sophos;i=\"5.85,368,1624345200\"; d=\"scan'208\";a=\"208005962\"", "E=Sophos;i=\"5.85,368,1624345200\"; d=\"scan'208\";a=\"659173725\"" ], "X-ExtLoop1": "1", "From": "Bruce Richardson <bruce.richardson@intel.com>", "To": "dev@dpdk.org", "Cc": "Ciara Power <ciara.power@intel.com>,\n David Marchand <david.marchand@redhat.com>,\n Anatoly Burakov <anatoly.burakov@intel.com>,\n Kevin Traynor <ktraynor@redhat.com>,\n Bruce Richardson <bruce.richardson@intel.com>", "Date": "Tue, 12 Oct 2021 17:39:07 +0100", "Message-Id": "<20211012163908.758767-4-bruce.richardson@intel.com>", "X-Mailer": "git-send-email 2.30.2", "In-Reply-To": "<20211012163908.758767-1-bruce.richardson@intel.com>", "References": "<20210915141030.23514-1-bruce.richardson@intel.com>\n <20211012163908.758767-1-bruce.richardson@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH v8 3/4] usertools/dpdk-telemetry: connect to\n separate instances", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "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": "For processes run using \"in-memory\" mode sharing the same runtime dir,\nwe add support for connecting to the separate instance sockets created\nusing \":1\", \":2\" etc. via new \"-i\" or \"--instance\" argument. Add details\non connecting to separate instances to the telemetry howto document.\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\nAcked-by: Ciara Power <ciara.power@intel.com>\n---\n doc/guides/howto/telemetry.rst | 41 ++++++++++++++++++++++++++++++++++\n usertools/dpdk-telemetry.py | 7 +++++-\n 2 files changed, 47 insertions(+), 1 deletion(-)", "diff": "diff --git a/doc/guides/howto/telemetry.rst b/doc/guides/howto/telemetry.rst\nindex 8f4fa1a510..e4edb53fa4 100644\n--- a/doc/guides/howto/telemetry.rst\n+++ b/doc/guides/howto/telemetry.rst\n@@ -87,3 +87,44 @@ and query information using the telemetry client python script.\n --> /help,/ethdev/xstats\n {\"/help\": {\"/ethdev/xstats\": \"Returns the extended stats for a port.\n Parameters: int port_id\"}}\n+\n+\n+Connecting to Different DPDK Processes\n+--------------------------------------\n+\n+When multiple DPDK process instances are running on a system, the user will\n+naturally wish to be able to select the instance to which the connection is\n+being made. The method to select the instance depends on how the individual\n+instances are run:\n+\n+* For DPDK processes run using a non-default file-prefix,\n+ i.e. using the `--file-prefix` EAL option flag,\n+ the file-prefix for the process should be passed via the `-f` or `--file-prefix` script flag.\n+\n+ For example, to connect to testpmd run as::\n+\n+ $ ./build/app/dpdk-testpmd -l 2,3 --file-prefix=\"tpmd\"\n+\n+ One would use the telemetry script command::\n+\n+ $ ./usertools/dpdk-telemetry -f \"tpmd\"\n+\n+* For the case where multiple processes are run using the `--in-memory` EAL flag,\n+ but no `-file-prefix` flag, or the same `-file-prefix` flag,\n+ those processes will all share the same runtime directory.\n+ In this case,\n+ each process after the first will add an increasing count suffix to the telemetry socket name,\n+ with each one taking the first available free socket name.\n+ This suffix count can be passed to the telemetry script using the `-i` or `--instance` flag.\n+\n+ For example, if the following two applications are run in separate terminals::\n+\n+ $ ./build/app/dpdk-testpmd -l 2,3 --in-memory # will use socket \"dpdk_telemetry.v2\"\n+\n+ $ ./build/app/test/dpdk-test -l 4,5 --in-memory # will use \"dpdk_telemetry.v2:1\"\n+\n+ The following telemetry script commands would allow one to connect to each binary::\n+\n+ $ ./usertools/dpdk-telemetry.py # will connect to testpmd\n+\n+ $ ./usertools/dpdk-telemetry.py -i 1 # will connect to test binary\ndiff --git a/usertools/dpdk-telemetry.py b/usertools/dpdk-telemetry.py\nindex 2974a64732..ce27548c3e 100755\n--- a/usertools/dpdk-telemetry.py\n+++ b/usertools/dpdk-telemetry.py\n@@ -112,6 +112,11 @@ def get_dpdk_runtime_dir(fp):\n parser = argparse.ArgumentParser()\n parser.add_argument('-f', '--file-prefix', default='rte',\n help='Provide file-prefix for DPDK runtime directory')\n+parser.add_argument('-i', '--instance', default='0', type=int,\n+ help='Provide file-prefix for DPDK runtime directory')\n args = parser.parse_args()\n rd = get_dpdk_runtime_dir(args.file_prefix)\n-handle_socket(os.path.join(rd, 'dpdk_telemetry.{}'.format(TELEMETRY_VERSION)))\n+sock_path = os.path.join(rd, 'dpdk_telemetry.{}'.format(TELEMETRY_VERSION))\n+if args.instance > 0:\n+ sock_path += \":{}\".format(args.instance)\n+handle_socket(sock_path)\n", "prefixes": [ "v8", "3/4" ] }{ "id": 101247, "url": "