Add 5 time measurement points

run_process           process starting time
test_with_retry       process starting time (for neutron legacy)
restart_apache_server Apache HTTPD restart time
wait_for_service      HTTP server waiting time
git_timed             git command execution time

example

========================
DevStack Components Timed
========================

run_process - 52 secs
test_with_retry - 3 secs
apt-get-update - 8 secs
pip_install - 76 secs
restart_apache_server - 9 secs
wait_for_service - 11 secs
git_timed - 127 secs
apt-get - 15 secs

Change-Id: I66140726617450cd9fe9b702092cacf053a20065
This commit is contained in:
Atsushi SAKAI 2015-12-08 15:36:13 +09:00
parent 63b7d7bcae
commit 2ca8af45a7
3 changed files with 10 additions and 0 deletions

View File

@ -357,7 +357,9 @@ CURL_GET="${CURL_GET:-curl -g}"
function wait_for_service {
local timeout=$1
local url=$2
time_start "wait_for_service"
timeout $timeout sh -c "while ! $CURL_GET -k --noproxy '*' -s $url >/dev/null; do sleep 1; done"
time_stop "wait_for_service"
}

View File

@ -597,6 +597,7 @@ function git_timed {
timeout=${GIT_TIMEOUT}
fi
time_start "git_timed"
until timeout -s SIGINT ${timeout} git "$@"; do
# 124 is timeout(1)'s special return code when it reached the
# timeout; otherwise assume fatal failure
@ -611,6 +612,7 @@ function git_timed {
fi
sleep 5
done
time_stop "git_timed"
}
# git update using reference as a branch.
@ -1373,6 +1375,7 @@ function run_process {
local command="$2"
local group=$3
time_start "run_process"
if is_service_enabled $service; then
if [[ "$USE_SCREEN" = "True" ]]; then
screen_process "$service" "$command" "$group"
@ -1381,6 +1384,7 @@ function run_process {
_run_process "$service" "$command" "$group" &
fi
fi
time_stop "run_process"
}
# Helper to launch a process in a named screen
@ -2196,9 +2200,11 @@ function test_with_retry {
local until=${3:-10}
local sleep=${4:-0.5}
time_start "test_with_retry"
if ! timeout $until sh -c "while ! $testcmd; do sleep $sleep; done"; then
die $LINENO "$failmsg"
fi
time_stop "test_with_retry"
}
# Timing infrastructure - figure out where large blocks of time are

View File

@ -185,9 +185,11 @@ function restart_apache_server {
# Apache can be slow to stop, doing an explicit stop, sleep, start helps
# to mitigate issues where apache will claim a port it's listening on is
# still in use and fail to start.
time_start "restart_apache_server"
stop_service $APACHE_NAME
sleep 3
start_service $APACHE_NAME
time_stop "restart_apache_server"
}
# Restore xtrace