【问题标题】:Invariant violations get grouped in Stackdriver error reporting在 Stackdriver 错误报告中对不变的违规行为进行分组
【发布时间】:2019-09-09 13:42:02
【问题描述】:

我在我的代码中大量使用 npm 模块“不变”来进行运行时检查并抛出错误。问题在于 Stackdriver 错误报告似乎将所有这些错误归为一组,因为它们源自同一个函数和/或以短语“Invariant violation...”开头。

有没有一种方法可以在不重构所有代码的情况下防止这种分组发生?

这对我来说是个大问题,因为一些严重错误没有出现,也没有被报告为新错误,所以这在很大程度上否定了我最初报告错误的原因。

-----一些样本----

{ Invariant Violation: You are not allowed to report the same data as the previous report
    at invariant (/srv/node_modules/invariant/invariant.js:40:15)
    at Object.<anonymous> (/srv/src/modules/loads/respond.ts:123:5)
    at Generator.next (<anonymous>)
    at fulfilled (/srv/build/modules/loads/respond.js:4:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:229:7) name: 'Invariant Violation', framesToPop: 1 }

{ Invariant Violation: User uoipWa1yARgdudN4mFmtYrYoOID3 is not subscribed to flight 2f0291571b06322e2737b627fdca2ff0
    at invariant (/srv/node_modules/invariant/invariant.js:40:15)
    at Object.<anonymous> (/srv/src/modules/loads/request.ts:373:3)
    at Generator.next (<anonymous>)
    at fulfilled (/srv/build/modules/loads/request.js:4:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:229:7) name: 'Invariant Violation', framesToPop: 1 }

【问题讨论】:

  • 您能否提供几个示例,说明生成的堆栈/异常是什么样的?
  • 我添加了一些示例

标签: node.js google-cloud-stackdriver google-cloud-error-reporting


【解决方案1】:

我最好的建议是修复不变的违规,然后将错误组标记为“Resolved”。任何额外的不变错误都将被视为存在新错误。

【讨论】:

  • 我不能只修复所有违规行为。有些是由用户行为触发的,为了防止它们发生,客户端需要更改其 UX/客户端验证。还有一些是偶尔发生的复杂依赖性和系统故障的结果。但是,对于不是不变违规的其他错误也会发生分组。我还没有发现它背后的模式,但它是一团糟。
猜你喜欢
  • 2019-10-29
  • 2019-05-29
  • 2022-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-27
相关资源
最近更新 更多