Files
smom-dbis-138/scripts/automation/measure-startup.sh

24 lines
1.1 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Measure startup time for common library sourcing and representative scripts
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "$0")/../.." && pwd)"
measure() {
local label="$1"; shift
local cmd=("$@")
local start end ms
start=$(date +%s%3N)
"${cmd[@]}" >/dev/null 2>&1 || true
end=$(date +%s%3N)
ms=$((end-start))
printf "%s: %d ms\n" "$label" "$ms"
}
echo "Startup timing (ms):"
measure "source lib/init.sh" bash -lc "SCRIPT_DIR='$ROOT_DIR/scripts/deployment' source '$ROOT_DIR/scripts/lib/init.sh'"
measure "calculate-costs --help" bash -lc "SCRIPT_DIR='$ROOT_DIR/scripts/deployment' source '$ROOT_DIR/scripts/lib/init.sh'; '$ROOT_DIR/scripts/deployment/calculate-costs-consolidated.sh' --help"
measure "deploy-parallel --help" bash -lc "SCRIPT_DIR='$ROOT_DIR/scripts/deployment' source '$ROOT_DIR/scripts/lib/init.sh'; '$ROOT_DIR/scripts/deployment/deploy-parallel-consolidated.sh' --help"
measure "list-all-resources --help" bash -lc "SCRIPT_DIR='$ROOT_DIR/scripts/azure' source '$ROOT_DIR/scripts/lib/init.sh'; '$ROOT_DIR/scripts/azure/list-all-resources.sh' --help"
echo "Done."