usertools: add file-prefix option for telemetry
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> Reviewed-by: Bruce Richardson <bruce.richardson@intel.com> Tested-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
This commit is contained in:
parent
21af783a30
commit
2d9a697e41
@ -12,6 +12,7 @@
|
||||
import glob
|
||||
import json
|
||||
import readline
|
||||
import argparse
|
||||
|
||||
# global vars
|
||||
TELEMETRY_VERSION = "v2"
|
||||
@ -70,14 +71,21 @@ def readline_complete(text, state):
|
||||
return matches[state]
|
||||
|
||||
|
||||
def get_dpdk_runtime_dir(fp):
|
||||
""" Using the same logic as in DPDK's EAL, get the DPDK runtime directory
|
||||
based on the file-prefix and user """
|
||||
if (os.getuid() == 0):
|
||||
return os.path.join('/var/run/dpdk', fp)
|
||||
return os.path.join(os.environ.get('XDG_RUNTIME_DIR', '/tmp'), 'dpdk', 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(os.path.join(rdir, 'dpdk_telemetry.{}'.format(TELEMETRY_VERSION)))
|
||||
|
Loading…
Reference in New Issue
Block a user