#!/usr/bin/env bash # # LPS 실시간 모니터 실행 (대화형) — 부하/e2e 실행 중 큐 진행·코어별 CPU·병목을 브라우저에서 관측. # loadtest.py(e2e 100건 등)와 같이 띄워두고 보는 용도. Grafana 대체가 아닌 로컬 경량 도구. # set -euo pipefail cd "$(dirname "$0")" # lps/ PY=".venv/bin/python" [[ -x "$PY" ]] || { echo "[error] .venv 가 없습니다. ./run_local_server.sh 를 먼저 한 번 실행하세요."; exit 1; } # psutil 보장(관측 도구 전용 의존성) "$PY" -c "import psutil" 2>/dev/null || { echo "[setup] psutil 설치..."; "$PY" -m pip install -q psutil; } echo "── 모니터 설정 ──" read -rp "모니터 포트 [9700]: " port port="${port:-9700}" read -rp "대상 API [http://localhost:9600] (엔터=유지): " base base="${base:-http://localhost:9600}" if lsof -ti:"$port" >/dev/null 2>&1; then echo "[info] 포트 $port 사용 중 → 기존 프로세스 종료" lsof -ti:"$port" | xargs kill 2>/dev/null || true sleep 1 fi echo echo "[run] 모니터 → http://localhost:$port (대상 $base)" echo " 워커·API·크롬·postgres 의 CPU 와 큐 추이가 2초마다 갱신됩니다. 중단: Ctrl+C" echo exec env BASE="$base" MONITOR_PORT="$port" "$PY" loadtest/monitor.py