Как стать автором
Обновить

Комментарии 49

Гениально.

Вопрос только один: почему никто до этого не додумался раньше? :)
Строго говоря у нас есть конкуренты. Но мы сильно от них отличаемся заточенностью на процессинг ошибок от JavaScript. У нас есть целый ряд возможностей, которых нет у конкрентов. И это только самое начало нашего пути :)

Например, сообщение о том, что «переменная x не определена» сильно отличается в разных браузерах. Мало того, в тексте сообщения об одной и той же ошибке разные браузеры выводят разную информацию — кто-то название перменной, кто-то ее тип.

Наш сервис вычленяет всю эту информацию и собирает вместе. Таким образом, отчеты об ошибке «х не определена» от Opera, Firefox, Chrome, Internet Explorer, будет объединены в одну группу, несмотря на то что сообщения об ошибке разные. На самом деле, подробное рассмотрение конкретно вопроса объединения ошибок тянет на отдельный пост :)
Это кстати серьезный плюс (как и нативные фильтры для ошибок), а ошибки на разных языках будут группироваться? Вроде «Object excepted» и «Se esperaba un objeto».
>«Object excepted» и «Se esperaba un objeto».

Да, IE с его локализованными сообщениями об ошибках — настоящая головная боль для нас. Прямо сейчас у нас работает объедниенение для части его сообщений на русском. Однако в нашей базе хранятся сообщения от IE и на иврите, и на китайском. У меня есть некоторые идеи по решению этой проблемы, я держу их в головне, но они требует времени, легких решений я пока не нашел.
даже я такое делал )https://github.com/homakov/clientsit
github.com/kaler/CrashKit
crashkitapp.appspot.com/

CrashKit catches uncaught exceptions, traps signals, and sends them to developers by email or straight to your bug database.

Exception reports will be automatically sent to our servers and presented for you to view them on the web.
О, что-то на подобии ГА, только для JS ошибок.
Хороший сервис. Возьму себе на заметку.
ну крупным сервисам, мне кажется, не комильфо своими ошибками светить, а мелким это особо и не нужно
лучше подумайте сделать версию, которую желающие могли бы устанавливать к себе на сервер
Вариант как дебагер использовать.
Отпишусь как бета-тестер:
использую где-то недели три, все круто, нравится, правда вот косяки какие заметил:
— ловит ошибки в юзерскриптах и экстеншенах Хромовских, например;
— к первому же пункту — ловит ошибки во внешних скриптах (google maps, fb и все такое), понятно, что в onError прилетает все, но на стороне сервера хотелось бы фильтровать такое (показывать ошибки только с указанного домена, как вариант);
— иногда задалбывают непонятные ошибки: просто «Script error» и все.

Но в целом, повторюсь, сервис очень крутой и помогает весьма.
по косякам, сим почти все js error handler страдают. С airbrake таже фигня, приходится фильтры руками приписывать.
Спасибо.

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

Так что ждите, у нас запланировано на ближее время целый ряд новых возможностей
Я абсолютно в этом не разбираюсь, мне просто интересно неужели в средах разработки не существует средств отлова ошибок? Я писал простейшие скрипты в блокноте и искал ошибки вручную, поэтому не владею информацией.
к большому сожалению IDE не могут съимитировать все пользовательские действия во всех извесных браузерах (а привести к ошибке может определённая последовательность действий в определённом браузере например)
тут прелесть в том, что в теории куча людей на куче браузевов тестят ваш проект.
А, самой сути я и не уловил, тогда ясно, спасибо.
Большие проекты такую фичу должны иметь по определению. Да, без красивостей и графиков, но она есть. Да и не нужны по сути графики — код проходит несколько стадий тестирования до попадания на живое окружение. И ошибки яваскрипта на этом окружении — это скорее исключительная ситуация, которая требует немедленного реагирования, проверки, исправления и т.д. чем накопления и подсчёта статистических показателей.

П.С. Нам пока хватает отчёта на почту.
Идея интересная и, несомненно, полезная. Одно «Но» — хочу ли я пускать в свой сайт, даже на стороне пользователя, чужой код? Ведь исполняться он будет с правами пользователя. Как-то надо это более понятно описать — например, могу ли я сделать аудит кода, выполняемого на сайте, можно ли подключать локальную копию Вашего скрипта (а тут появляется вопрос что значит «Мы вправе изменить функциональность сервиса в любой момент» — в смысле этот подключаемый скрипт будет ли часто меняться?).
>могу ли я сделать аудит кода, выполняемого на сайте

Безусловно, ведь он доступен всем.

>можно ли подключать локальную копию Вашего скрипта

Вот здесь есть сложность. Чисто теоретически — да. На практике это может вызвать проблемы в распространении новой функциональности/фиксов. Но, безусловно, реализуемо. В принципе, мы никак не запрещаем это делать и заменить в сниппете загрузку с нашего сайта на ваш не представляет никакой проблемы.

>будет ли часто меняться?).

Часто — не будет. Можно сделать нотификации на его изменение, чтобы пользователи хостящие скрипт у себя его обновляли. Подумаем об этой функциональности.
Чем лучше сервис лучше Airbrake и GetExceptional?
Посмотрите на главной странице, там перечислены основные фичи — в первую очередь это умная группировка, статистика по пользователям. Но будут и еще важные фичи, про которые мы потом расскажем :)
На мой взгляд не хватает нескольких вещей:
1. URL где произошла ошибка (не скрипта, а страницы)
2. По возможности захватить stack c вызовами
3. Ну и фильтры в админке
Спасибо, в целом удобно.
>URL где произошла ошибка (не скрипта, а страницы)

Да, это уже поддерживается только еще не выводится — так что ожидайте на следующей неделе )

>По возможности захватить stack c вызовами

Это фича работает только в IE, да и там достаточно хреново, т.к. честный stacktrace не получить.
Прошу прощения, но я этим занимаюсь уже не один месяц, так что изучил проблему хорошо ;)

Просто получить стэктрейс в коде не представляет никаких проблем. Хочется получить stacktrace в window.onerror, и ваш способ будет выдавать пустой стэктрейс, потому что к сожалению, window.onerror вызывается «отдельно», а не из функции где произошло исключение. У IE, к счастью, в отличии от всех остальных браузеров хоть не затирается arguments.callee.caller перед вызовом window.onerror, так что можно построить некое подобие stacktrace-а.

А если впосользоваться нашим API вида try {...} catch (e) { qbaka.reportException(e); } то, конечно, стэктрекс исключения будет получен системой.
А если ошибка происходит внутри анонимной функции в обфусцированном и с сжатом в 1 сточку коде, вы про это ошибку что-то, кроме того что она произошла, сообщите?
>что-то, кроме того что она произошла, сообщите?
Ну, это как если стрипнуть дебажную инфу — много вы об ошибке, безусловно, не узнаете. А почему бы не сохранять переносы строк (обфускацию можно оставить) — с учетом gzip cжатия это очень незначительно увеличит размер js-файлов. yuicompressor так умеет.
Посмотрите в сторону source maps. Возможно это сможет помочь в отладке сжатого/обфусцированного кода…
К сожалению — никак. Просто потому что наш иснтрумент ищет ошибки в клиентских средах, а в них source maps, очевидно, включен не будет. Единственноый случай когда может таки помочь — если тестеры включат. Ну так тогда лучше им давать просто сайт с неминимизированными скриптами.

На самом деле сжатие скриптов imho переоценивают. С учетом сжатия и версионирования убирания \n после каждой строчки (с оставленной обфускацией кода) не уменьшит время загрузки.
Я раньше пользовался django-jhouston, а потом как начал пользовать Sentry/Raven, то перешел на raven-js. Мы пользуемся собственной установкой Sentry а не сервисом getsentry.com
Не знал, что у Sentry есть JavaScript-клиент. Обязательно попробую. Спасибо!
НЛО прилетело и опубликовало эту надпись здесь
Идея, классная. Я сам для этого сто лет уже использую Google Analytics.
Самое грустное во всей этой истории то, что в onerror не передается ссылка на exception, и соответственно callstack.
НЛО прилетело и опубликовало эту надпись здесь
9バカ)
我不明白你的語言!
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
ну вообще это лошадеолень)
Катаканой тоже пишут, почему.
Вы б не пугали так. Я уж успел подумать, что у меня с коммуникатором проблемы, получив несколько писем-уведомлений с иероглифами.
Сделайте ссылку на главную из статистики.

Плюс, после того как я вошел в статистику и вернулся на главную ручками, то предлагают авторизоваться заново, хотя кука поставлена нормально.
window.onerror есть далеко не во всех браузерах. Это наиболее печально
А поясните, пожалуйста, принцип оплаты за число ошибок в день?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории