|
| 1 | +# Getting Started |
| 2 | + |
| 3 | +By default, pbench benchmarks collect configuration data of a system, stored in the sysinfo top level directory of a pbench result, collected at the beginning and end of a benchmark (with one exception, pbench-user-benchmark only collects at the end). |
| 4 | + |
| 5 | +The structure of the sysinfo directory in a pbench result, for example, `/var/lib/pbench-agent/pbench_userbenchmark_example_2019.07.18T12.00.00/` is given below followed by a brief explanation of each different type of configuration data. |
| 6 | + |
| 7 | +* sysinfo |
| 8 | + * end |
| 9 | + * hostname |
| 10 | + * block-params.log |
| 11 | + * config-5.0.17-300.fc30.x86_64 |
| 12 | + * libvirt/ |
| 13 | + * lstopo.txt |
| 14 | + * security-mitigation-data.txt |
| 15 | + * sosreport-localhost-localhost-pbench-2019-06-10-mrqgzbh.tar.xz |
| 16 | + * sosreport-localhost-localhost-pbench-2019-06-10-mrqgzbh.tar.xz.md5 |
| 17 | + * stockpile.json |
| 18 | + * stockpile.log |
| 19 | + |
| 20 | +## config-[kernel_version] |
| 21 | + |
| 22 | +The file contains kernel configuration data. |
| 23 | + |
| 24 | +The data is collected using [pbench-sysinfo-dump#L38](https://github.com/distributed-system-analysis/pbench/blob/master/agent/util-scripts/pbench-sysinfo-dump#L38). The script uses `uname` system utility (`systemcall` is a term used for all the APIs provided by the kernel) to collect kernel release information and then checks if a corresponding kernel configuration file exists on the system. If it does, the script simply copies the file, located in `/boot` directory, to the `sysinfo` directory. |
| 25 | + |
| 26 | +The file contains data in a key value format where the key is a metric name and the value can be a string literal or a number. The keys and the values are separated by an equality sign. |
| 27 | + |
| 28 | +## security-mitigation-data.txt |
| 29 | + |
| 30 | +The file contains CPU vulnerabilities data and RHEL-specific flag settings. |
| 31 | + |
| 32 | +The data is collected using [pbench-sysinfo-dump#L44](https://github.com/distributed-system-analysis/pbench/blob/master/agent/util-scripts/pbench-sysinfo-dump#L44). The script checks if `/sys/devices/system/cpu/vulnerabilities` directory exists. If it does, the script prints the filenames and the contents of all the files located in the directory. After that, it repeats the same steps for the `/sys/kernel/debug/x86` directory. |
| 33 | + |
| 34 | +The file contains data in a key value format where the key is a file name and the value is the content of the file. |
| 35 | + |
| 36 | +## libvirt/ |
| 37 | + |
| 38 | +The directory provides information about libvirt, an open-source API, daemon and management tool for managing platform virtualization. |
| 39 | + |
| 40 | +The data is collected using [pbench-sysinfo-dump#L60](https://github.com/distributed-system-analysis/pbench/blob/master/agent/util-scripts/pbench-sysinfo-dump#L60). The script copies libvirt files located at `/var/log/libvirt` and `/etc/libvirt` directories to the `sysinfo/libvirt/log` and `sysinfo/libvirt/etc` directories respectively. Only the files whose name follows the regex `*.log` are copied from the `/var/log/libvirt` directory. |
| 41 | + |
| 42 | +## lstopo.txt |
| 43 | + |
| 44 | +The file provides information about the topology of the system. |
| 45 | + |
| 46 | +The data is collected using [pbench-sysinfo-dump#L71](https://github.com/distributed-system-analysis/pbench/blob/master/agent/util-scripts/pbench-sysinfo-dump#L71). The script executes the command `lstopo --of txt` and dumps its output into a text file only if `/usr/bin/lstopo` file exists on the system. |
| 47 | + |
| 48 | +## block-params.log |
| 49 | + |
| 50 | +The file provides information about block devices. |
| 51 | + |
| 52 | +The data is collected using [pbench-sysinfo-dump#L79](https://github.com/distributed-system-analysis/pbench/blob/master/agent/util-scripts/pbench-sysinfo-dump#L79). The script loops over all the files which satisfy the regex: `/sys/block/[s,h,v]d\*[a-z]/` and prints each file name along with the contents of the file. |
| 53 | + |
| 54 | +The file contains data in a key value format where the key is the file name and the value is the content of the file.. |
| 55 | + |
| 56 | +## sosreport tarball (e.g. sosreport-localhost-localhost-pbench-2019-05-29-rtvzlke.tar.xz) |
| 57 | + |
| 58 | +The tarball contains system configuration and diagnostic information collected by invoking the `sosreport` command. |
| 59 | + |
| 60 | +The data is collected using [pbench-sysinfo-dump#L87](https://github.com/distributed-system-analysis/pbench/blob/master/agent/util-scripts/pbench-sysinfo-dump#L87). The script uses `sosreport` command with different plugins to get the required system information. The resulting tarball contains a number of files copied from the system as well as the output of several commands executed on the system. |
| 61 | + |
| 62 | +## ara |
| 63 | + |
| 64 | +This specific file is not in the scope of my internship because ara works with `python2` and Fedora 30, which is installed on my system, works with `python3` only. |
| 65 | + |
| 66 | +## stockpile.json |
| 67 | + |
| 68 | +The file contains system information gathered by the [stockpile](https://github.com/redhat-performance/stockpile) tool using Ansible. |
| 69 | + |
| 70 | +The data is collected using [pbench-sysinfo-dump#L153](https://github.com/distributed-system-analysis/pbench/blob/master/agent/util-scripts/pbench-sysinfo-dump#L153). The script runs a specified stockpile playbook with the given stockpile options. The stockpile playbook has a number of roles associated with it, for example, `ceph`, `cpu`, etc. for each of which there is a specific ansible playbook called `main.yml`, which contains the rules to collect information related to that role. |
| 71 | + |
| 72 | +The file contains data in a json file format. |
| 73 | + |
| 74 | +## insights tarball |
| 75 | + |
| 76 | +The tarball contains system information gathered by the [insights-client](https://github.com/RedHatInsights/insights-client). |
| 77 | + |
| 78 | +The data is collected using [pbench-sysinfo-dump#L189](https://github.com/distributed-system-analysis/pbench/blob/master/agent/util-scripts/pbench-sysinfo-dump#L189). The script uses `insights-client` command with different options to get the system information. The resulting tarball contains a number of files copied from the system as well as the output of several commands executed on the system. |
0 commit comments