Backend Latency Profiler Helper
Find and fix API performance bottlenecks.
Slow Endpoint Detection // Middleware to track latency app.use((req, res, next) => { const start = Date.now();
res.on("finish", () => { const duration = Date.now() - start;
if (duration > 1000) {
logger.warn(
{
endpoint: req.path,
method: req.method,
duration_ms: duration,
userId: req.user?.id,
},
"Slow request detected"
);
}
});
next(); });
Top Slow Endpoints -- Query from logs SELECT endpoint, AVG(duration_ms) as avg_ms, MAX(duration_ms) as max_ms, COUNT(*) as requests FROM request_logs WHERE created_at > NOW() - INTERVAL '1 day' GROUP BY endpoint HAVING AVG(duration_ms) > 500 ORDER BY avg_ms DESC LIMIT 10;
Suspected Causes interface PerformanceBottleneck { endpoint: string; avgLatency: number; suspectedCauses: string[]; fixPriority: "high" | "medium" | "low"; }
const bottlenecks: PerformanceBottleneck[] = [ { endpoint: "GET /api/users/:id", avgLatency: 2500, suspectedCauses: [ "N+1 query fetching user orders", "No database index on user_id", "Expensive JSON serialization", ], fixPriority: "high", }, ];
Fix Roadmap
Performance Fix Roadmap
Week 1: Quick Wins
- [ ] Add database indexes
- [ ] Enable response caching
- [ ] Fix N+1 queries
Week 2: Medium Effort
- [ ] Optimize slow database queries
- [ ] Implement Redis caching
- [ ] Add connection pooling
Week 3: Long-term
- [ ] Database query optimization
- [ ] Service decomposition
- [ ] CDN integration
Output Checklist Slow endpoints identified Causes analyzed Fix roadmap created Monitoring configured ENDFILE