From 2ca8af45a78226f29c3251cbef6449a0a51a4c1f Mon Sep 17 00:00:00 2001 From: Atsushi SAKAI Date: Tue, 8 Dec 2015 15:36:13 +0900 Subject: [PATCH] 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 --- functions | 2 ++ functions-common | 6 ++++++ lib/apache | 2 ++ 3 files changed, 10 insertions(+) diff --git a/functions b/functions index 762fc472c2..9495710e92 100644 --- a/functions +++ b/functions @@ -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" } diff --git a/functions-common b/functions-common index 1b01eefaf9..023203d1fc 100644 --- a/functions-common +++ b/functions-common @@ -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 diff --git a/lib/apache b/lib/apache index c9e02a2b58..2c84c7a481 100644 --- a/lib/apache +++ b/lib/apache @@ -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