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.la...@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.richard...@intel.com> Tested-by: Bruce Richardson <bruce.richard...@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 >