Message ID | 20210215155051.8659-1-kevin.laatz@intel.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Thomas Monjalon |
Headers | show |
Series | usertools/dpdk-telemetry: add file-prefix cmdline argument | expand |
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/github-robot | success | github build: passed |
ci/travis-robot | fail | travis build: failed |
ci/iol-testing | success | Testing PASS |
ci/iol-abi-testing | success | Testing PASS |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/iol-broadcom-Performance | success | Performance Testing PASS |
ci/iol-broadcom-Functional | success | Functional Testing PASS |
ci/intel-Testing | success | Testing PASS |
ci/Intel-compilation | success | Compilation OK |
On Mon, Feb 15, 2021 at 03:50:51PM +0000, Kevin Laatz wrote: > Currently the dpdk-telemetry.py script connects to all running DPDK apps > consecutively. With the addition of this file-prefix argument, we can limit > the amount of information returned providing improved consumability and > precision to the user. > > Signed-off-by: Kevin Laatz <kevin.laatz@intel.com> Couple of comments below. With those fixed, please add my reviewed and tested-by tags. This is a handy change when working with multiple DPDK processes simultaneously - in my case I tested with OVS and a testpmd instance using virtio-user connected to it. Reviewed-by: Bruce Richardson <bruce.richardson@intel.com> Tested-by: Bruce Richardson <bruce.richardson@intel.com> > --- > usertools/dpdk-telemetry.py | 21 ++++++++++++++------- > 1 file changed, 14 insertions(+), 7 deletions(-) > > diff --git a/usertools/dpdk-telemetry.py b/usertools/dpdk-telemetry.py > index 181859658f..8cafcf74a6 100755 > --- a/usertools/dpdk-telemetry.py > +++ b/usertools/dpdk-telemetry.py > @@ -12,6 +12,7 @@ > import glob > import json > import readline > +import argparse > > # global vars > TELEMETRY_VERSION = "v2" > @@ -70,14 +71,20 @@ def readline_complete(text, state): > return matches[state] > > > +def get_dpdk_runtime_dir(fp): > + """ Get the DPDK runtime directory based on the file-prefix and user """ Add to this comment that the logic here matches that in EAL in DPDK itself. > + if (os.getuid() == 0): > + return "/var/run/dpdk/{}".format(fp) > + return "{}/dpdk/{}".format(os.environ.get('XDG_RUNTIME_DIR', '/tmp'), fp) > + > + > readline.parse_and_bind('tab: complete') > readline.set_completer(readline_complete) > readline.set_completer_delims(readline.get_completer_delims().replace('/', '')) > > -# Path to sockets for processes run as a root user > -for f in glob.glob('/var/run/dpdk/*/dpdk_telemetry.%s' % TELEMETRY_VERSION): > - handle_socket(f) > -# Path to sockets for processes run as a regular user > -for f in glob.glob('%s/dpdk/*/dpdk_telemetry.%s' % > - (os.environ.get('XDG_RUNTIME_DIR', '/tmp'), TELEMETRY_VERSION)): > - handle_socket(f) > +parser = argparse.ArgumentParser() > +parser.add_argument("-f", "--file_prefix", \ I think "file-prefix" with "-" rather than "_", again to match DPDK itself. > + help="Provide file_prefix for DPDK runtime directory", default="rte") > +args = parser.parse_args() > +rdir = get_dpdk_runtime_dir(args.file_prefix) > +handle_socket("{}/dpdk_telemetry.{}".format(rdir, TELEMETRY_VERSION)) > -- > 2.25.1 >
On 15/02/2021 16:08, Bruce Richardson wrote: > On Mon, Feb 15, 2021 at 03:50:51PM +0000, Kevin Laatz wrote: >> Currently the dpdk-telemetry.py script connects to all running DPDK apps >> consecutively. With the addition of this file-prefix argument, we can limit >> the amount of information returned providing improved consumability and >> precision to the user. >> >> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com> > Couple of comments below. With those fixed, please add my reviewed and > tested-by tags. This is a handy change when working with multiple DPDK > processes simultaneously - in my case I tested with OVS and a testpmd > instance using virtio-user connected to it. > > Reviewed-by: Bruce Richardson <bruce.richardson@intel.com> > Tested-by: Bruce Richardson <bruce.richardson@intel.com> Thanks for reviewing and testing, Bruce. Will make those changes for v2. /Kevin
On 15-Feb-21 3:50 PM, Kevin Laatz wrote: > Currently the dpdk-telemetry.py script connects to all running DPDK apps > consecutively. With the addition of this file-prefix argument, we can limit > the amount of information returned providing improved consumability and > precision to the user. > > Signed-off-by: Kevin Laatz <kevin.laatz@intel.com> > --- > usertools/dpdk-telemetry.py | 21 ++++++++++++++------- > 1 file changed, 14 insertions(+), 7 deletions(-) > > diff --git a/usertools/dpdk-telemetry.py b/usertools/dpdk-telemetry.py > index 181859658f..8cafcf74a6 100755 > --- a/usertools/dpdk-telemetry.py > +++ b/usertools/dpdk-telemetry.py > @@ -12,6 +12,7 @@ > import glob > import json > import readline > +import argparse > > # global vars > TELEMETRY_VERSION = "v2" > @@ -70,14 +71,20 @@ def readline_complete(text, state): > return matches[state] > > > +def get_dpdk_runtime_dir(fp): > + """ Get the DPDK runtime directory based on the file-prefix and user """ > + if (os.getuid() == 0): > + return "/var/run/dpdk/{}".format(fp) > + return "{}/dpdk/{}".format(os.environ.get('XDG_RUNTIME_DIR', '/tmp'), fp) You *really* don't like os.path.join, do you :D For the code, this is what EAL does too, so looks fine to me. Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> > + > + > readline.parse_and_bind('tab: complete') > readline.set_completer(readline_complete) > readline.set_completer_delims(readline.get_completer_delims().replace('/', '')) > > -# Path to sockets for processes run as a root user > -for f in glob.glob('/var/run/dpdk/*/dpdk_telemetry.%s' % TELEMETRY_VERSION): > - handle_socket(f) > -# Path to sockets for processes run as a regular user > -for f in glob.glob('%s/dpdk/*/dpdk_telemetry.%s' % > - (os.environ.get('XDG_RUNTIME_DIR', '/tmp'), TELEMETRY_VERSION)): > - handle_socket(f) > +parser = argparse.ArgumentParser() > +parser.add_argument("-f", "--file_prefix", \ > + help="Provide file_prefix for DPDK runtime directory", default="rte") > +args = parser.parse_args() > +rdir = get_dpdk_runtime_dir(args.file_prefix) > +handle_socket("{}/dpdk_telemetry.{}".format(rdir, TELEMETRY_VERSION)) > Again with the raw path concatenation...
diff --git a/usertools/dpdk-telemetry.py b/usertools/dpdk-telemetry.py index 181859658f..8cafcf74a6 100755 --- a/usertools/dpdk-telemetry.py +++ b/usertools/dpdk-telemetry.py @@ -12,6 +12,7 @@ import glob import json import readline +import argparse # global vars TELEMETRY_VERSION = "v2" @@ -70,14 +71,20 @@ def readline_complete(text, state): return matches[state] +def get_dpdk_runtime_dir(fp): + """ Get the DPDK runtime directory based on the file-prefix and user """ + if (os.getuid() == 0): + return "/var/run/dpdk/{}".format(fp) + return "{}/dpdk/{}".format(os.environ.get('XDG_RUNTIME_DIR', '/tmp'), fp) + + readline.parse_and_bind('tab: complete') readline.set_completer(readline_complete) readline.set_completer_delims(readline.get_completer_delims().replace('/', '')) -# Path to sockets for processes run as a root user -for f in glob.glob('/var/run/dpdk/*/dpdk_telemetry.%s' % TELEMETRY_VERSION): - handle_socket(f) -# Path to sockets for processes run as a regular user -for f in glob.glob('%s/dpdk/*/dpdk_telemetry.%s' % - (os.environ.get('XDG_RUNTIME_DIR', '/tmp'), TELEMETRY_VERSION)): - handle_socket(f) +parser = argparse.ArgumentParser() +parser.add_argument("-f", "--file_prefix", \ + help="Provide file_prefix for DPDK runtime directory", default="rte") +args = parser.parse_args() +rdir = get_dpdk_runtime_dir(args.file_prefix) +handle_socket("{}/dpdk_telemetry.{}".format(rdir, TELEMETRY_VERSION))
Currently the dpdk-telemetry.py script connects to all running DPDK apps consecutively. With the addition of this file-prefix argument, we can limit the amount of information returned providing improved consumability and precision to the user. Signed-off-by: Kevin Laatz <kevin.laatz@intel.com> --- usertools/dpdk-telemetry.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-)