From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: Ciara Power <ciara.power@intel.com>,
David Marchand <david.marchand@redhat.com>,
Anatoly Burakov <anatoly.burakov@intel.com>,
Kevin Traynor <ktraynor@redhat.com>,
Bruce Richardson <bruce.richardson@intel.com>
Subject: [dpdk-dev] [PATCH v8 3/4] usertools/dpdk-telemetry: connect to separate instances
Date: Tue, 12 Oct 2021 17:39:07 +0100 [thread overview]
Message-ID: <20211012163908.758767-4-bruce.richardson@intel.com> (raw)
In-Reply-To: <20211012163908.758767-1-bruce.richardson@intel.com>
For processes run using "in-memory" mode sharing the same runtime dir,
we add support for connecting to the separate instance sockets created
using ":1", ":2" etc. via new "-i" or "--instance" argument. Add details
on connecting to separate instances to the telemetry howto document.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Ciara Power <ciara.power@intel.com>
---
doc/guides/howto/telemetry.rst | 41 ++++++++++++++++++++++++++++++++++
usertools/dpdk-telemetry.py | 7 +++++-
2 files changed, 47 insertions(+), 1 deletion(-)
diff --git a/doc/guides/howto/telemetry.rst b/doc/guides/howto/telemetry.rst
index 8f4fa1a510..e4edb53fa4 100644
--- a/doc/guides/howto/telemetry.rst
+++ b/doc/guides/howto/telemetry.rst
@@ -87,3 +87,44 @@ and query information using the telemetry client python script.
--> /help,/ethdev/xstats
{"/help": {"/ethdev/xstats": "Returns the extended stats for a port.
Parameters: int port_id"}}
+
+
+Connecting to Different DPDK Processes
+--------------------------------------
+
+When multiple DPDK process instances are running on a system, the user will
+naturally wish to be able to select the instance to which the connection is
+being made. The method to select the instance depends on how the individual
+instances are run:
+
+* For DPDK processes run using a non-default file-prefix,
+ i.e. using the `--file-prefix` EAL option flag,
+ the file-prefix for the process should be passed via the `-f` or `--file-prefix` script flag.
+
+ For example, to connect to testpmd run as::
+
+ $ ./build/app/dpdk-testpmd -l 2,3 --file-prefix="tpmd"
+
+ One would use the telemetry script command::
+
+ $ ./usertools/dpdk-telemetry -f "tpmd"
+
+* For the case where multiple processes are run using the `--in-memory` EAL flag,
+ but no `-file-prefix` flag, or the same `-file-prefix` flag,
+ those processes will all share the same runtime directory.
+ In this case,
+ each process after the first will add an increasing count suffix to the telemetry socket name,
+ with each one taking the first available free socket name.
+ This suffix count can be passed to the telemetry script using the `-i` or `--instance` flag.
+
+ For example, if the following two applications are run in separate terminals::
+
+ $ ./build/app/dpdk-testpmd -l 2,3 --in-memory # will use socket "dpdk_telemetry.v2"
+
+ $ ./build/app/test/dpdk-test -l 4,5 --in-memory # will use "dpdk_telemetry.v2:1"
+
+ The following telemetry script commands would allow one to connect to each binary::
+
+ $ ./usertools/dpdk-telemetry.py # will connect to testpmd
+
+ $ ./usertools/dpdk-telemetry.py -i 1 # will connect to test binary
diff --git a/usertools/dpdk-telemetry.py b/usertools/dpdk-telemetry.py
index 2974a64732..ce27548c3e 100755
--- a/usertools/dpdk-telemetry.py
+++ b/usertools/dpdk-telemetry.py
@@ -112,6 +112,11 @@ def get_dpdk_runtime_dir(fp):
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--file-prefix', default='rte',
help='Provide file-prefix for DPDK runtime directory')
+parser.add_argument('-i', '--instance', default='0', type=int,
+ help='Provide file-prefix for DPDK runtime directory')
args = parser.parse_args()
rd = get_dpdk_runtime_dir(args.file_prefix)
-handle_socket(os.path.join(rd, 'dpdk_telemetry.{}'.format(TELEMETRY_VERSION)))
+sock_path = os.path.join(rd, 'dpdk_telemetry.{}'.format(TELEMETRY_VERSION))
+if args.instance > 0:
+ sock_path += ":{}".format(args.instance)
+handle_socket(sock_path)
--
2.30.2
next prev parent reply other threads:[~2021-10-12 16:39 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-15 14:10 [dpdk-dev] [PATCH] telemetry: fix "in-memory" process socket conflicts Bruce Richardson
2021-09-22 8:43 ` Power, Ciara
2021-09-24 16:18 ` [dpdk-dev] [PATCH v2] " Bruce Richardson
2021-09-29 8:50 ` Power, Ciara
2021-09-29 12:28 ` Kevin Traynor
2021-09-29 13:32 ` Bruce Richardson
2021-09-29 13:51 ` Bruce Richardson
2021-09-29 14:54 ` Kevin Traynor
2021-09-29 15:24 ` Bruce Richardson
2021-09-29 15:31 ` Bruce Richardson
2021-09-29 16:01 ` Kevin Traynor
2021-09-29 13:54 ` [dpdk-dev] [PATCH v3] " Bruce Richardson
2021-10-05 11:47 ` Ferruh Yigit
2021-10-01 11:15 ` [dpdk-dev] [PATCH v4 0/5] improve telemetry support with in-memory mode Bruce Richardson
2021-10-01 11:15 ` [dpdk-dev] [PATCH v4 1/5] eal: limit telemetry to primary processes Bruce Richardson
2021-10-01 11:15 ` [dpdk-dev] [PATCH v4 2/5] telemetry: fix deletion of active sockets Bruce Richardson
2021-10-01 11:15 ` [dpdk-dev] [PATCH v4 3/5] telemetry: use unique socket paths for in-memory mode Bruce Richardson
2021-10-01 11:15 ` [dpdk-dev] [PATCH v4 4/5] usertools/dpdk-telemetry: connect to in-memory processes Bruce Richardson
2021-10-01 11:15 ` [dpdk-dev] [PATCH v4 5/5] usertools/dpdk-telemetry: provide info on available sockets Bruce Richardson
2021-10-01 16:22 ` [dpdk-dev] [PATCH v5 0/5] improve telemetry support with in-memory mode Bruce Richardson
2021-10-01 16:22 ` [dpdk-dev] [PATCH v5 1/5] eal: limit telemetry to primary processes Bruce Richardson
2021-10-01 16:22 ` [dpdk-dev] [PATCH v5 2/5] telemetry: fix deletion of active sockets Bruce Richardson
2021-10-01 16:22 ` [dpdk-dev] [PATCH v5 3/5] telemetry: use unique socket paths for in-memory mode Bruce Richardson
2021-10-01 16:22 ` [dpdk-dev] [PATCH v5 4/5] usertools/dpdk-telemetry: connect to in-memory processes Bruce Richardson
2021-10-01 16:22 ` [dpdk-dev] [PATCH v5 5/5] usertools/dpdk-telemetry: provide info on available sockets Bruce Richardson
2021-10-05 13:59 ` [dpdk-dev] [PATCH v6 0/5] improve telemetry support with in-memory mode Bruce Richardson
2021-10-05 13:59 ` [dpdk-dev] [PATCH v6 1/5] eal: limit telemetry to primary processes Bruce Richardson
2021-10-07 13:11 ` Power, Ciara
2021-10-05 13:59 ` [dpdk-dev] [PATCH v6 2/5] telemetry: fix deletion of active sockets Bruce Richardson
2021-10-05 15:18 ` Conor Walsh
2021-10-05 13:59 ` [dpdk-dev] [PATCH v6 3/5] telemetry: use unique socket paths for in-memory mode Bruce Richardson
2021-10-05 14:41 ` Kevin Traynor
2021-10-05 14:52 ` Bruce Richardson
2021-10-05 15:14 ` Kevin Traynor
2021-10-07 13:39 ` Power, Ciara
2021-10-05 15:19 ` Conor Walsh
2021-10-05 13:59 ` [dpdk-dev] [PATCH v6 4/5] usertools/dpdk-telemetry: connect to in-memory processes Bruce Richardson
2021-10-05 15:19 ` Conor Walsh
2021-10-05 13:59 ` [dpdk-dev] [PATCH v6 5/5] usertools/dpdk-telemetry: provide info on available sockets Bruce Richardson
2021-10-05 15:19 ` Conor Walsh
2021-10-08 17:18 ` [dpdk-dev] [PATCH v7 0/5] improve telemetry support with in-memory mode Bruce Richardson
2021-10-08 17:18 ` [dpdk-dev] [PATCH v7 1/5] eal: limit telemetry to primary processes Bruce Richardson
2021-10-08 17:18 ` [dpdk-dev] [PATCH v7 2/5] telemetry: fix deletion of active sockets Bruce Richardson
2021-10-08 17:18 ` [dpdk-dev] [PATCH v7 3/5] telemetry: use unique socket paths for in-memory mode Bruce Richardson
2021-10-12 15:37 ` Power, Ciara
2021-10-12 15:40 ` Bruce Richardson
2021-10-12 15:47 ` Power, Ciara
2021-10-08 17:18 ` [dpdk-dev] [PATCH v7 4/5] usertools/dpdk-telemetry: connect to separate instances Bruce Richardson
2021-10-12 15:37 ` Power, Ciara
2021-10-08 17:18 ` [dpdk-dev] [PATCH v7 5/5] usertools/dpdk-telemetry: provide info on available sockets Bruce Richardson
2021-10-12 15:37 ` Power, Ciara
2021-10-12 16:39 ` [dpdk-dev] [PATCH v8 0/4] improve telemetry support with in-memory mode Bruce Richardson
2021-10-12 16:39 ` [dpdk-dev] [PATCH v8 1/4] eal: limit telemetry to primary processes Bruce Richardson
2021-10-13 13:15 ` Walsh, Conor
2021-10-12 16:39 ` [dpdk-dev] [PATCH v8 2/4] telemetry: fix socket path conflicts for in-memory mode Bruce Richardson
2021-10-13 13:15 ` Walsh, Conor
2021-10-14 9:40 ` Kevin Traynor
2021-10-12 16:39 ` Bruce Richardson [this message]
2021-10-13 13:15 ` [dpdk-dev] [PATCH v8 3/4] usertools/dpdk-telemetry: connect to separate instances Walsh, Conor
2021-10-12 16:39 ` [dpdk-dev] [PATCH v8 4/4] usertools/dpdk-telemetry: provide info on available sockets Bruce Richardson
2021-10-13 13:15 ` Walsh, Conor
2021-10-14 10:49 ` [dpdk-dev] [PATCH v9 0/4] improve telemetry support with in-memory mode Bruce Richardson
2021-10-14 10:49 ` [dpdk-dev] [PATCH v9 1/4] eal: limit telemetry to primary processes Bruce Richardson
2021-10-14 10:49 ` [dpdk-dev] [PATCH v9 2/4] telemetry: fix socket path conflicts for in-memory mode Bruce Richardson
2021-10-14 10:49 ` [dpdk-dev] [PATCH v9 3/4] usertools/dpdk-telemetry: connect to separate instances Bruce Richardson
2021-10-14 10:49 ` [dpdk-dev] [PATCH v9 4/4] usertools/dpdk-telemetry: provide info on available sockets Bruce Richardson
2021-10-14 19:00 ` [dpdk-dev] [PATCH v9 0/4] improve telemetry support with in-memory mode David Marchand
2021-10-15 8:18 ` Bruce Richardson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211012163908.758767-4-bruce.richardson@intel.com \
--to=bruce.richardson@intel.com \
--cc=anatoly.burakov@intel.com \
--cc=ciara.power@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=ktraynor@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).