SuperAPI AI 工具集

sentry-sdk-patterns

编程与开发

查看项目

更新于 10-15 23:29

技能介绍

用途:为 TypeScript 的 @sentry/node(v8+)与 Python 的 sentry-sdk(2.x+)提供生产级错误上报与性能埋点模式,覆盖作用域上下文、面包屑、事件过滤、指纹分组与 span 埋点。

前置条件:已安装 Sentry SDK(@sentry/node、@sentry/react 或 sentry-sdk);配置 SENTRY_DSN 环境变量;熟悉 async/await(TypeScript)或上下文管理器(Python)。

主要能力:一是用 Sentry.withScope() 或 sentry_sdk.new_scope() 为单个事件附加级别、tags、context、user、fingerprint,避免污染全局作用域造成跨请求泄漏;二是结构化面包屑助手,覆盖 auth、db、http 事件;三是 beforeSend 过滤噪声并清理 PII,beforeBreadcrumb 过滤或脱敏面包屑中的敏感查询参数;四是用 scope.setFingerprint() 按语义键自定义问题分组;五是框架集成(Express 的 Sentry.setupExpressErrorHandler、React 的 withErrorBoundary)与性能 span(Sentry.startSpan、sentry_sdk.start_span),并给出异步批量处理中的错误隔离示例。

关键用法与限制:切勿在请求处理器的模块级调用 setTag,应始终用作用域包裹;同一错误只在一层 capture,避免重复上报;beforeSend 必须显式返回 event 或 null;面包屑默认上限 100 条,可通过 maxBreadcrumbs 调整;span 未出现需检查 tracesSampleRate;报错 “Sentry is not defined” 说明未正确导入。Django 中间件、测试 mock 模式等更多示例在 implementation.md 与 examples.md 中。其余事实暂未提供。