Introspect

See also

Introspection
Specification of the introspection protocol

Synopsis

rsb introspect [OPTIONS] URI*

Description

Display introspection information for hosts, processes and participants reachable via the transports designated by URIs (zero or more URIs).

When no URIs are supplied, the default transport configuration is used.

The usual commandline options and environment variables are accepted. Specialized commandline options:

--style SPEC, -s SPEC

Specify a processing style for introspection data and or events. SPEC has to be of the form:

KIND KEY1 VALUE1 KEY2 VALUE2 ...

where keys and values are optional and depend on KIND. Examples (note that the single quotes have to be included only when within a shell):

--style object-tree
-s monitor
-s 'object-tree :delay 5'

Tip

Use the common --help-for styles or common --help-for all options to display the full help text for this item.

--response-timeout SECONDS

Time in seconds to wait for responses to introspection requests.

In most systems, all replies should arrive within a few milliseconds. However, circumstances like heavily loaded system, degraded system performance or extreme communication latency may required larger values.

The output contains descriptions of

  • Participants including
  • Operating system processes including
    • Program names
    • Commandline options
    • Start time
  • Hosts
    • Hostname
    • Estimated clock offset (relative to local host)
    • Estimated communication latency (relative to local host)

See also

URIs
For details regarding the URI syntax of URI for specifying transport and scope.
Common Commandline Options
The usual commandline options are accepted.

Examples

  • $ rsb introspect
    

    In the above example, the introspect command is used to introspect all participants that can be contacted the currently configured transports.

    For example, the output could look like this:

    fuchsit           UP      ( 10 s )
    │ Clock offset   < 1 ms │ Machine type    x86               │ Software type    linux
    │ Latency        < 1 ms │ Machine version …T9600  @ 2.80GHz │ Software version 3.16.0-4-686-pae
    └─016883          RUNNING ( 10 s ) logger --on-error continue -f and --style monitor/timeline socket:?server=1
      │ Uptime       9 d    │ User        jmoringe
      │ Latency   < 1 ms    │ RSB Version 0.11.0
      │ Transports socket://localhost:55555/
      └─61582DC3      ACTIVE           LISTENER<T>            /
    

    This output should be interpreted as follows:

    • RSB processes have been detected on one host with hostname “fuchsit”.
    • The offset between the system clock of host “fuchsit” and the local host is less than one millisecond.
    • The RSB communication latency between host “fuchsit” and the local host is less than one millisecond.
    • One process with process id 016883 has been detected on host “fuchsit”. The process is executing the program “logger” with commandline arguments “–on-error continue -f …”.
    • The process has been started by user jmoringe, has been running for nine days and is using an RSB implementation with version 0.11.0.
    • Within the process, there is one listener participant on scope /. The unique id of the participant starts with 61582DC3.
  • $ rsb introspect socket: spread://somehost
    

    Gather introspection information via two transports: the socket transport and the Spread transport. The gathered information is merged as if all collected processes and participants were participant in a single RSB bus.

  • $ rsb introspect --style monitor/object-tree
    

    Like the first example, but instead of printing one snapshot and exiting, continue gathering introspection information and periodically print an updated object tree.

  • $ rsb introspect --style monitor/events
    

    Continuously collect introspection information and print information about significant changes in the observed system. Significant changes include start and termination of processes and addition and removal of participants.

Implementations

Implementation Language Project Repository Link
Common Lisp rsb-tools-cl “0.16” branch of https://code.cor-lab.de/git/rsb.git.tools-cl