.. _ldmsd_communicator: ========================= ldmsd_communicator Module ========================= -------------------------------------------------------------- A python program to communicator via Python with a LDMS daemon -------------------------------------------------------------- :Date: 2/24/2026 :Manual section: 8 :Manual group: LDMSD SYNOPSIS ======== This module provides a high-level client interface for communicating with an ``ldmsd`` daemon. Communicator ============ Implements an interface between a client and an instance of an ``ldmsd`` daemon. __init__(xprt, host, port, auth=None, auth_opt=None, recv_timeout=5) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Create a communicator interface to an LDMS Daemon. :Parameters: **xprt** (str) Transport name (e.g., ``"sock"``, ``"rdma"``, etc.). **host** (str) Daemon hostname to connect to. **port** (int) Daemon port number. **auth** (str, optional) Name of authentication plugin. **auth_opt** (dict, optional) Options for the authentication plugin. **recv_timeout** (int) Timeout for receiving a response (microseconds). connect(timeout=None) ^^^^^^^^^^^^^^^^^^^^^ Connect to the configured daemon. :Parameters: **timeout** (int, optional) Maximum time (microseconds) to wait for connect. :Returns: Tuple ``(status, message)`` indicating success or error. reconnect(timeout=None) ^^^^^^^^^^^^^^^^^^^^^^^ Reconnect by closing and reinitializing the transport. :Parameters: **timeout** (int, optional) Maximum time (microseconds) to wait for reconnect. :Returns: Tuple ``(status, message)``. getState() ^^^^^^^^^^ Return the communicator’s current connection state. :Returns: Status code int. getMaxRecvLen() ^^^^^^^^^^^^^^^ Return the maximum supported receive buffer length. :Returns: Integer length. getHost() ^^^^^^^^^ Return the configured host name. :Returns: Hostname (str). getPort() ^^^^^^^^^ Return the configured port number. :Returns: Port (int). send_command(cmd) ^^^^^^^^^^^^^^^^^ Send a raw LDMSD request to the daemon. :Parameters: **cmd** An ``LDMSD_Request`` object representing the request. :Returns: Tuple ``(status, message)``. receive_response() ^^^^^^^^^^^^^^^^^^ Receive and parse a response from the daemon. :Returns: Tuple ``(status, response_data)``. greeting(name=None) ^^^^^^^^^^^^^^^^^^^ Send a greeting request. :Parameters: **name** (str, optional) Name to identify the client. :Returns: Tuple ``(status, greeting_info)``. dump_cfg(path) ^^^^^^^^^^^^^^ Request the daemon to write its configuration to a file. :Parameters: **path** (str) Path on the remote host where config is to be dumped. :Returns: Tuple ``(status, result_message)``. auth_add(name, plugin, auth_opt=None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Add an authentication domain. :Parameters: **name** (str) Authentication domain name. **plugin** (str) Plugin implementing authentication. **auth_opt** (dict, optional) Plugin options. :Returns: Tuple ``(status, message)``. daemon_exit() ^^^^^^^^^^^^^ Tell the daemon to cleanly exit. :Returns: Tuple ``(status, message)``. failover_config(primary=None, secondary=None, timeout=None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Configure failover endpoints. :Parameters: **primary** (str, optional) Primary daemon endpoint. **secondary** (str, optional) Secondary daemon endpoint. **timeout** (int, optional) Timeout for failover coordination. :Returns: Tuple ``(status, message)``. failover_start() ^^^^^^^^^^^^^^^^ Begin failover. :Returns: Tuple ``(status, message)``. failover_stop() ^^^^^^^^^^^^^^^ Stop failover. :Returns: Tuple ``(status, message)``. failover_status() ^^^^^^^^^^^^^^^^^ Get current failover status. :Returns: Tuple ``(status, status_info)``. failover_peercfg_start() ^^^^^^^^^^^^^^^^^^^^^^^^ Start peer configuration replication. :Returns: Tuple ``(status, message)``. failover_peercfg_stop() ^^^^^^^^^^^^^^^^^^^^^^^ Stop peer configuration replication. :Returns: Tuple ``(status, message)``. setgroup_add(setgroup, setlist, expire=None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Add a new set group. :Parameters: **setgroup** (str) Name of the set group. **setlist** (list) List of set names to include. **expire** (int, optional) Expiration time of the group. :Returns: Tuple ``(status, message)``. setgroup_mod(setgroup, add=None, rm=None, expire=None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Modify an existing set group. :Parameters: **setgroup** (str) Group name. **add** (list, optional) Sets to add. **rm** (list, optional) Sets to remove. **expire** (int, optional) New expiration. :Returns: Tuple ``(status, message)``. setgroup_del(setgroup) ^^^^^^^^^^^^^^^^^^^^^^ Delete a set group. :Parameters: **setgroup** (str) Group to delete. :Returns: Tuple ``(status, message)``. setgroup_ins(setgroup, setname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Insert a set into a group. :Parameters: **setgroup** (str) Group name. **setname** (str) Set to insert. :Returns: Tuple ``(status, message)``. setgroup_rm(setgroup, setname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Remove a set from a group. :Parameters: **setgroup** (str) Group name. **setname** (str) Set to remove. :Returns: Tuple ``(status, message)``. stream_client_dump() ^^^^^^^^^^^^^^^^^^^^ Retrieve stream client information. :Returns: Tuple ``(status, dump_data)``. stream_status(reset=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^ Get current stream status. :Parameters: **reset** (bool) Whether to reset statistics. :Returns: Tuple ``(status, status_data)``. stream_disable(name=None) ^^^^^^^^^^^^^^^^^^^^^^^^^ Disable a stream. :Parameters: **name** (str, optional) Name of stream to disable. :Returns: Tuple ``(status, message)``. stream_enable(name=None) ^^^^^^^^^^^^^^^^^^^^^^^^ Enable a stream. :Parameters: **name** (str, optional) Name of stream to enable. :Returns: Tuple ``(status, message)``. msg_stats(regex=None, stream=None, reset=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Gather message stats. :Parameters: **regex** (str) Regex filter for messages. **stream** (str) Stream name to filter. **reset** (bool) Reset stats if True. :Returns: Tuple ``(status, stats_data)``. msg_client_stats(reset=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Retrieve client message stats. :Parameters: **reset** (bool) Whether to reset statistics. :Returns: Tuple ``(status, data)``. msg_disable() ^^^^^^^^^^^^^ Disable messaging subsystem. :Returns: Tuple ``(status, message)``. msg_enable() ^^^^^^^^^^^^ Enable messaging subsystem. :Returns: Tuple ``(status, message)``. listen(xprt, port, host=None, auth=None, quota=None, rx_limit=None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Open a transport listener endpoint. :Parameters: **xprt** (str) Transport type. **port** (int) Port to listen on. **host** (str, optional) Interface to bind. **auth** (str, optional) Auth plugin for incoming connections. **quota** (int, optional) Connection quota. **rx_limit** (int, optional) Receive rate limit. :Returns: Tuple ``(status, listener_info)``. metric_sets_default_authz(uid=None, gid=None, perm=None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set default authorization for metric sets. :Parameters: **uid** (int, optional) Default user ID. **gid** (int, optional) Default group ID. **perm** (str, optional) Permissions (e.g., ``"rw"``). :Returns: Tuple ``(status, info)``. dir_list() ^^^^^^^^^^ Retrieve a directory listing from the daemon. :Returns: Tuple ``(status, listing)``. store_time_stats(name=None, reset=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Retrieve or reset store timing statistics. :Parameters: **name** (str, optional) Store name to filter. **reset** (bool) Reset stats if True. :Returns: Tuple ``(status, stats)``. plugn_load(name, plugin) ^^^^^^^^^^^^^^^^^^^^^^^^ Load a plugin into the daemon. :Parameters: **name** (str) Plugin instance name. **plugin** (str) Plugin file or identifier. :Returns: Tuple ``(status, message)``. plugn_term(name) ^^^^^^^^^^^^^^^^ Terminate a plugin. :Parameters: **name** (str) Plugin instance name. :Returns: Tuple ``(status, message)``. plugn_config(name, cfg_str) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Configure a running plugin. :Parameters: **name** (str) Plugin name. **cfg_str** (str) Configuration options string. :Returns: Tuple ``(status, message)``. plugn_stop(name) ^^^^^^^^^^^^^^^^ Stop a plugin. :Parameters: **name** (str) Plugin name. :Returns: Tuple ``(status, message)``. plugn_status(name) ^^^^^^^^^^^^^^^^^^ Get plugin status. :Parameters: **name** (str) Plugin name. :Returns: Tuple ``(status, status_data)``. plugn_sets(name) ^^^^^^^^^^^^^^^^ List sets associated with a plugin. :Parameters: **name** (str) Plugin name. :Returns: Tuple ``(status, set_list)``.