veza/tmt/tests/backend/memory_budget.sh
senke 4d213a5be9 chore(audit 2.4, 2.5): supprimer code mort Education et cmd/modern-server
- Supprimer routes/handlers/core Education (backend)
- Supprimer handler MSW education, refs Sidebar/locales
- Basculer Makefile, make/dev.mk, scripts vers cmd/api/main.go
- Supprimer veza-backend-api/cmd/modern-server/
2026-02-15 14:39:40 +01:00

39 lines
843 B
Bash
Executable file

#!/bin/bash
set -e
# CONTRACT: docs/BUDGETS.md
# DO NOT CHANGE THESE VALUES WITHOUT UPDATING THE CONTRACT FIRST.
MAX_RSS_MB=100
REPO_ROOT=$(git rev-parse --show-toplevel)
BACKEND_DIR="$REPO_ROOT/veza-backend-api"
echo "📍 Backend Memory Budget Check"
echo "📜 Contract: docs/BUDGETS.md"
echo "🧠 Budget: ${MAX_RSS_MB}MB RSS (Idle)"
cd "$BACKEND_DIR"
go build -o server_mem_check ./cmd/api/main.go
# Start
./server_mem_check > /dev/null 2>&1 &
PID=$!
sleep 2
# Measure RSS
RSS_KB=$(ps -o rss= -p $PID | awk '{print $1}')
RSS_MB=$((RSS_KB / 1024))
echo "📊 Current RSS: ${RSS_MB}MB"
kill $PID
rm -f server_mem_check
if [ "$RSS_MB" -gt "$MAX_RSS_MB" ]; then
echo "❌ FATAL: Memory budget exceeded!"
echo " Limit: ${MAX_RSS_MB}MB"
echo " Actual: ${RSS_MB}MB"
exit 1
fi
echo "✅ Memory usage within budget."