Skip to content

Commit 4437fe9

Browse files
hifzakhportante
authored andcommitted
Added configuration documentation
This is a new document that describes all the configuration data and how it is collected.
1 parent 343f6b6 commit 4437fe9

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

doc/CONFIG_DATA.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
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

Comments
 (0)