用途:完成 sentry-install-auth 安装与认证后,用最小测试事件验证 Sentry 集成是否正常工作,确认事件能到达仪表盘。
前提条件:已安装 SDK 并配置 DSN,环境变量中有有效的 SENTRY_DSN;Node.js 需先加载 instrument.mjs,Python 需先调用 sentry_sdk.init();需能访问 *.ingest.sentry.io。
主要能力与用法:
- 检查 SDK 是否激活:Node.js 用 Sentry.getClient(),Python 用 sentry_sdk.Hub.current.client,未初始化则返回提示并退出。
- 捕获测试消息:Node.js 用 Sentry.captureMessage('Hello Sentry! SDK 验证测试', 'info'),Python 用 sentry_sdk.capture_message(...);可尝试 warning 级别。
- 捕获测试异常:应传入 Error 对象(Node.js)或异常实例(Python),而非字符串,以便生成堆栈跟踪。
- 添加上下文:setUser 附加用户身份,setTag 创建可搜索的索引标签,setContext 添加结构化数据。
- 添加面包屑:addBreadcrumb 记录错误前的事件轨迹,显示在事件详情中。
- 验证:在 sentry.io 选择项目,进入 Issues 标签查看分组问题,检查堆栈跟踪、User、Tags、Breadcrumbs、Additional Data,可用 test_run:hello-world 等标签过滤,完成后删除或解决测试问题。
关键限制:进程退出前须 flush(Node.js 用 await Sentry.flush(2000),Python 用 sentry_sdk.flush()),否则事件可能丢失;setUser 须在捕获之前调用;事件延迟超过 60 秒时需检查网络或代理是否阻止 *.ingest.sentry.io;面包屑默认上限 100 条。附带 TypeScript 与 Python 完整验证脚本及常见错误处理方法,示例按原样执行,如 Node.js 运行 node --import ./instrument.mjs test-sentry.mjs。下一步可进入 sentry-error-capture 学习生产环境错误处理。