用途:该技能用于在服务中统一接入 Sentry v8,实现错误跟踪与性能监控。适用于新增错误处理、创建控制器或路由、为定时任务埋点、跟踪数据库性能、添加性能 span、处理工作流错误等场景。核心规则是所有错误都必须上报 Sentry,不得只用 console.error,也不得静默吞掉错误。
主要能力:提供控制器错误处理(继承 BaseController 调用 handleError)、路由错误处理(Sentry.captureException 附加 tags 与 extra)、工作流错误捕获、定时任务标准模式(首行导入 instrument.ts,用 Sentry.startSpan 包裹 cron 逻辑)、数据库性能监控(用 span 包裹 Prisma 查询)、异步操作 span,以及错误分级(fatal、error、warning、info、debug)。上报时应尽量带上用户、服务、环境与操作上下文。
使用方式:初始化需在 src/instrument.ts 中调用 Sentry.init,配置 dsn、environment、nodeProfilingIntegration、tracesSampleRate、profilesSampleRate;Express 可挂载 requestHandler 与 tracingHandler。配置可写在 config.ini 或 .env,包含 sentry 与 databaseMonitoring 段。可通过 curl 访问测试端点(test-error、test-performance、test-database-performance)验证集成。
限制:资料中的具体辅助类(如 WorkflowSentryHelper、DatabasePerformanceMonitor)来自原生产项目,属示例,需按自身领域适配;未说明定价、支持平台与替代方案。避免上报敏感数据、避免通用错误信息、异步操作不可跳过错误处理,定时任务勿忘首行导入 instrument.ts。