distributed-system-analysis / pbench

A benchmarking and performance analysis framework
http://distributed-system-analysis.github.io/pbench/
GNU General Public License v3.0
186 stars 108 forks source link

sosreport plugins cannot be specified by a user #1818

Open ndokos opened 4 years ago

ndokos commented 4 years ago

They are baked in to the sosreport invocation in util-scripts/pbench-sysinfo-dump. Part of that is caused by version differences which require different names of plugins in different circumstances (e.g. the general plugin was deprecated at some point, so we replace it with the (date, host) pair of plugins).

But arguably, we should provide a way for the user to specify what plugins should be used in the sosreport invocation.

dbutenhof commented 4 years ago

FYI, though it may not be a practical solution to validating user-input plugins, my laptop sosreports (3.6) supports a -l (--list-plugins) that lists all of the supported modules:

[dbutenho@dbutenho tool-scripts]$ sudo sosreport -l

sosreport (version 3.6)

The following plugins are currently enabled:

 abrt                 Automatic Bug Reporting Tool
 alternatives         System alternatives
 anaconda             Anaconda installer
 anacron              Anacron job scheduling service
 ansible              Ansible configuration management
 ata                  ATA and IDE information
 auditd               Audit daemon information
 block                Block device information
 boot                 Bootloader information
 ceph                 CEPH distributed storage
 cgroups              Control groups subsystem
 chrony               Chrony clock (for Network time protocol)

Parsing the output, however, would be a little messy, because the output is formatted and columnized, in various sections with headers. (There's also one plugin where the description gets wrapped, apparently at an arbitrary column unrelated to my terminal width, which is particularly ugly for validation:)

 udev                 udev dynamic device management
 unpackaged           Collects a list of files that are not handled by the package
    manager
 usb                  USB devices