Почему Stackdriver испортил мою группу ошибок - PullRequest
0 голосов
/ 26 января 2020

По моему опыту, служба отчетов об ошибках Stackdriver объединяет несвязанные ошибки. Это большая проблема для меня на нескольких уровнях:

  • Названия часто не соответствуют ошибкам, сообщенным в "последних примерах". Поэтому я должен посмотреть на примеры для каждой ошибки, чтобы увидеть, какие ошибки действительно происходят, потому что заголовку действительно нельзя доверять.
  • Я мог бы установить ошибку на «приглушенный» и, как следствие, другие ошибки, которые сгруппированные под тем же названием больше не сообщаются. Мне может потребоваться месяцы, чтобы обнаружить, что происходили определенные ошибки, о которых я не знал.
  • В общем, у меня нет общего представления о том, какие ошибки происходят с какой скоростью.

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

Код работает на Firebase Functions, так что Firebase - это разновидность Google Cloud Functions и написано в Typescript (скомпилировано в Javascript с помощью сценария предварительной установки Firebase).

Я регистрирую ошибки, используя console.error с аргументами, отформатированными как экземпляры Error, например console.error(new Error('some error message')). AFAIK, это правильный путь для кода, работающего на Node.js.

Есть ли что-то особенное, что я могу сделать, чтобы Stackdriver лучше понимал мой код?

У меня есть это в root из развертывание моих функций:

import * as sourceMaps from "source-map-support";
sourceMaps.install();

Ниже приведен скриншот одной категории ошибок. Вы видите, что заголовок ошибки «Служба в данный момент недоступна», но в примерах содержатся ошибки «Запрос содержит недопустимый аргумент» и «Этот запрос уже заблокирован ...»

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

Ошибка блокировки запроса на самом деле совершенно не связана. Слово «запрос» в данном контексте означает нечто действительно иное, но это единственное отношение, которое я вижу.

Screenshot of Stackdriver Error Reporting

1 Ответ

0 голосов
/ 28 января 2020

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

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

Надеюсь, вы найдете это полезным.

...