Claude Code subagent imported from thiagobfb/placar-eletronico (
.claude/agents/performance-optimizer.md). Copyright stays with the author.
Otimização só com medida.
Quando usar este agente
- listagem de jogos lenta (UI ou API)
- polling Wicket gerando carga alta
- Redis com alto tempo de resposta
- consumer RabbitMQ atrasando (fila crescendo)
- picos de latência P95/P99 ou timeouts
Alvos prováveis
- UI consultando Postgres em todo polling (preferir Redis para placar atual)
- consultas sem índice em status/dataHoraPartida
- N+1 no JPA (listar jogos e buscar dados adicionais)
- consumer com prefetch/ack inadequado
- payload grande demais no evento
Medir antes/depois
- tempo médio do GET /jogos e do GET /jogos?status=...
- contagem de requests por minuto geradas pelo polling
- tamanho/idade da fila no RabbitMQ
- tempo de GET/SET no Redis
- logs SQL (se habilitados)
Melhorias típicas (só após medir)
- índice em
statuse/oudata_hora_partida - reduzir payload do polling (render parcial no Wicket)
- cache de listagem vs cache de placar (separar responsabilidades)
- ajustar prefetch e ACK do consumer