Введение
Если вы разработчик, то одна из самых нелюбимых частей вашей работы — исправление ошибок. Копание в тысячах строк кода и пинг-понг с пользователями может быть действительно стрессом. Однако это не обязательно должно быть так. В этой статье описаны инструменты мониторинга ошибок: вам больше не придется полагаться на пользователей, чтобы сообщить о проблемах. С помощью этих инструментов вы сможете сосредоточиться на важных вещах: написании высококачественного кода.
Для меня эта статья будет в некоторой степени личной. До того, как я пришел работать во Flatlogic, мы с моим партнером пытались разработать сервис для поиска и мониторинга ошибок в веб-приложениях. Поэтому я уверен, что в достаточной степени изучил все плюсы и минусы тех или иных сервисов.
Мы начнем с краткого рассказа о рынке инструментов отслеживания ошибок javascript: как он зарождался, кто основные игроки, на чем эти инструменты зарабатывают. Также во вступлении мы упомянем критерии, по которым следует оценивать эти инструменты. В качестве бонуса в конце я расскажу о нашем собственном инструменте (который назывался Kuoll) — об идее, лежащей в его основе, и о том, почему наша попытка оказалась неудачной.
Что такое мониторинг ошибок и его цели?
Мониторинг ошибок и инструменты отслеживания ошибок — это набор инструментов для проактивного поиска, сортировки и исправления ошибок в различных приложениях, в основном в Интернете.
Существует два способа мониторинга ошибок — backend и front-end. Front-end мониторинг ошибок javascript намного сложнее, чем back-end мониторинг: он зависит от многих компонентов глюков пользовательского интерфейса, проблем с соединением, аппаратного обеспечения пользователя, низкой производительности.
Целями инструментов мониторинга ошибок являются:
- Проактивно находить ошибки и сообщать о них
- Выявление критических ошибок и отключение «мусорных» ошибок
- Воспроизводить ошибки
- Предоставить анализ ошибок в вашем приложении
Рынок инструментов мониторинга и отслеживания ошибок
Первые игроки на этом рынке появились в начале 2010-х годов. Тогда было очевидно, что веб-технологии скоро будут доминировать на рынке приложений, и компании переводили бизнес в облако. Идея этих инструментов заключается в том, чтобы облегчить поиск, отчетность и исправление ошибок в веб-приложениях, как внешних, так и внутренних. Дополнительная мотивация для использования этих приложений была естественной и простой: экономия денег для компаний, поскольку эти инструменты позволяли им быстро исправлять критические ошибки в приложении.
Sentry был одним из первых, кто создал полноценный сервис мониторинга ошибок. Ребята встретились на работе в Disqus и создали Sentry для собственного локального использования на работе, а затем распространили его с открытым исходным кодом. Инструмент приобрел огромную популярность, и вскоре клиенты запросили хостинговую версию. Так появился тот Sentry, который мы знаем сейчас. Изначально команда выбрала нишу Python и Django.
В настоящее время и рынок, и инструменты развиваются. Уже есть лидеры, которые отстают, а также те, кто особо не развивается. По данным сервиса datanyze, доли рынка делятся следующим образом.
Источник изображения: https://www.datanyze.com/market-share/error-and-exception-monitoring-422
Как вы видите, Sentry является лидером рынка.
Как оценить инструменты мониторинга ошибок
Чтобы понять, хорош ли инструмент для мониторинга ошибок, мы рекомендуем задать следующие вопросы, прежде чем пытаться установить его в свое приложение:
- Есть ли у инструмента хорошая приборная панель для анализа информации?
- Есть ли у него ссылка на API?
- Можете ли вы отследить проблему с помощью инструмента до отдельного коммита (и автора коммита)?
- Предоставляет ли он дополнительные метаданные, которые помогают сделать его более значимым?
- Насколько широкую интеграцию он обеспечивает из коробки?
- Если инструмент удовлетворяет всем или хотя бы большинству этих вопросов, смело пробуйте его.
Лучшие инструменты для мониторинга и отслеживания ошибок
Один важный момент: мы будем рассматривать инструменты, основываясь на их функциональности для обнаружения ошибок в Интернете, поскольку мы являемся компанией, специализирующейся на разработке Javascript (angular admin dashboard — один из наших любимых продуктов).
Raygun
Обзор
Raygun Error Monitoring — это мощный, ориентированный на пользователя инструмент, который дает вам действенные идеи, а не просто подсказки. Raygun работает во всем технологическом стеке: на стороне клиента и на стороне сервера, на настольных и мобильных компьютерах. Вы можете быть уверены, что сможете обнаружить любую ошибку, где бы и когда бы она ни возникла. У вас будет возможность докопаться до строчки кода, чтобы диагностировать причину проблемы, а богатая контекстная информация поможет определить общие черты пользователей, столкнувшихся с одной и той же проблемой.
Основные функции/убийственные функции
Основными тремя особенностями Raygun являются:
- Получение полной информации о трассировке стека и диагностических данных для каждой ошибки или сбоя
- Фильтрация ошибок по дате, времени, версии, тегу, хосту, ОС, браузеру, пользовательским тегам и расстановка приоритетов по количеству затронутых пользователей
- Отображение тенденций в ошибках, таймингах производительности, трафике пользовательских сессий и многое другое с помощью настраиваемых панелей мониторинга.
####Дополнительные возможности
- Поддержка всех языков и фреймворков с легкими SDK
- Сохранение данных в течение 180 дней
- Перехват обработанных и необработанных исключений####Поддерживаемые технологииRaygun поддерживает почти все современные языки программирования для веб и мобильных устройств. Полный список вы можете прочитать в их документации.####Варианты ценообразованияRaygun имеет простые, гибкие цены, которые масштабируются вместе с вами. Тарифы составляют $4 за 10 000 событий в месяц при ежегодном расчете или $6 за 10 000 событий при ежемесячном расчете. Для компаний, обрабатывающих более 10 миллионов событий в месяц, предусмотрены скидки за объем. #### Регистрация, процесс установки и приборная панельRaygun прост в настройке и легко интегрируется с вашим текущим техническим стеком. Вы можете подписаться на бесплатный 14-дневный план, в течение которого вы можете отправлять неограниченное количество данных. После регистрации вы «активируете» пробную версию, отправив данные, которые в считанные минуты поступят на ваш счет Raygun. Рабочий процесс прост, и для начала работы практически не требуется времени.
Документация
Документация Raygun является исчерпывающей, разделенной по языкам, продуктам и т.д. Это настоящий центр информации обо всем, что касается Raygun, и он поможет вам сориентироваться в более безупречном приложении.
Интеграции
Raygun имеет большое количество интеграций, самые мощные из которых я перечислил ниже:
- GitHub: Подключите конкретные ошибки и группы ошибок к точной строке кода в вашем приложении в один клик. Легко перемещайтесь между Raygun и GitHub.
- Jira: Двусторонняя синхронизация Raygun с Jira означает более быстрый рабочий процесс разрешения ошибок. Помечайте тикеты как выполненные в Raygun, назначайте тикеты членам команды и защищайте свои данные с помощью нашей опции OAuth.
- Slack: Отправляйте предупреждения об ошибках и производительности на выбранный вами канал Slack. Решайте или назначайте оповещения непосредственно в Slack, чтобы уменьшить шум и быстрее реагировать на проблемы. Одна из наших самых популярных интеграций.####ВыводRaygun — это современное решение для мониторинга ошибок для разработчиков, которые хотят получить полную видимость ошибок во всем техническом стеке, глубоко погрузиться в первопричину и сэкономить время и деньги. По цене всего от $4 в месяц, с поддержкой всех широко используемых языков, Raygun является мощным и доступным вариантом для команд разработчиков. Начните бесплатную 14-дневную пробную версию уже сегодня.
Sentry
Обзор
Sentry — один из первых и самых популярных инструментов мониторинга ошибок, который сейчас становится платформой, предпочитая называть себя «платформой мониторинга приложений». Он обладает большим количеством функций, которые помогают решать проблемы приложений.
Основные функции/убийственные функции
Основными тремя функциями Sentry являются:
- Хлебные крошки
- Контекст
- ReleasesBreadcrumbs показывают события, которые привели к ошибке.
Источник изображения: https://sentry.io/welcome/That означает, что вы можете расставить приоритеты ошибок по их влиянию на бизнес или пользователей. Кроме того, вы можете увидеть маршрутную причину ошибки, чтобы не тратить время на отладку. Хлебные крошки доступны как на стороне сервера, так и на стороне клиента.
Sentry показывает все, что нужно знать для поиска и исправления ошибок — весь контекст. Он может связать ошибки с конкретным выпуском. Функция контекста также предоставляет полный контекст среды возникновения ошибки:
- Язык
- ОС
- Релиз
- ОкружениеКонечно, вы можете настроить пользовательский контекст.
И, наконец, релизы. С их помощью вы можете узнать, кто и когда вызвал ошибку. Релизы предоставляют дополнительный контекст, включая богатые данные о фиксации, чтобы вы знали, какие ошибки были устранены, а какие появились впервые.
Дополнительные возможности
- Пользовательские запросы;
- Карты исходных текстов для JS и Node;
- Приборная панель для анализа данных;
- Трассировка стека;
- Межпроектные проблемы.
Поддерживаемые технологии
Sentry поддерживает несколько технологий для веб, мобильных устройств и даже игр:
- Все технологии вокруг Javascript, включая фреймворки и конкретные библиотеки.
- Мобильные приложения — Android и iOS
- Настольные приложения — MacOS, Windows и Linux.
- Unreal и C для игр
- Веб-технологии бэкенда — Python, Ruby, PHP и т.д.#### Варианты ценообразованияСуществует четыре уровня цен:
- Разработчик — бесплатно, ограниченный объем мероприятий
- Команда — $26/месяц
- Бизнес — $80/месяц, расширенные возможности
- Enterprise — индивидуальная цена, все функции и выделенный менеджерТакже есть предоплаченные тарифные планы, в которых вы можете расширить объем мероприятий.
Регистрация, процесс установки и приборная панель
Существует несколько вариантов регистрации в Sentry: социальный логин или непосредственно электронная почта. После регистрации система предлагает вам выбрать платформу, которую вы хотите отслеживать. Например, если вы выберете javascript, Sentry покажет вам фрагмент кода для передачи в ваше приложение. Таким образом, процесс установки занимает буквально несколько минут.
После этого вы увидите довольно продвинутую админку с панелью статистики, проектами и другими возможностями.
Документация
Документация очень продвинутая, хорошо оформлена и работает быстро. Они хорошо сгруппированы по блокам: Начало работы, Платформы, API reference, Продукт, Управление данными, Поддержка и другие. Документация очень проста в использовании.
Интеграции
Sentry имеет огромное количество возможностей для интеграции с другими сервисами. Вы можете создать целую инфраструктуру для отлова и исправления ошибок. Интеграции разделены на блоки:
- Управление исходным кодом (Github, Gitlab и другие). Вы можете дополнить ошибки конкретными коммитами
- Инструменты развертывания
- Инструменты управления проектами (Jira и Asana). Назначайте исправления ошибок разработчикам с помощью контекста из Sentry
- Уведомления и мессенджеры (Slack, Twilio). Вы можете получать уведомления об ошибках прямо внутри этих инструментов
- Визуализация данных (Datadog) — просмотр и анализ ошибок с течением времени
- Инструменты для воспроизведения сессий (Fullstory и другие). Получите больше контекста с помощью видеосессий
- Инструменты аутентификации####ВыводSentry — очень продвинутый и полный инструмент с поддержкой большого количества платформ, хорошей документацией и большим количеством интеграций. На наш взгляд, у Sentry есть два основных недостатка — дизайн может отпугнуть корпоративных клиентов; полностью отсутствует воспроизведение пользовательских сессий.
Bugsnag
Обзор
Bugsnag — это платформа, которая, как и другие, позволяет разработчикам выявлять, расставлять приоритеты и воспроизводить ошибки. Bugsnag помогает проактивно реагировать на ошибки и предотвращать отвлечение пользователей. Ее основное отличие от Sentry заключается в том, что Bugsnag не имеет открытого исходного кода и обладает ограниченной поддержкой платформ.
Основные функции/убийственные функции
Источник изображения: https://www.bugsnag.com/
- Мгновенные уведомления через несколько интеграций с различными чат-приложениями
- Специфическая диагностика для JS-фреймворков
- Группировка ошибок по браузерам
- Поддержка Stackstrace и карт исходников####Дополнительные возможности
- Хлебные крошки
-
Расширенная группировка и фильтрация ошибок
Поддерживаемые технологии
Bugsnag уделяет приоритетное внимание мониторингу ошибок в мобильных приложениях, но также поддерживает веб-технологии и технологии на стороне сервера.
-
Мобильные технологии — Kotlin, Swift, React Native и Unity for Games;
-
Веб-технологии — Javascript, Angular, React, Vue;
Технологии на стороне сервера — Java, .NET, Node.js, Python, Ruby, PHP.Варианты ценообразования
Существует три тарифных плана — Lite, Standard и Enterprise. Lite стоит $0 в месяц, Standard — $69 в месяц, а Enterprise имеет индивидуальное ценообразование. Основное отличие заключается в объеме мероприятий и настройке различных функций: например, вы можете настроить параметры уведомлений.
Ввод в эксплуатацию, процесс установки и приборная панель
Для веб установка bugsnag очень проста: просто скопируйте и вставьте фрагмент кода с ключом API в ваше приложение или установите его через NPM. Процесс проходит легко и гладко.
Приборная панель довольно проста и дает меньше информации, чем, например, Sentry. Вы можете фильтровать ошибки по платформе, релизу, стадии и серьезности. Кроме того, ошибки группируются по статусу. Вы также можете назначить статус вручную. Также есть возможность просмотра статистики на панели временной шкалы.
Документация
Документация имеет хороший пользовательский опыт внутри, разделенный по смысловым блокам: Руководства, Справочник по API, Безопасность, Интеграции.
Интеграции
Bugsnag имеет множество вариантов интеграции, которые сгруппированы по функциям:
- Интеграция чатов — Slack, Flowdock и др.
- Пересылка данных — Splunk и другие
- Отслеживание проблем — Jira, Asana и более 10 других сервисов
- Управление инцидентами — Datadog, Twilio, OpsGenie
- Контроль исходных текстов — Github, Gitlab и др.
- Интеграция с сервисами SSO####ВыводBugsnag — это очень зрелый инструмент для отчетности об ошибках. Он имеет хороший послужной список компаний, которые его используют.
Trackjs
Обзор
Trackjs — это инструмент, который имеет специфическую нишу поиска только ошибок javascript. Компания имеет отличную репутацию среди веб-разработчиков благодаря тому, что ее владельцы — сами разработчики, которые не получили никаких инвестиций. Компания опиралась на собственные силы и оставалась независимой. Система ориентирована на простоту в своем дизайне и простоту в использовании: каждый веб-разработчик должен уметь разбираться в своих ошибках.
Источник изображения: https://trackjs.com/
Основные возможности/особенности
- Временная шкала телеметрии. Показывает все сетевые запросы, события приложения и действия пользователя, которые привели к ошибке.
- Группировка ошибок с помощью правил
- Панели метаданных####Дополнительные возможности
- Отчеты о влиянии ошибок
-
Тенденция и анализ ошибок
Поддерживаемые технологии
Инструмент поддерживает только javascript и front-end фреймворки: React, Vue и Angular. Это одновременно является и преимуществом, и недостатком. Мы считаем, что главным недостатком является то, что он не поддерживает NodeJS, но некоторые энтузиасты сделали open-source версию трекера TrackJS для NodeJS.
-
Варианты ценообразования
Существует 3 плана оплаты TrackJS: Starter за $49/месяц, Professional за $99/месяц и Business, от $199/месяц. Цена фиксирована, независимо от того, сколько сотрудников используют инструмент, и варьируется в зависимости от количества каналов уведомлений, а также событий, поступающих в систему.
Кроме того, если вы являетесь некоммерческой компанией или стартапом, вы можете рассчитывать на бесплатный тарифный план.
Регистрация, процесс установки и приборная панель
Вы можете зарегистрироваться в TrackJS только через электронную почту, социального входа нет. После регистрации вам будет предложено скопировать и вставить фрагменты кода в ваше приложение и начать отслеживать ошибки.
Затем нужно настроить команду, правила уведомления/игнорирования ошибок и имена среды/приложения. Приборная панель показывает статистику ошибок и группирует их по браузерам, времени, URL-адресам и метаданным.
Документация
Документацию легко читать и использовать. В ней есть вся информация, необходимая для использования программного обеспечения. Однако, по сравнению с другими инструментами, она немного ограничена.
Интеграции
Из коробки Trackjs не имеет никаких интеграций: вам придется делать собственные интеграции с другими инструментами, используя ссылки на API.
Заключение
TrackJS — это нишевый инструмент, который работает только с технологиями Javascript. Это и преимущество, и недостаток. Если смотреть с моральной точки зрения, то плюсом является и то, что инструмент не требует инвестиций и управляется веб-программистами.
Rollbar
Обзор
Rollbar — это зрелый инструмент для отслеживания ошибок практически на всех платформах, обладающий широким набором различных функций. Он стоит рядом с Sentry и Bugsnag. Компания была основана в 2012 году двумя инженерами, чтобы помочь другим разработчикам выявлять и исправлять ошибки.
Основные функции/убийственные функции
Источник изображения: https://rollbar.com/
- Возможность отследить ошибки до коммита, который их внес: имеется полная интеграция с GitHub, Bitbucket и GitLab. Эту информацию можно найти через приборную панель, а также через API или с помощью RQL (Rollbar Query Language).
- Телеметрия помогает проследить события в браузере, приведшие к ошибкам
- Мгновенные оповещения через популярные инструменты, такие как Slack, Pagerduty и другие####Дополнительные возможности
- Группировка ошибок для уменьшения шума
- Назначение ошибок членам команды####Поддерживаемые технологииRollbar поддерживает такие языки, как Ruby, PHP, Node, Python и Java, а также такие платформы, как iOS и Android. Однако основное внимание уделяется Javascript и его фреймворкам.
Варианты ценообразования
Rollbar предлагает ряд тарифных планов в довольно плоской структуре. Есть бесплатный персональный проект. Платные тарифные планы начинаются от $49 в месяц и доходят до $599 в месяц за премиум-план. В дополнение к ним вы можете получить индивидуальный проект.
Ввод в эксплуатацию, процесс установки и приборная панель
Процесс установки довольно прост, как и в любом другом инструменте — просто скопируйте и вставьте фрагмент кода в приложение.
На приборной панели приложения вы можете увидеть следующую информацию:
- 10 лучших вопросов за последние 24 часа
- Топ-5 активных элементов за последние 24 часа
- Топ-5 активных элементов за последнюю неделюДополнительно вы можете отфильтровать отчет по среде. Вы можете просмотреть список всех элементов, посмотреть, сколько раз они возникали, тенденцию за 24 часа, последний раз, когда они возникали, в какой среде они возникали, и язык.
Углубляясь в элемент, можно просмотреть всю историю этого исключения. Вы можете увидеть браузер, операционную систему, метод запроса, URL-адрес запроса и сообщение об исключении. Исключение также может быть связано с проблемой системы контроля версий, что позволяет устранить ее и перенести в развертывание с полной историей.
Документация
Документация построена как отдельный ресурс и содержит всю информацию для эффективной настройки и развития Rollbar. Все возможности инструмента описаны и легко читаются.
Интеграции
Rollbar интегрируется с большинством стандартных сервисов, таких как Slack, HipChat, Logstash, Mailgun, Jira, Trello, Sprintly, Help Scout и PagerDuty. По каждой интеграции на сайте Rollbar есть отличные руководства.
Заключение
Rollbar имеет впечатляющее предложение для множества языков и фреймворков, но для его работы необходимо внести некоторые изменения в код.
Airbrake
Обзор
Airbrake называет себя системой мониторинга приложений, которая включает ошибки, развертывание и производительность.
Основные возможности/особенности
Источник изображения: https://airbrake.io/
- Оповещения в реальном времени
- Агрегирование ошибок
- Пользовательские фильтры для предотвращения шума####Дополнительные возможности
- Хлебные крошки
- Поиск ошибок
- Анализ ошибок####Поддерживаемые технологииAirbrake поддерживает большое количество языков и платформ, включая Java, JavaScript, PHP, Go, Node, Swift, Magento, Django, .Net и Ruby on Rails.
Варианты ценообразования
Ценообразование поддерживает четыре варианта. Цены начинаются от $49 в месяц и доходят до $249 в месяц. Продукт также предоставляет возможность 30-дневной пробной версии.
Ввод в эксплуатацию, процесс установки и приборная панель
Процесс установки прост и гладок — простое копирование и вставка фрагмента кода в приложение.
Данные приборной панели включают следующее:
- Количество случаев возникновения исключения
- окружение, в котором находилось приложение в момент возникновения ошибки
- полная обратная трассировка
- Сколько раз исключение произошло с момента последнего развертыванияИсключения можно отфильтровать по окружению, расставить приоритеты по количеству ошибок, окружению и пользователям. Airbrake позволяет легко превращать исключения в тикеты, чтобы их можно было отследить до разрешения и развернуть в различных средах.
Документация
Документация Airbrake не такая обширная, как у других инструментов. Но она все же содержит подробные инструкции по настройке, которые помогут вам начать работу, независимо от языка или платформы.
Интеграции
Из коробки продукт имеет интеграцию с рядом стандартных сервисов, включая Bitbucket, GitHub, PivotalTracker, FlowDock, Campfire, Jira, HipChat и другие. Однако, по сравнению с другими инструментами, количество интеграций невелико.
Заключение
В отличие от других продуктов в этой статье, Airbrake не кажется таким уж многофункциональным. Например, в то время как Raygun и Sentry поддерживают логины через Facebook, Google+, Twigger и GitHub, Airbrake поддерживает только GitHub.
Logrocket
Обзор
Logrocket отличается от других инструментов возможностью записи пользовательских сессий для лучшего понимания того, как именно произошла ошибка.
Основные возможности/особенности
Источник изображения: https://logrocket.com/
LogRocket имеет несколько действительно классных функций, включая:
- Воспроизведение видео сеанса пользователя: Вы можете буквально видеть все, что видит ваш пользователь в режиме реального времени. Вы можете воспроизвести видеозапись всех действий пользователя, которые привели к ошибке.
- Отслеживание IP-адресов и User-Agent: LogRocket отслеживает IP-адрес каждого сеанса, но он также может сказать вам, какой браузер используется. Это чрезвычайно полезно для устранения проблем, связанных с конкретным браузером.
- Регистрация действий: Вы можете увидеть все действия Redux, запущенные вашим приложением, а также полезную нагрузку, которую они несли в момент запуска.####Дополнительные возможности
- Протоколирование сетевых запросов/ответов: Вы можете видеть все сетевые запросы с момента перехода к определенной конечной точке.
- Сохраняемые фильтры: LogRocket позволяет вставлять пользовательские свойства (называемые User Traits) в ваши журналы, позволяя вам составлять пары ключ-значение, которые предоставляют больше информации о вашем пользователе или сессии.####Поддерживаемые технологииLogrocker работает в основном с технологиями Javascript. Одной из особенностей является поддержка логирования ошибок Redux.
Варианты ценообразования
Первый тарифный план — Free: 14-дневная пробная версия с доступом ко всем функциям и до 1000 сессий. Каждая сессия длится 30 минут, начиная с момента использования функции LogRocket.init().
Далее следует план Team, цена которого зависит от количества членов команды и сеансов:
- $99/месяц за 10000 сеансов, 5 членов команды
- $199/месяц за 25000 сессий, 10 членов команды
- $399/месяц за 100000 сессий, 20 членов команды.
- Последний план — Custom Pricing: о цене вам придется поговорить непосредственно с командой.
Регистрация, процесс установки и приборная панель
Первым шагом будет регистрация на сайте LogRocket. После создания имени проекта вы получите 6-символьный ключ, который будет использоваться вместе с именем проекта в качестве YOUR_APP_ID в настройках инициализации вашего приложения (см. ниже). Когда вы будете готовы к работе, вы запустите LogRocket, вставив две строки кода в свое приложение.
Документация
Если вы зайдете на сайт docs.logrocket.com, то обнаружите, что у них замечательная документация. Она очень подробная и способна ответить на многие ваши вопросы.
Интеграции
LogRocket интегрируется со многими другими инструментами протоколирования, такими как Sentry, Airbrake, Bugsnag. Вы также можете интегрировать его с инструментами управления проектами и аналитики, такими как Google Analytics или JIRA.
Заключение
Среди прочих Logrocket является особенным инструментом: его убийственная функция позволяет пользователям видеть повтор сессии и исправлять ошибки гораздо быстрее. Некоторые пользователи говорят, что подсчет сессий не подходит для B2B-приложений: несколько десятков пользователей создают тысячи сессий из-за способа подсчета (30 минут бездействия).
Errorception
Обзор
Errerception — самый старый и самый простой инструмент на рынке. Он был создан и поддерживается только одним человеком — Ракешем Паем. Это один из самых надежных и быстрых инструментов.
Основные возможности/особенности
Умная группировка
Errorception группирует ваши ошибки вместе, поэтому вы не видите длинный, пугающий список логов. Вы видите разумные ошибки, которые можно использовать. Вам не нужно помечать ошибки и дублировать их.
Никаких изменений в коде
Errorception является встроенным. Вам не нужно изменять свой код, Errorception не изменяет ваш код или время выполнения. Просто добавьте тег скрипта, и все готово.
Тонны интеграций
Благодаря растущему списку сторонних интеграций, а также возможности получать уведомления с помощью WebHooks, вы получаете свои ошибки там, где вам удобно.
Автоматическое игнорирование ошибок
Вам, вероятно, все равно, что кнопка Facebook Like выдала ошибку, или Google Analytics сломался. Этот инструмент понимает и скрывает их для вас.
Источник изображения: https://errorception.com/
Дополнительные возможности
Отложенная асинхронная загрузка
Код Errorception не только загружается асинхронно, он загружается после срабатывания onload окна. И все это при сохранении записи ошибок с самого начала! На время загрузки страницы это не влияет.
Минимальные запросы
Ошибки буферизируются в браузере в течение некоторого времени перед отправкой на сервер, чтобы избежать ненужных сетевых запросов. Пропускная способность канала связи — ценный ресурс для вашего пользователя.
Минимизированная обработка
Errorception обрабатывает ошибки на сервере, когда это возможно, чтобы браузер тратил свое время на работу вашего приложения, а не на обработку ошибок.
Глобальная сеть CDN
Errorception использует мощную глобальную сеть Cloudflare для передачи JavaScript-кода отслеживания вашим пользователям из ближайшего из 24 центров обработки данных по всему миру, что обеспечивает минимальную задержку.
Поддерживаемые технологии
Продукт ловит ошибки только из приложений, основанных на Javascript.
Варианты ценообразования
Ценообразование имеет 5 уровней и зависит от количества ошибок в день:
- Бесплатно;
- Микро — $5 в месяц;
- Малый — $14 в месяц;
- Средний — $29 в месяц;
- Крупный — $59 в месяц.
Ввод в эксплуатацию, процесс установки и приборная панель
Процесс установки аналогичен другим инструментам. Просто скопируйте и вставьте сниппет. Приборная панель очень проста, нет фильтрации или правил для упорядочивания ошибок.
Документация
Документация очень простая, но на самом деле помогает использовать инструмент.
Интеграции
Инструмент не имеет интеграции из коробки, но у него есть API и поддержка webhooks, что позволяет вам создавать собственные интеграции с другими сервисами, особенно с приложениями уведомлений.
Заключение
Errorception — очень быстрый и надежный инструмент. Он был создан с философией высокопроизводительного инструмента. Однако он поддерживает только JS-приложения и имеет ограниченное количество интеграций и дашборд.
Catchjs
Обзор
CatchJS — это трекер ошибок javascript, очень похожий на TrackJS и Errorception. Это легкий и очень быстрый рабочий инструмент.
Основные возможности/особенности
Источник изображения: https://catchjs.com/
- Карты источников
- Скриншоты
- Уведомления по электронной почте
- Stacktraces####Дополнительные возможности
- Поддерживается GDPR
- Статистика браузеров
- Тенденции ошибок####Поддерживаемые технологииВ основном это технологии Javascript: React, Angular, Backbone.js
Варианты ценообразования
Существует 3 уровня. Цена зависит от количества регистрируемых ошибок.
- Уровень разработки стоит $49/месяц
- Производственный уровень стоит $89/месяц
- Корпоративный уровень стоит $499/месяц####Онбординг, процесс установки и приборная панельПросто скопируйте и вставьте сниппет в ваше приложение. На приборной панели (и во всем приложении) отображается минимум информации.
Документация
Документация очень ограничена и содержит только два блока: как установить инструмент и как он работает.
Интеграции
Никаких интеграций из коробки. Также отсутствует ссылка на API.
Заключение
Этот инструмент достаточно ограничен, но его стоимость несправедливо высока по сравнению с другими инструментами.
Некоторые альтернативные инструменты, которые можно использовать для отлова, мониторинга и отслеживания ошибок
Fullstory
Fullstory — это платформа, которая записывает пользовательские сессии и предоставляет аналитику поведения пользователей в веб-приложении, на сайте или в мобильном приложении. Этот инструмент может быть интегрирован с Sentry или другими инструментами мониторинга ошибок для более эффективного устранения ошибок.
New Relic
New Relic — это программное обеспечение для мониторинга приложений, которое фокусируется на мониторинге проблем производительности. Однако в нем есть функция мониторинга ошибок. Он будет хорошо работать в корпоративных приложениях.
Hotjar
Hotjar — это продукт, похожий на Fullstory, но он также записывает сессии пользователей. В нем нет встроенных инструментов мониторинга ошибок, но вы можете интегрировать его с другими инструментами, которые помогут вам в исправлении ошибок.
Заключение
Мы рассмотрели самые популярные инструменты мониторинга ошибок, представленные сегодня на рынке. Если говорить от лица нашей компании, то мы выбрали Sentry по нескольким причинам, таким как открытый исходный код, разумная цена и обширная панель инструментов. Однако если вы работаете только с Javascript, обратите внимание на такие инструменты, как TrackJS или Errorception. Они надежны и быстры. Если у вас на примете есть другие инструменты, которые мы забыли упомянуть — пожалуйста, дайте нам знать!
Бонус
Как я и обещал, вот история инструмента, который мы разрабатывали с моим партнером почти 3 года. Инструмент назывался Kuoll. К тому времени на рынке мониторинга ошибок веб-приложений уже были известные игроки, такие как Sentry, Bugsnag и NewRelic.
Почему мы все-таки решили ввязаться в эту борьбу? Мы проанализировали рынок, поговорили с разработчиками и обнаружили серьезную слабость во всех этих инструментах. На тот момент они еще не решили проблему поиска сути ошибки. Они отлично справлялись с фиксацией деталей ошибки, но чтобы выяснить, что именно произошло, все равно приходилось общаться с пользователями.
В то же время на рынке уже были представлены такие сервисы, как Hotjar, Yandex Webvisor, Fullstory. Эти сервисы записывали сессии пользователей, чтобы проанализировать их поведение в веб-приложении или на сайте. Наши респонденты рассказали нам, что они даже пытались интегрировать Fullstory и Sentry вместе, но у них ничего не получилось.
Тогда мы решили, что стоит записывать сессии пользователей до возникновения ошибки, чтобы разработчик мог понять, что произошло, не общаясь с пользователем и не воспроизводя ошибку. Таким образом, мы сохранили нервы всем и сэкономили время и деньги (ха-ха — да).
В вопросах маркетинга и продаж мы были полными профанами, но у нас было понимание, что продукт нужно продавать снизу вверх, от разработчика до высшего руководства. Поэтому мы начали писать веб-разработчикам с просьбой бесплатно протестировать продукт и дать нам обратную связь, надеясь при этом, что он им понравится. Им он, конечно, не понравился, но мы получили много отзывов о том, как его улучшить. Самым важным результатом стало точное определение нескольких ключевых вещей, которые необходимо было сделать:
- Согласованный онбординг
- Приборная панель для анализа ошибок
- Уведомления пользователей
- Решение записывать только за 3 минуты до возникновения ошибки, чтобы не загружать памятьКогда мы сделали все это, мы начали строить правильный бизнес. Мы прошли два стартап-акселератора и привлекли более 150 000 долларов инвестиций. У нас появились первые платящие клиенты и много отзывов. Мы также сделали поворот в результате обратной связи от наших клиентов и, в конце концов, сосредоточили наши усилия на обслуживании интернет-магазинов. Идея заключалась в том, чтобы показать ошибки, которые критически влияют на конверсию в магазине. В итоге, несмотря ни на что, нам пришлось закрыть наш стартап.
Почему мы не добились успеха, если у нас была действительно новая и инновационная идея? Мы выявили несколько причин:
- Мы не довели до совершенства одну убийственную функцию, которая бы превзошла конкурентов. Этой особенностью была видеозапись до возникновения ошибки. Видео работало очень плохо, и им невозможно было пользоваться.
- Холодные продажи тоже были ошибкой. Они вообще не нужны с таким продуктом. Нужно было развивать сайт и заниматься контент-маркетингом
- Нам также нужно было постараться сосредоточиться на продукте и клиенте, а не на привлечении инвестиций.
- И последнее: по нашему мнению, продукт должен был быть с открытым исходным кодом##Вам также могут понравиться эти статьи:
- Топ-7 удивительных шаблонов админ-панелей на основе Vue Material, заслуживающих вашего внимания
- Typescript vs. Javascript: Ключевые различия, которые вы должны знать в 2020 году
- Топ ошибок, которые допускают разработчики JavaScript