On Fri, Jul 17, 2026 at 11:16:03AM +0200, Thomas Monjalon wrote:
> The default path of the telemetry alias file
> was at the top level of the home directory.
> 
> Load aliases from the DPDK configuration directory instead,
> using $XDG_CONFIG_HOME/dpdk/telemetry_aliases
> or $HOME/.config/dpdk/telemetry_aliases.
> 
> Keep --alias-file for users who want to provide an explicit path.
> 
> Fixes: 410d498412e4 ("usertools/telemetry: support aliases for long commands")
> 
> Signed-off-by: Thomas Monjalon <[email protected]>

Tested without moving my existing alias file - no aliases loaded. Then
tested after moving to .config/dpdk/ and it worked fine.

Doc changes LGTM too.

Tested-by: Bruce Richardson <[email protected]>
Acked-by: Bruce Richardson <[email protected]>


> ---
>  doc/guides/howto/telemetry.rst |  6 ++++--
>  usertools/dpdk-telemetry.py    | 23 +++++++++++++++++------
>  2 files changed, 21 insertions(+), 8 deletions(-)
> 
> diff --git a/doc/guides/howto/telemetry.rst b/doc/guides/howto/telemetry.rst
> index b3f25c1113..fdaede1987 100644
> --- a/doc/guides/howto/telemetry.rst
> +++ b/doc/guides/howto/telemetry.rst
> @@ -154,9 +154,11 @@ and query information using the telemetry client python 
> script.
>  
>       The telemetry script can load aliases at startup from::
>  
> -        $HOME/.dpdk_telemetry_aliases
> +        $XDG_CONFIG_HOME/dpdk/telemetry_aliases
> +
> +     If ``XDG_CONFIG_HOME`` is not set, 
> ``$HOME/.config/dpdk/telemetry_aliases`` is used.
> +     A custom path can also be provided via the ``--alias-file`` script flag.
>  
> -     or from a custom path provided via the ``--alias-file`` script flag.
>       Each alias entry must be in ``alias=command`` format.
>       Empty lines and lines starting with ``#`` are ignored.
>  
> diff --git a/usertools/dpdk-telemetry.py b/usertools/dpdk-telemetry.py
> index 20627b596b..e575f269cb 100755
> --- a/usertools/dpdk-telemetry.py
> +++ b/usertools/dpdk-telemetry.py
> @@ -22,7 +22,7 @@
>  DEFAULT_PREFIX = "rte"
>  CMDS = []
>  ALIASES = {}
> -ALIAS_FILE = ".dpdk_telemetry_aliases"
> +ALIAS_FILE = "telemetry_aliases"
>  MAX_ALIAS_EXPANSIONS = 32
>  
>  BASIC_HELP_TEXT = """Basic usage:
> @@ -46,19 +46,30 @@
>  """
>  
>  
> +def get_default_alias_path():
> +    config_home = os.environ.get("XDG_CONFIG_HOME")
> +    if config_home:
> +        return os.path.join(config_home, "dpdk", ALIAS_FILE)
> +
> +    home = os.environ.get("HOME")
> +    if not home:
> +        return None
> +
> +    return os.path.join(home, ".config", "dpdk", ALIAS_FILE)
> +
> +
>  def load_aliases(alias_path=None):
> -    """Load aliases from $HOME/.dpdk_telemetry_aliases or a custom path if 
> provided"""
> +    """Load aliases from the config directory or a custom path if provided"""
>      aliases = {}
>      if alias_path and not os.path.isfile(alias_path):
>          print("Warning: alias file {} not found, 
> skipping".format(alias_path), file=sys.stderr)
>          return aliases
>  
>      if not alias_path:
> -        home = os.environ.get("HOME")
> -        if not home:
> +        alias_path = get_default_alias_path()
> +        if not alias_path:
>              return aliases
>  
> -        alias_path = os.path.join(home, ALIAS_FILE)
>          if not os.path.isfile(alias_path):
>              return aliases
>  
> @@ -434,7 +445,7 @@ def readline_complete(text, state):
>  )
>  parser.add_argument(
>      "--alias-file",
> -    help=f"Provide a custom alias file instead of $HOME/{ALIAS_FILE}",
> +    help="Provide a custom alias file instead of the default config path",
>  )
>  parser.add_argument(
>      "-i", "--instance", default="0", type=int, help="Provide instance number 
> for DPDK application"
> -- 
> 2.54.0
> 

Reply via email to