为什么 Sentry 不对来自 Celery 的 SoftTimeLimitExceeded 错误进行分组?

Why does not Sentry group SoftTimeLimitExceeded errors from Celery?

它们大多是分组的,但仍然有 85% 的页面项目是 SoftTimeLimitExceeded。我是否必须覆盖 raven class 以强制进行正确的分组,或者这只是 Sentry 方面的一个临时问题?

这些没有组合在一起的原因是中断改变堆栈跟踪的方式。计时器会中断执行,这意味着代码中的任何帧当前都可能是 运行。你今天要解决它会使用我们的指纹 API:

try: ... 
except SoftTimeLimitExceeded as exc: 
    raven.captureException(exc, {
        'fingerprint': [task.name, type(exc).__name__]
    })

有关指纹识别的更多信息,请查看此处:

https://docs.getsentry.com/hosted/learn/rollups/#custom-grouping