24 lines
1.1 KiB
Bash
24 lines
1.1 KiB
Bash
|
|
#!/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."
|