| #!/bin/bash |
| # |
| # lib/dstat |
| # Functions to start and stop dstat |
| |
| # Dependencies: |
| # |
| # - ``functions`` file |
| |
| # ``stack.sh`` calls the entry points in this order: |
| # |
| # - install_dstat |
| # - start_dstat |
| # - stop_dstat |
| |
| # Save trace setting |
| _XTRACE_DSTAT=$(set +o | grep xtrace) |
| set +o xtrace |
| |
| # install_dstat() - Install prerequisites for dstat services |
| function install_dstat { |
| if is_service_enabled memory_tracker; then |
| # Install python libraries required by tools/mlock_report.py |
| pip_install_gr psutil |
| fi |
| } |
| |
| # start_dstat() - Start running processes |
| 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 memory_tracker add: |
| # enable_service memory_tracker |
| # to your localrc |
| run_process memory_tracker "$TOP_DIR/tools/memory_tracker.sh" "" "root" |
| |
| # remove support for the old name when it's no longer used (sometime in Queens) |
| if is_service_enabled peakmem_tracker; then |
| deprecated "Use of peakmem_tracker in devstack is deprecated, use memory_tracker instead" |
| run_process peakmem_tracker "$TOP_DIR/tools/memory_tracker.sh" "" "root" |
| fi |
| } |
| |
| # stop_dstat() stop dstat process |
| function stop_dstat { |
| stop_process dstat |
| stop_process memory_tracker |
| } |
| |
| # Restore xtrace |
| $_XTRACE_DSTAT |