Ответ
Во время разработки на Node.js я собираю метрики, помогающие анализировать производительность и стабильность:
- Производительность:
const start = process.hrtime();
// Код
const diff = process.hrtime(start);
console.log(`Execution time: ${diff[0] * 1e3 + diff[1] / 1e6}ms`);
- Память:
setInterval(() => {
console.log(`Memory usage: ${JSON.stringify(process.memoryUsage())}`);
}, 5000);
-
Event Loop:
Используюevent-loop-lagилиtoobusy-jsдля мониторинга задержек. -
Ошибки:
Логирую uncaught exceptions и unhandled rejections:
process.on('uncaughtException', (err) => {
logger.error('Uncaught Exception', err);
});
- HTTP-запросы:
Сбор метрик через middleware (response time, статус коды).
Для продакшна добавляю APM-системы (New Relic, Datadog), но в разработке достаточно консольного вывода и логов.