overgrowth / RESTART_INSTRUCTIONS.md
Graham Paasch
Add comprehensive API monitoring and cost tracking
d0e39d2
|
Raw
History Blame
5.06 kB

🚀 Quick Start - API Monitoring Now Active!

⚠️ IMPORTANT: You Must Restart the App

The API monitoring UI has been added to app.py, but it won't appear until you restart the Gradio app.

🎯 Three Ways to Restart:

Option 1: Use the Restart Script (Recommended)

cd /home/gpaasch/overgrowth
./RESTART_APP.sh

Option 2: Manual Restart

# Stop any running instance
pkill -f "python.*app.py"

# Start fresh
cd /home/gpaasch/overgrowth
source venv/bin/activate
nohup python app.py > app.log 2>&1 &

# Check logs
tail -f app.log

Option 3: HuggingFace Space

If deployed to HuggingFace Spaces:

  1. Go to your Space settings
  2. Click "Restart this Space"
  3. Wait for reboot

📊 What You'll See After Restart

The very first section at the top of the UI will be:

🔍 Live API Activity Monitor
Real-time visibility into all API calls - LLM, GNS3, and more

┌─────────────────────────────┬──────────────────────────────────────────┐
│ 📊 Session Statistics       │ 📡 Recent API Calls                      │
├─────────────────────────────┼──────────────────────────────────────────┤
│ Session Duration: 0m 0s     │ *No API calls yet. Start using the      │
│ Total API Calls: 0          │  system to see activity here.*           │
│ LLM Calls: 0                │                                          │
│ GNS3 Calls: 0               │                                          │
│ Total Tokens: 0             │                                          │
│ Total Cost: $0.0000         │                                          │
│ Errors: 0                   │                                          │
│                             │                                          │
│ [🔄 Refresh Stats]          │ [🔄 Refresh Activity]                    │
└─────────────────────────────┴──────────────────────────────────────────┘

---

🌿 Network Automation Pipeline
[Rest of the UI continues below...]

🎬 Demo Flow for Judges

  1. Page loads → See API monitor with $0.00 cost

  2. Enter network description → Click "🚀 Run Full Pipeline"

  3. Watch in real-time as API calls appear:

    ✅ 🤖 ANTHROPIC claude-3-haiku-20240307
       📝 1,247→892 tokens | 💰 $0.0043 | ⏱️ 2,314ms
    
    ✅ 🤖 ANTHROPIC claude-3-haiku-20240307  
       📝 2,105→1,543 tokens | 💰 $0.0201 | ⏱️ 3,127ms
    
  4. Pipeline completes → Status shows:

    💰 API Usage This Session
    - Total Cost: $0.0823
    - LLM Calls: 3 | GNS3 Calls: 5
    - Tokens: 8,456 (4,123 in / 4,333 out)
    
  5. Click "🔄 Refresh Stats" → Dashboard updates instantly

✅ Verification Checklist

After restarting, verify these features work:

  • "Live API Activity Monitor" section appears at top
  • Session Statistics shows $0.00 initially
  • Running pipeline populates API calls
  • Each call shows: provider, model, tokens, cost, timing
  • Total cost updates in real-time
  • Refresh buttons work
  • Pipeline status includes API usage summary

🐛 Troubleshooting

"I don't see the API monitor"

→ You didn't restart the app. Run ./RESTART_APP.sh

"API calls show but no tokens/costs"

→ This happens with mock responses (no API keys configured) → Set ANTHROPIC_API_KEY or OPENAI_API_KEY in .env

"App won't start"

→ Check logs: cat app.log → Verify virtual environment: source venv/bin/activate

"Port 7860 in use"

→ Kill existing process: pkill -f "python.*app.py"

📝 Files Changed

  1. agent/api_monitor.py - New monitoring system (343 lines)
  2. agent/llm_client.py - Added tracking to all LLM calls
  3. agent/local_mcp.py - Added tracking to GNS3 calls
  4. app.py - Added monitoring UI at top of interface
  5. API_MONITORING.md - Full documentation
  6. RESTART_APP.sh - Convenient restart script

🎯 Quick Test

cd /home/gpaasch/overgrowth
source venv/bin/activate

# Test the monitor
python -c "
from agent.api_monitor import monitor
print(monitor.get_stats().format_dashboard())
print(monitor.format_activity_feed())
"

# Should output dashboard and activity feed

🚀 For Hackathon Submission

Make sure to:

  1. ✅ Restart the app before demo
  2. ✅ Test with a simple network description
  3. ✅ Show judges the real-time API tracking
  4. ✅ Highlight the cost transparency
  5. ✅ Mention this is enterprise-grade observability

The monitoring is fully implemented - just restart to see it! 🎉