Что такое мониторинг ошибок

Ответ

Мониторинг ошибок — это процесс отслеживания, сбора и анализа ошибок в приложении в реальном времени. Он помогает быстро выявлять и исправлять баги, улучшая стабильность и пользовательский опыт.

Пример с кодом (Sentry):

import * as Sentry from '@sentry/browser';

Sentry.init({
  dsn: 'YOUR_DSN_HERE',
});

try {
  // Код, который может упасть
  someUndefinedFunction();
} catch (error) {
  Sentry.captureException(error);
}

Популярные инструменты:

  • Sentry
  • Rollbar
  • Bugsnag
  • LogRocket

Мониторинг особенно важен в production, так как позволяет получать стектрейсы, контекст ошибок и даже воспроизводить шаги пользователя перед падением.

Ответ 18+ 🔞

А, мониторинг ошибок, говоришь? Ну это ж святое дело, блядь! Это когда твоё приложение, эта мартышлюшка, наконец-то вылезает в продакшн, и ты сидишь и молишься, чтобы всё не накрылось медным тазом в первую же секунду.

По сути, это такой стукач-надзиратель, который сидит внутри и, если что-то пошло по пизде, сразу орёт тебе: "Э, сабака, сука! Чики-брики, у нас тут всё ебнулось, смотри че!"

Вот смотри, как это примерно выглядит, на примере одного такого стукача, Sentry зовут:

import * as Sentry from '@sentry/browser';

Sentry.init({
  dsn: 'YOUR_DSN_HERE',
});

try {
  // Код, который может упасть
  someUndefinedFunction();
} catch (error) {
  Sentry.captureException(error);
}

Видишь? Ты как бы оборачиваешь свой кривой код в try-catch, а этот пидорас шерстяной, Sentry, ловит ошибку и аккуратненько, с контекстом, с переменными, с тем, что пользователь перед этим делал, отправляет тебе в панельку. И ты уже не гадаешь на кофейной гуще, а видишь конкретный стектрейс, где именно твоя функция someUndefinedFunction оказалась не такой уж и defined, ёпта.

А инструментов-то для этого — овердохуища! Каждый со своими плюшками:

  • Sentry — классика жанра, как папин ремень. Мощно, подробно, много чего умеет.
  • Rollbar — тоже монстр, особенно для серверной части.
  • Bugsnag — красивенько, удобненько, для тех, кто любит поприятнее интерфейсы.
  • LogRocket — это вообще, блядь, волшебство! Он не только ошибки ловит, а ещё и записывает, что пользователь делал: куда тыкал, что вводил. Прям как видеорегистратор в мире багов. Представляешь? Видишь ошибку и можешь посмотреть видео, как до неё докатились. Удивление пиздец!

И самое главное — это всё не для локальной разработки, а для того самого, страшного production. Потому что у пользователя всегда, блядь, найдётся способ нажать не на ту кнопку, ввести не те данные или просто родиться под несчастливой звездой, от которой твой код, который работал десять лет, вдруг вспоминает, что он — говно. А ты благодаря мониторингу уже не бегаешь, как ужаленный, с криками "ЧЁ СЛУЧИЛОСЬ?!", а спокойно открываешь панель, видишь всю подноготную и чинишь эту хитрожопую проблему, пока она всех не заебала.