9 платных, условно-бесплатных и бесплатных программ для трекинга кода приложений

    Трекинг кода must-have в среде разработки. Но вот насколько нужен этот же инструмент в продуктиве? Тот, кто лишь кропотливо собирает логи скажет «ну его нафиг, мой ELK меня не подводит» и будет по-своему прав. До поры до времени.



    Нет, логи, конечно, мощный инструмент. Но смотря только в них не увидишь неотлавливаемых ошибок или значений переменных, присвоенных в момент возникновения ошибки. Читайте в этом выпуске:

    1. Rollbar
    2. Raygun
    3. Sentry
    4. OverOps
    5. Airbrake
    6. BugSnag
    7. StackHunter
    8. VBATelemetry
    9. Appenlight

    1. Rollbar


    image
    Дашборд Rollbar

    Пишут на своём сайте «Поймай ошибки если сможешь пока это не сделали за тебя пользователи». Ну что ж попробуем. Rollbar предоставляет облачный сервис и умеет работать с несколькими языками программирования благодаря вживлению своего SDK в контролируемое приложение.


    Вживление кода Rollbar

    На дашборде группирует ошибки, показывает итоговое количество. Не суперкосмическая техология, но позволяет увидеть ошибки из всего стека приложения. Почему-то на сайте они сравнивают себя с New Relic. Понимаю, что назначение схожее, но почему не сделаны сравнения для Appdynamics или Dynatrace — загадка.

    Какие языки программирования и платформы поддерживаются


    Не много, но и не мало: JavaScript, Angular, Node.js, Python, Ruby, Django, PHP, Clojure, .NET, Android, iOS, Haskell, Drupal, Rails и другие.

    Возможности


    Стандартный набор типа:

    — отключить или скрыть определенные объекты мониторинга, о состоянии которых знаете;
    — определить степень серьезности каждой ошибки и получить уведомление, если ошибка повторится;
    — отправить любое событие члену команды, которое нужно решить, чтобы дашборд оставался девственно чистым.

    И ещё есть интересная фича — выдача готовых параметров для повторения транзакции через curl.

    image
    Параметры запроса через curl

    Интеграции:

    • Datadog
    • Flowdock
    • Github
    • Help Scout
    • Logentries
    • Logstash
    • Mailgun
    • PagerDuty
    • Slack
    • Trello
    • Webhooks

    Цены


    Бесплатно до 5000 событий в месяц, до 100000 событий 41$, до 500 000 событий $124. Полный список цен можно посмотреть на сайте вендора.

    2. Raygun


    image
    Дашборд Pulse

    Raygun предлагает 2 облачные услуги: Real User Monitoring (aka Pulse) и Crash Reporting. Pulse контролирует пользовательские сеансы и выявляет проблемы с производительностью, по каждой из которых можно настроить оповещение. В нем есть отдельная панель мониторинга, которая информирует о времени загрузки страниц из конкретных стран, браузеров и устройств.

    Crash Reporting контролирует работу самого приложения и показывает на дашборде диагностические отчеты и другие сопутствующие данные.

    image
    Дашборд Crash Reporting

    Какие языки программирования и платформы поддерживаются


    .NET, Android, Drupal, Go, iOS, JavaScript, Node.js, PHP, Python, Ruby, Unity и другие.

    На всякий случай, если вы вдруг не заметили отсутствие в этом списке Java (не поддерживать которую сегодня вообще дурной тон): чтобы трейсить Java нужно добавить в приложение библиотеку Raygun4Java. Это позволит отправлять исключения прямо в дашборд Raygun. Если что, в документации Raygun есть описание как это делается.

    Возможности


    Raygun умеет группировать многократные ошибки. На дашборде можно отмечать тегами группы ошибок или их экземпляры для последующего формирования отчетов.

    В каждой группе ошибок члены команды могут видеть обновления статуса, комментарии и другую информацию, а на дашборде показывается количество пользователей, затронутых каждой ошибкой.

    Есть опция полнотекстового поиска, которая поможет быстро найти нужную ошибку. Ну и куда же без поддержки webhooks и отправки уведомлений сторонним системам оповещения.

    Интеграции:

    • Asana
    • Assembla
    • BitBucket
    • Campfire
    • HipChat
    • Intercom
    • JIRA
    • PagerDuty
    • Slack
    • Trello
    • Webhooks
    • Zendesk

    Цены


    Raygun продаёт Pulse и Crash Reporting как 2 разных сервиса, за которые и платить нужно по-отдельности. Для безлимитной версии можно купить оба сразу.

    Цена на Pulse начинается с $99/месяц за 100 000 пользовательских сессий в месяц. Следующий тарифный план — $198/месяц за 200 000 сессий, а за 500 000 сессий просят $495/месяц.

    Цена на Crash Reporting начинается с $49/месяц за 25 000 ошибок и от максимум 5 приложений. За $149/месяц дают обрабатывать 250 000 ошибок от максимум 20 приложений, а за $499/месяц 3 000 000 ошибок от 50 приложений.

    Ну, и есть супер-пупер энтерпрайз тариф для обоих сервисов, который стартует с $999/месяц за безлимитное количество сессий и событий.

    3. Sentry


    Нашел на Хабре несколько статей про эту штуку, даже штаб Навального её использовал для своего Жнеца. Sentry начинался как небольшой кусок кода, который превратился в полномасштабный инструмент мониторинга ошибок, вылову и дебагу ошибок в проде. Можно поставить у себя или заюзать облачную версию.

    В дашборде можно видеть трассировку стека вызовов, определять URL каждой ошибки, параметры и информацию о сессии.

    image
    Дашборд Sentry

    Какие языки программирования и платформы поддерживаются


    JavaScript, Node.js, Python, Go, PHP, Ruby, C #, Objective-C и даже Swift.

    Raven — это клиент Java для Sentry, он использует популярные библиотеки логирования для сбора и преобразования файлов логов. Библиотека берет эту информацию и отправляет данные в Sentry.

    Возможности


    Ошибки ловятся в режиме реального времени, каждая ошибка включает информацию о среде выполнения и данных пользователей. Если пользовательский опыт — ключевой источник данных для диагностики ошибок, Sentry может запрашивать у пользователей обратную связь каждый раз, когда они сталкиваются с ошибками.

    Интеграции:

    • HipChat
    • GitHub
    • Slack
    • Trello
    • Heroku
    • Campfire
    • JIRA
    • PagerDuty
    • GitLab

    Цены


    Для использования на своих мощностях — нахаляву. Для коммерческого использования в облаке цена колеблется в районе $26–$449/месяц для предела в 1 миллион событий в день. Для оценки количества событий есть 14-дневный триальник.

    4. OverOps


    OverOps помогает разработчикам понять когда, где и почему код ломается. Он фиксирует исключения и ошибки, и еще это единственное решение (рили другого такого не встречал), показывающее состояние переменной, вызвавшее его, через методы и машины. Если хотите узнать про продукт немного подробнее — на Хабре я как-то писал о нём. Из вариантов установки: on-premise, hybrid (БД у себя, аналитика в облаке), SaaS — есть из чего выбрать.

    С помощью OverOps вы получите представление о фактическом коде, который был запущен в момент возникновения исключения или ошибки. Интересный инструмент для поиска, анализа и исправления ошибки.

    image
    Экран анализа ошибок OverOps

    Какие языки программирования и платформы поддерживаются


    OverOps поддерживает всех языки JVM: Java, Scala, Clojure, Groovy.

    Агент OverOps устанавливается буквально за несколько команд в консоли. Он работает как Java-агент, поэтому нет необходимости в изменениях кода или сборки, нужно прицепить этот Java-агент к своей JVM.

    Возможности


    Для тех, кто предпочитает просматривать логи каждый раз при возникновении ошибки, инструмент вставляет в лог прямую ссылку на дашборд в OverOps с этой конкретной ошибкой. Прямо из лога, после перехода по ссылке, можно увидеть исходный код с трассировкой стека вызовов и значениями переменных, которые вызвали ошибку. В связке со Splunk или ELK будет удобно им пользоваться — посмотрите минутный видос на ютубе.

    Из дашборда можно настраивать оповещения на основе частоты ошибок, фильтровать ошибки по приложению, местоположению кода, времени и т.д.

    Интеграции:

    • JIRA
    • Slack
    • HipChat
    • PagerDuty
    • Graphite
    • Grafana
    • Nagios
    • Zabbix
    • New Relic
    • AppDynamics
    • DataDog

    Цены


    Бесплатная версия есть только в виде триала. Прайсы на сайте они не выложили, если кому нужно — обращайтесь, могу узнать цену.

    5. Airbrake


    Airbrake — инструмент для для сбора и отслеживания исключений и ошибок в приложении. Каждая ошибка включает среду, в которой она произошла, когда она была впервые обнаружена, тип ошибки и другие детали. Встраивается в приложение в виде SDK. Сервис работает из облака.

    image
    Дашборд Airbrake

    Какие языки программирования и платформы поддерживаются


    Ruby, PHP, JavaScript, .NET, Python, Django, Node.js, iOS, Swift, Android, Go, Angular, Flask и другие.

    Возможности


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

    Есть дашборд, который показывает когда впервые возникла каждая ошибка, чтобы понять возникла ли эта ошибка после накатки релиза или до него. Ошибки можно прикреплять к членам команды, чтобы потом было понятно кто несет ответственность за их исправление.

    Интеграции:

    • Assembla
    • Bitbucket
    • Campfire
    • Flowdock
    • GitHub
    • GitLab
    • HipChat
    • JIRA
    • Lighthouse
    • Pivotal Tracker
    • Slack
    • Trello
    • Webhooks
    • Zapier

    Цены


    Дают 30-дневный триальник, но просят взамен данные карты. Имхо, для теста подойдёт.

    Инструмент тарифицируется по количеству событий. Самый низкий тарифный план стоит $59/месяц и включает 10 000 ошибок в месяц в 5 приложениях. За 300 000 ошибок в месяц и безлимитное количество приложений попросят $129/месяц, и, наконец, 1 миллион ошибок в месяц и неограниченное количество приложений стоят $299/месяц.

    6. Bugsnag


    Bugsnag отслеживает ошибки и исключения внутри приложения и пытаться определить корневую причину и оценить влияние на пользователя. Искусственный интеллект в действии.

    image
    Дашборд Bugsnag

    На панели инструментов дается обзор всех ошибок с возможностью отфильтровать неразрешенные. Он группирует ошибки, которые имеют аналогичное происхождение в коде, и помогает визуализировать и сравнивать различные тенденции ошибок с течением времени с графиками.

    image
    Дашборд с указанием индекса производительности для каждого релиза

    Встраивается в приложение в виде SDK, работает в виде сервиса из облака. Bugsnag к Java-приложению можно добавить, используя Gradle, Maven или вручную. Также есть возможность добавить SDK, используя Spring и Spring boot.

    Какие языки программирования и платформы поддерживаются


    Android, Go, iOS, .NET, Node.js, PHP, Python, Ruby, Unity.

    Возможности


    На дашбордах можно скрывать ошибки до тех пор, пока они не будут соответствовать определённым вами условиям или отключить звук при возникновении ошибок, если они не важны. Каждая ошибка содержит данные о количестве затронутых пользователей и сколько раз это происходило.

    Меню состояния ошибки дает дополнительную информацию: показывает ход ошибок, фид активности показывает ход изменений каждой ошибки с течением времени.

    Цены


    Бесплатный тарифный план поддерживает до 7500 ошибок в месяц для одного пользователя. Тарифный план для команды начинается с $29/месяц и доходит до $59/месяц за 150 000 ошибок в день для 5 членов команды. Чтобы узнать условия неограниченного корпоративного тарифный плана, нужно с ними связаться.

    7. StackHunter


    Stackhunter умеет извлекает данные из Log4J и Logback. Каждая ошибка включает в себя трассировку стека, HTTP-запрос, свойства JVM, атрибуты JMX и когда и где это произошло впервые. StackHunter наблюдает за неотлавливаемыми исключениями, а также с ошибками, зарегистрированными в Log4J и Logback. Устанавливается на вашем сервере.

    image
    Дашборд StackHunter

    Какие языки программирования и платформы поддерживаются


    Это инструмент, специально предназначенный для перехвата исключений Java. Он поддерживает JDK 6 или выше и требует наличия Servlet 2.5 или выше. Установка простая: нужно развернуть вstackhunter.war на веб-сервере.

    Возможности


    StackHunter отслеживает исключения, подключаясь к Log4J и Logback. Инструмент предлагает один веб-интерфейс, в котором можно просматривать все исключения.

    На дашборде можно увидеть все исключения приложения, отфильтровать уникальные исключения или просмотреть, какие из них повлияли на пользователей или их сеансы. Аналогичные исключения группируются вместе.

    Цены


    Есть 30-дневный триальный период. Цены просят запрашивать у них напрямую. Если понадобится помощь с ценами — обращайтесь.

    8. VBAtelemetry


    Хоть это и не продуктивных приложений, а для сугубо персональных задач в области отладки макросов в пакете MS Excel, нельзя было не упомянуть эту полезную штуку. Работает в связке с Azure Insights. Помогает вылавливать ошибки выполнения макросов и следить за их производительностью. VBAtelemetry можно использовать бесплатно, потому что и у самого и у Azure есть соответствующие бесплатные тарифные планы. Для работы требуется установка небольшого агента.

    image
    Вставка ключа в код макроса

    image
    Производительность макроса в Azure Insights

    Какие языки программирования и платформы поддерживаются


    Как ни странно, но только VBA.

    Возможности


    Возможности инструмента можно перечислить по трём функциям:
    TrackPageView. Контроль за формами и таблицами, которые открывает пользователь.
    TrackEvent. Функция, которая определяет данные по каким событиям нужно отправлять в Azure Insights.
    TrackError. Функция для отправки ошибок выполнения кода в Insights.
    TrackMetric. Функция для контроля за производительностью. Измеряет время выполнения кода.

    Интеграции:

    • Azure Insights

    Цены


    Можно пользоваться бесплатно, но будет выскакивать всплывающее окно. Можно заплатить $39 за ключ и забыть об этом. Если купите от 20 ключей, они дают скидку в 50%. Необходимое количество ключей зависит от того, сколько экземпляров Azure Application Insights вы будете использовать. Если один — понадобится только один ключ.

    9. Appenlight


    Open-source и бесплатно. Инструмент трекает исполняемый код. Для работы требуется внедрение легковесного SDK. Сам сервер приложений поставляется в виде OVA-образа.

    image
    Интерфейс Appenlight

    Какие языки программирования и платформы поддерживаются


    Python, JavaScript, NodeJS, PHP, Ruby и другие. Java не поддерживается.

    Возможности


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

    Интеграции:

    • Bitbucket
    • Github
    • Jira
    • Slack
    • HipChat
    • Campfire
    • Flowdock
    • Webhooks

    Цены


    Полностью бесплатно.

    У каждого инструмента есть свои плюсы и минусы. К счастью, вендоры дают триал и ничего не мешает попробовать тот или иной инструмент. Расскажите что используете для отлова ошибок: платное/бесплатное, своё/промышленное.

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 7

      +2
      Для трейсинга событий есть проекты:
      Zipkin
      Xray
      Jaeger
        0
        Про них тоже стоит написать
        0
        del
          +2
          Для полноты картины, пожалуйста, дополните раздел о Sentry информацией о том, что «on premise» версия полностью бесплатна для любого использования — пруф, платным является только облачный сервис.
            0
            Поправил — спасибо!
            0

            Казалось бы, при чем здесь Навальный )) Без политоты и при всем уважении, во фразе "даже X использовал продукт Y", Х должен быть равен чему-то роде Google или другому уважаемому игроку мира IT, тогда вроде как продукт стоящий или, как минимум, достойный внимания.

              0
              Не хватает сводной таблички в конце поста.

              Only users with full accounts can post comments. Log in, please.