v2.2-0: Feature release
Fix crash in case cmonitor_collector cannot find the cgroup to monitor
cmonitor_collector crashing on Ubuntu 20.04 (#31)
cmonitor_collector developments to improve the Docker-monitoring-Docker scenario
Improve cmonitor_chart utility (#34)
in cmonitor_chart output HTML:
- split in 2 categories cgroup buttons/charts related to global-cgroup stats and per-process stats
- improve cpu-by-process/thread chart by stacking the various CPU and MEMORY contributions and highlight when the CPU throttling kicks in by drwaing a thick RED line on the 2nd Y axis
- even when cgroup_threads are collected, create a "memory by process" chart and not a "memory by thread" chart
- improve rendering of TOOLTIPs and VAXIS ticks by adding Javascript code for pretty printing
- add stress-cpu and stress-mem docker examples
in cmonitor_collector:
- fix bug in collector not considering new-born PIDs for top-scorer computation
- make failcnt a differential value like cpu throttling and rename to "events.failcnt" for coherency with cgroups v2 stats
- Large Cgroup configuration code refactor: revise completely and deep-test all supported kernels/cgroup-provider combination
- Add unit tests for SYSTEMD-created cgroups (previously we had only for DOCKER-created cgroups)
- Fix search for cmonitor_collector PID in cgroups v2 (when running outside a container)
- Log errors on stdout when running in debug mode
- Change behavior: if some cgroup v2 limit cannot be detected, keep monitoring instead of giving up; this makes collector logic much more robust against unknown environments (combination of linux kernel, distribution, systemd/docker/etc)
- Fix bug where last baremetal cpu was not monitored
- in README: add info on how to build from sources
cmonitor tools:
- Fix formatting of Python scripts by increasing length used by black
- in cmonitor_chart: fix reading of timestamps when --utc is not provided