a83e90b560
Future work toward visualization of DevStack and devstack-gate performance would benefit greatly from the availability of machine-parsable DStat output. This patch outputs an additional logfile to $LOGDIR, `dstat-csv.log`, using DStat's built-in CSV logging functionality. An additional instance of DStat is started during start_dstat that outputs to CSV-formatted text without `--top-cpu-adv` and `-top-io-adv` enabled, as these plugins are currently incompatible with CSV output. To facilitate this, a new `dstat.sh` script is added to $TOP_DIR/tools/ to act as a daemon to manage the two processes. Change-Id: I826c94c35b6a109308b4f132c181ff7a1f63bc7b Depends-On: I534fb1f9356a7948d2fec0aecc7f275e47362a11
38 lines
777 B
Bash
38 lines
777 B
Bash
#!/bin/bash
|
|
#
|
|
# lib/dstat
|
|
# Functions to start and stop dstat
|
|
|
|
# Dependencies:
|
|
#
|
|
# - ``functions`` file
|
|
|
|
# ``stack.sh`` calls the entry points in this order:
|
|
#
|
|
# - start_dstat
|
|
# - stop_dstat
|
|
|
|
# Save trace setting
|
|
XTRACE=$(set +o | grep xtrace)
|
|
set +o xtrace
|
|
|
|
# start_dstat() - Start running processes, including screen
|
|
function start_dstat {
|
|
# A better kind of sysstat, with the top process per time slice
|
|
run_process dstat "$TOP_DIR/tools/dstat.sh $LOGDIR"
|
|
|
|
# To enable peakmem_tracker add:
|
|
# enable_service peakmem_tracker
|
|
# to your localrc
|
|
run_process peakmem_tracker "$TOP_DIR/tools/peakmem_tracker.sh"
|
|
}
|
|
|
|
# stop_dstat() stop dstat process
|
|
function stop_dstat {
|
|
stop_process dstat
|
|
stop_process peakmem_tracker
|
|
}
|
|
|
|
# Restore xtrace
|
|
$XTRACE
|