Visual Debugging with Gati Playground
Interactive debugging and request visualization for Gati applications.
The Problem
Traditional debugging:
- Console.log everywhere
- No request history
- Hard to reproduce issues
- No visual flow
Playground Features
1. Request Tracking
Every request is captured with:
- Full request/response data
- Execution timeline
- Module calls
- Error traces
2. Three Visualization Modes
API Mode - Request/response inspection
GET /users/123
├─ Headers
├─ Query params
├─ Response (200 OK)
└─ Duration: 45msNetwork Mode - Module interaction graph
Handler → Database → Cache → External API
↓ ↓ ↓ ↓
5ms 12ms 2ms 28msTracking Mode - Execution timeline
0ms Parse request
5ms Route matching
10ms Middleware chain
15ms Handler execution
60ms Response sent3. Request Replay
typescript
// Replay any request
playground.replay('req-abc123');
// Modify and replay
playground.replay('req-abc123', {
body: { email: 'new@example.com' }
});4. Debug Gates
typescript
// Conditional breakpoints
playground.gate('user-creation', {
condition: (req) => req.body.email.includes('test'),
action: 'pause' // or 'log', 'alert'
});Usage
Enable Playground
typescript
import { createApp } from '@gati-framework/runtime';
import { enablePlayground } from '@gati-framework/playground';
const app = createApp();
if (process.env.NODE_ENV === 'development') {
enablePlayground(app, { port: 3001 });
}Access UI
bash
# Start app
pnpm dev
# Open playground
open http://localhost:3001WebSocket Integration
typescript
// Real-time request streaming
playground.on('request', (req) => {
console.log('New request:', req.id);
});Real-World Example
Debugging Slow Requests
- Identify slow request in Tracking mode
- Inspect timeline - Database query took 500ms
- Replay request with different params
- Add index to database
- Verify - Now 50ms
Debugging Errors
- Filter by status code 500
- View error trace in API mode
- Check module calls in Network mode
- Replay with fixes
- Confirm error resolved
Benefits
- Visual - See request flow
- Interactive - Replay and modify
- Real-time - Live request streaming
- Integrated - Works with existing code
Status
- ✅ Core features: Complete
- ✅ Three visualization modes: Complete
- ✅ Request replay: Complete
- ✅ WebSocket streaming: Complete