首页 > 解决方案 > Stackdriver 怎么弄乱了我的错误分组

问题描述

根据我的经验,Stackdriver 错误报告服务将不相关的错误组合在一起。这在几个层面上对我来说是一个大问题:

这一切似乎都违反了错误报告系统的基本功能,所以我想我一定遗漏了一些东西。

该代码在 Firebase Functions 上运行,因此 Google Cloud Functions 的 Firebase 风格是用 Typescript 编写的(使用 Firebase 预部署脚本编译为 Javascript)。

我使用console.error格式为错误实例的参数记录错误,例如console.error(new Error('some error message')). AFAIK 这是在 Node.js 上运行代码的正确方法。

有什么特别的事情可以让 Stackdriver 更好地理解我的代码吗?

我在函数部署的根目录中有这个:

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

下面是一个错误类别的屏幕截图。您会看到错误标题为“服务当前不可用”,但样本包含“请求包含无效参数”和“此请求已被锁定...”的错误

关于服务和无效参数的错误可能与 FCM 服务有关,因此存在一些相关性,尽管我认为这些是非常不同的错误。

关于请求锁的错误实际上是完全不相关的。在这种情况下,“请求”一词的含义确实不同,但这个词是我能看到的唯一关系。

Stackdriver 错误报告的屏幕截图

标签: firebasegoogle-cloud-functionsgoogle-cloud-stackdriver

解决方案


错误报告支持 Javascript,但不支持产品文档中提到的 Typescript ,但是,您应该查看您的日志并查看它们的格式是否正确,以便在错误报告中提取它们。

另外,请记住,错误是根据本文档中的指南进行分组的,因此您可能不会得到由于它们而得到的分组。

希望您觉得这个有帮助。


推荐阅读