profile (Profiler do Banco)
Última atualização: 2026-10-09
profile (Profiler do Banco)
profile alterna o Profiler do Banco: nível 0 desligado, 1 registra apenas operações lentas (acima de slowms), 2 registra tudo. As operações registradas caem em system.profile, úteis para localizar gargalos. O mongosh oferece helpers como db.setProfilingLevel(1, { slowms: 200 }).
| Categoria | Monitoramento e Diagnóstico |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
db.runCommand({ profile: <level>, slowms: <ms> })
db.setProfilingLevel(1, { slowms: 200 })
db.getProfilingStatus()
⚙️ Parâmetros
| profile | Nível: 0 desligado, 1 apenas operações lentas, 2 tudo |
|---|---|
| slowms | Limite de consulta lenta em ms, usado no nível 1. |
Retorno:Retorna o nível anterior (was), o slowms atual e ok
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// profile: habilita o registro de operações lentas
use shop
db.runCommand({ profile: 1, slowms: 200 })
db.system.profile.find({ millis: { $gte: 200 } }).sort({ ts: -1 }).limit(5)
Saída:
{ was: 0, slowms: 100, sampleRate: 1, ok: 1 }
// A consulta retorna as 5 operações mais recentes que levam 200ms ou mais
📌 Notas
- O nível 1 registra apenas operações acima de slowms; o nível 2 registra tudo
- A saída do profiler cai em system.profile — limpe-a periodicamente
- Em produção prefira o nível 1 com um slowms sensato para limitar a sobrecarga
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQual é a diferença entre os níveis de profile 1 e 2?
AO nível 1 registra apenas operações mais lentas que slowms; o nível 2 registra tudo.
QOnde o profiler armazena seus logs?
ANa coleção system.profile, consultável diretamente.
QComo desligo o profiler?
AExecute db.setProfilingLevel(0) ou db.runCommand({ profile: 0 }).