По моему опыту, служба отчетов об ошибках 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](https://i.stack.imgur.com/tfddK.png)