From 82c944728e82c4049c51fe09bd73448db3f41fd7 Mon Sep 17 00:00:00 2001 From: kami Date: Sat, 29 Aug 2026 17:01:49 +0400 Subject: [PATCH] orchestra: complete 06G4V20T528ZTER7KZBVGNAYXC --- scripts/orchestra_e2e_healthcheck.sh | 34 ++++++++++++++++++++++++++-- scripts/test_healthcheck.sh | 11 ++++++--- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/scripts/orchestra_e2e_healthcheck.sh b/scripts/orchestra_e2e_healthcheck.sh index f7b9a38..3f8836e 100755 --- a/scripts/orchestra_e2e_healthcheck.sh +++ b/scripts/orchestra_e2e_healthcheck.sh @@ -11,21 +11,33 @@ emit() { [ "$format" = none ] || printf "$@" } +# now_us: current time in microseconds. Strips any locale decimal separator. +now_us() { printf '%s' "${EPOCHREALTIME//[!0-9]/}"; } + +# elapsed_ms : whole milliseconds since . +elapsed_ms() { printf '%s' "$(( ($(now_us) - $1) / 1000 ))"; } + main() { + local start_us + start_us=$(now_us) local quiet= local json= + local timing= for arg in "$@"; do if [ "$arg" = --help ]; then - emit text 'Usage: %s [--quiet]\n\n' "${0##*/}" + emit text 'Usage: %s [--quiet] [--json] [--timing]\n\n' "${0##*/}" emit text 'Healthcheck script for Orchestra E2E tests.\n' emit text 'Exits 0 with a success message if all checks pass.\n' emit text ' --quiet Suppress the success message; still exits 0.\n' + emit text ' --timing Print elapsed milliseconds for each check.\n' emit text 'Version: %s\n' "$VERSION" exit 0 elif [ "$arg" = --quiet ]; then quiet=1 elif [ "$arg" = --json ]; then json=1 + elif [ "$arg" = --timing ]; then + timing=1 fi done @@ -33,11 +45,29 @@ main() { [ -n "$quiet" ] && format=none [ -n "$json" ] && format=json + local -a TIMINGS=() + TIMINGS+=("healthchecks=$(elapsed_ms "$start_us")") + if [ "$format" = json ]; then - emit "$format" '{"status":"ok","checks":1}\n' + local timings= + if [ -n "$timing" ]; then + local sep= + for t in "${TIMINGS[@]}"; do + timings+="$sep\"${t%%=*}\":${t#*=}" + sep=, + done + timings=",\"timings\":{$timings}" + fi + emit "$format" '{"status":"ok","checks":%d%s}\n' "${#TIMINGS[@]}" "$timings" exit 0 fi + if [ -n "$timing" ]; then + for t in "${TIMINGS[@]}"; do + emit "$format" '%s: %sms\n' "${t%%=*}" "${t#*=}" + done + fi + emit "$format" 'OK - all healthchecks passed\n' exit 0 } diff --git a/scripts/test_healthcheck.sh b/scripts/test_healthcheck.sh index 71193f9..6dfe0fe 100755 --- a/scripts/test_healthcheck.sh +++ b/scripts/test_healthcheck.sh @@ -3,14 +3,16 @@ HC="$(dirname "$0")/orchestra_e2e_healthcheck.sh" OK='OK - all healthchecks passed' -USAGE="$(printf 'Usage: orchestra_e2e_healthcheck.sh [--quiet]\n\nHealthcheck script for Orchestra E2E tests.\nExits 0 with a success message if all checks pass.\n --quiet Suppress the success message; still exits 0.\nVersion: 1.0.0')" +USAGE="$(printf 'Usage: orchestra_e2e_healthcheck.sh [--quiet] [--json] [--timing]\n\nHealthcheck script for Orchestra E2E tests.\nExits 0 with a success message if all checks pass.\n --quiet Suppress the success message; still exits 0.\n --timing Print elapsed milliseconds for each check.\nVersion: 1.0.0')" fails=0 check() { # check