blob: f5bd2bb94863046326e84911dedd7d07b5e56fde [file] [log] [blame]
Sean Daguee263c822014-12-05 14:25:28 -05001#!/bin/bash
2#
YAMAMOTO Takashi42373c72014-11-18 12:30:16 +09003# lib/dstat
Joe Gordone0b08d02014-08-20 00:34:55 -07004# Functions to start and stop dstat
5
6# Dependencies:
7#
8# - ``functions`` file
9
10# ``stack.sh`` calls the entry points in this order:
11#
Federico Ressi19e4d972020-01-24 11:44:46 +010012# - install_dstat
Joe Gordone0b08d02014-08-20 00:34:55 -070013# - start_dstat
14# - stop_dstat
15
16# Save trace setting
Ian Wienand523f4882015-10-13 11:03:03 +110017_XTRACE_DSTAT=$(set +o | grep xtrace)
Joe Gordone0b08d02014-08-20 00:34:55 -070018set +o xtrace
19
Federico Ressi19e4d972020-01-24 11:44:46 +010020# install_dstat() - Install prerequisites for dstat services
21function install_dstat {
22 if is_service_enabled memory_tracker; then
23 # Install python libraries required by tools/mlock_report.py
24 pip_install_gr psutil
25 fi
26}
27
Sean Dague0eebeb42017-08-30 14:16:58 -040028# start_dstat() - Start running processes
Joe Gordone0b08d02014-08-20 00:34:55 -070029function start_dstat {
30 # A better kind of sysstat, with the top process per time slice
Tim Buckleya83e90b2015-08-05 10:25:00 -060031 run_process dstat "$TOP_DIR/tools/dstat.sh $LOGDIR"
Ian Wienand72a8be62015-04-09 13:51:23 +100032
Ihar Hrachyshka2b4735f2017-02-10 06:17:37 +000033 # To enable memory_tracker add:
34 # enable_service memory_tracker
Ian Wienand72a8be62015-04-09 13:51:23 +100035 # to your localrc
Sean Dague5edae542017-03-21 20:50:24 -040036 run_process memory_tracker "$TOP_DIR/tools/memory_tracker.sh" "" "root"
Ihar Hrachyshka2b4735f2017-02-10 06:17:37 +000037
38 # remove support for the old name when it's no longer used (sometime in Queens)
39 if is_service_enabled peakmem_tracker; then
40 deprecated "Use of peakmem_tracker in devstack is deprecated, use memory_tracker instead"
Sean Dague5edae542017-03-21 20:50:24 -040041 run_process peakmem_tracker "$TOP_DIR/tools/memory_tracker.sh" "" "root"
Ihar Hrachyshka2b4735f2017-02-10 06:17:37 +000042 fi
Joe Gordone0b08d02014-08-20 00:34:55 -070043}
44
45# stop_dstat() stop dstat process
46function stop_dstat {
Ian Wienandc00d2a52015-04-09 19:57:13 +100047 stop_process dstat
Ihar Hrachyshka2b4735f2017-02-10 06:17:37 +000048 stop_process memory_tracker
Joe Gordone0b08d02014-08-20 00:34:55 -070049}
50
51# Restore xtrace
Ian Wienand523f4882015-10-13 11:03:03 +110052$_XTRACE_DSTAT