#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$ROOT_DIR" ACCOUNT_ID="${ACCOUNT_ID:-qndd8o9ppop6}" ITERATIONS="${ITERATIONS:-10}" CONFIG="${CONFIG:-/home/lucky/.openclaw/workspace/config/mcporter.json}" if [[ -f .venv/bin/activate ]]; then # shellcheck disable=SC1091 source .venv/bin/activate fi ok_count=0 fail_count=0 total_ms=0 for i in $(seq 1 "$ITERATIONS"); do start_ns=$(date +%s%N) if ! output="$(mcporter --config "$CONFIG" call exec.get_account_info account_id="$ACCOUNT_ID" 2>&1)"; then end_ns=$(date +%s%N) elapsed_ms=$(( (end_ns - start_ns) / 1000000 )) fail_count=$((fail_count + 1)) total_ms=$((total_ms + elapsed_ms)) echo "[$i/$ITERATIONS] FAIL ${elapsed_ms}ms" echo "$output" continue fi end_ns=$(date +%s%N) elapsed_ms=$(( (end_ns - start_ns) / 1000000 )) if python3 - "$output" <<'PY' import json, sys payload = sys.argv[1] json.loads(payload) print("ok") PY then ok_count=$((ok_count + 1)) else fail_count=$((fail_count + 1)) echo "[$i/$ITERATIONS] INVALID_JSON ${elapsed_ms}ms" echo "$output" continue fi total_ms=$((total_ms + elapsed_ms)) echo "[$i/$ITERATIONS] ${elapsed_ms}ms" done if [[ "$ITERATIONS" -gt 0 ]]; then avg_ms=$((total_ms / ITERATIONS)) else avg_ms=0 fi echo "---" echo "ok=$ok_count fail=$fail_count total=$ITERATIONS avg_ms=$avg_ms"