This folder contains some tarballs that have been generated by the 'generate_sample_tarballs.sh' script and that allow to reproduce almost-perfectly the /proc and /sys/fs/cgroup hierarchies generated by the combination of software specified in next Section. This is used for unit-testing the cmonitor_collector source code and verify that no regressions are ever introduced in the handling of such file hierarchies.
In this test the /proc and /sys/fs/cgroup hierarchies generated for a Redis server running inside a Docker container have been "frozen" into the sampleXYZ.tar.gz files.
Sample#1: initialization sample, with redis-server idle
Sample#2: another sample with redis-server idle; this will trigger first cmonitor_collector output with CPU usages close to 0%. Immediately after this sample is produced, Redis server is loaded with a lot of commands to increase its CPU usage
Sample#3: this sample will reveal that since last sample Redis has used close to 90% CPU usage in user/kernel space (90% being the max allowed cpu usage in its cpuacct cgroup). Immediately after this sample is produced, Redis server load is removed.
Sample#4: this sample will show again close to 0% CPU usage
This folder allows to unit-test cmonitor_collector against cgroups created by:
- Docker v19.03.15 using its own 'cgroupfs' cgroup driver and cgroups v1
- Linux kernel 3.10.0