Hawk — инструмент для мониторинга ошибок в программах. Он позволяет получить представление о происходящих сбоях в продукте, показывает детализированную информацию о возникших ошибках, помогает идентифицировать и устранить проблему. Благодаря этому, конечный продукт становится более стабильным и качественным.
В этой статье рассмотрим возможности, которые предоставляет Hawk.
Отслеживание ошибок
Есть два способа отлова ошибок: глобальный и ручной.
Глобальный отлов ошибок
Хоук автоматически вешает глобальный обработчик при инициализации, после этого все события будут попадать в мониторинг. А вы будете получать соответствующие уведомления.
Установка крайне простая. Пример интеграции Хоука в JavaScript-проект:
import HawkCatcher from '@hawk.so/javascript';
const hawk = new HawkCatcher('INTEGRATION_TOKEN');
Интеграционный токен вы получите при регистрации проекта в Хоуке.
Ручная отправка
Наряду с глобальным мониторингом доступна отправка ошибок вручную. Это может быть полезно для дебага узких мест, а также для логирования. Например, можно отправлять логи при регистрации пользователей или создании заказа в интернет-магазине.
Пример ручной отправки сообщений:
hawk.send('Order created', {
details: '1234',
});
Все отправленные ошибки и логи будут доступы на странице проекта.
Страница проекта
Здесь выводятся все отловленные ошибки. Функции фильтрации, сортировки и маркировки помогают не пропустить важные события.
Анализ ошибки
По каждой ошибке Hawk предоставляет информацию, полезную для анализа и исправления проблемы:
- файл, в котором выпала ошибка
- фрагменты кода, где выпала ошибка
- трассировка ошибки
- локальные переменные
- параметры запроса
- заголовки
- информация о системе пользователя
- связанные коммиты и релизы
- количество повторений
- число затронутых пользователей
- контактные данные пользователя
- дополнительные данные от фреймворка
График здоровья приложения
На странице проекта сверху выводится график количества ошибок в приложении по дням. Это позволяет оценить общее состояние и следить за качеством проекта в динамике.
Фильтрация данных
Чтобы чувствительные данные не улетели за пределы приложения, можно настроить фильтрацию событий перед отправкой. Помимо этого сам Хоук под капотом фильтрует подобные данные: PAN-коды, Access-токены, пароли и прочие креденшелы.
Source Maps
Для frontend-ошибок доступна возможность загрузки source maps, чтобы фрагменты кода в Хоуке отражали исходный код, а не минифицированную сборку. Для этого нужно настроить отправку релизов с помощью Webpack, Vite или вручную через curl.
Установка и интеграция
Для начала, нужно зарегистрироваться в системе, создать воркспейс и проект. После этого вы получите Интеграционный Токен.
Далее нужно установить небольшой скрипт (Catcher) в ваш код. Hawk поддерживает интеграции с большинством языков программирования, и их количество постоянно растет. Выбирайте свою технологию из списка и следуйте инструкции в Readme репозитория.
Если вашей технологии или фреймворка нет в списке, напишите на [email protected], и команда его оперативно добавит, а вы получите хорошую скидку.
Настройка доступа
Hawk не накладывает ограничений на количество рабочих пространств, проектов или участников команды. Вы можете создать воркспейс, добавить туда необходимых людей и создать внутри отдельные проекты для каждой интеграции. Например, для frontend и backend приложений.
Если вам нужно разграничить доступ между членами команды, просто создайте несколько воркспейсов.
Членов команды можно назначать исполнителями на задачи.
Уведомления
Очень удобно получать уведомления о новых событиях в Telegram или Slack. Также можно настроить получение писем на email.
Open Source
Исходный код проекта открыт и доступен на GitHub. Любой желающий может его изучить, внести свои предложения или сообщить о проблеме. Всего в проекте задействовано более 35 репозиториев.
Версия с инфраструктурой в России
Для компаний, у которых есть требования по локализации инфраструктуры, доступна специальная версия Хоука, в которой все сервера и ЦОД находятся в России. Особенности этой версии:
- Сервера в России
- Оплата по счету юр. лица
- Помощь с интеграцией и настройкой
- Гарантия доступности
- Оперативная техподдержка
Стоимость
Бесплатный план включает лимит на 1к ошибок в месяц. Это подойдет для тестирования или небольшого пет-проекта. Для работающего бизнеса лучше приобрести расширенный план.
Цена тарифного плана зависит от ваших требований. В первую очередь, от объема ошибок, которые нужно обрабатывать. Для того, чтобы узнать стоимость, напишите свой запрос на [email protected], либо в Telegram. Команда всегда идет на встречу и предлагает скидки для новых клиентов.
Использование Hawk для отслеживания ошибок помогает быстро находить и устранять проблемы, что повышает стабильность вашего продукта. Чем выше его качество, тем лучше пользовательский опыт, что напрямую влияет на рост прибыли. Интеграция Hawk проста, а фильтрация данных защищает чувствительную информацию. Внедряя систему мониторинга, вы не только улучшаете продукт, но и создаете конкурентное преимущество, привлекая и удерживая клиентов.
Сайт проекта: hawk-tracker.ru