Skip to content

Sentry

Sentry 是开源的应用错误追踪(Error Tracking)平台——它专注可观测性三大支柱之外的「错误/异常」这一细分领域,把生产环境抛出的异常(前端 JS 异常、后端 Python/Java/Go panic、移动端崩溃)实时聚合、去重、分配责任人、跟踪修复状态。与 ELK(日志检索)和 Prometheus(指标监控)不同,Sentry 不存「所有事件」,而是只存异常事件,并通过指纹(fingerprint)去重把同源异常归为一组(issue),让开发者聚焦「新错误」「频繁错误」「回归错误」。它还扩展出性能监控(Performance,追踪慢请求)和 Session Replay(会话回放,复现用户报错时的 DOM 状态),从纯错误追踪演进成 APM-adjacent 工具。前后端通用的多语言 SDK(JS/Python/Java/Go/Rust/Flutter/React Native 等)让它在跨端项目里一个平台看全栈错误。

Sentry 的全部考点围绕错误追踪闭环展开:①异常采集与去重(SDK 上报 + fingerprint 指纹分组 + issue 概念);②Source Map(生产代码压缩后还原源码栈,定位到 TS/JSX 原始行);③Release tracking(标记错误首次出现的版本,关联 commit/PR,跟踪「回归错误」);④性能监控(Performance,trace 慢请求,与错误关联);⑤Session Replay(DOM 录制回放,复现报错现场);⑥前后端通用(JS/Python/Java/Go/Rust/移动端全语言 SDK)。本叶是可观测性错误追踪层的总览与地基,讲清它的去重机制、Source Map 原理、Release 追踪、前后端通用的价值——后续 Jaeger 从分布式追踪维度补齐。

评价

优点

  • 错误去重精准:fingerprint 指纹把同源异常归为一组(issue),避免告警风暴,开发者只关注「新错误」和「频繁错误」
  • Source Map 还原源码:生产压缩代码报错时还原到 TS/JSX 原始行,定位根因
  • Release tracking 强:标记错误首次出现的版本,关联 commit/PR,自动检测「回归错误」(修复后又重现)
  • 前后端全栈:JS/Python/Java/Go/Rust/Flutter/RN 等全语言 SDK,一个平台看跨端错误
  • Session Replay:录制用户报错时的 DOM/网络/控制台,复现现场,是排查「无法复现」错误的利器

缺点

  • 只管错误,不做日志/指标:日志归 ELK/Loki,指标归 Prometheus——Sentry 是错误专精,不包打天下
  • 采样上报:高流量场景要采样(否则成本高),采样会丢部分错误
  • 性能监控不如专用 APM:Sentry Performance 是附加能力,深度不及 SkyWalking/Datadog APM
  • 自托管版功能受限:开源 self-hosted 不含 Session Replay/部分告警,需 SaaS 版
  • 依赖 SDK 埋点:要在代码里集成 SDK,有轻微性能开销(捕获+上报)

本叶地图

  • 入门 —— Sentry 是什么、错误去重机制、Source Map 原理、Release tracking、前后端 SDK、性能监控与 Session Replay
  • 错误追踪与 Source Map —— 异常采集流程、fingerprint 指纹去重、Source Map 上传与还原、Release tracking 与回归检测
  • 性能监控与 Session Replay —— Performance trace 慢请求、Session Replay DOM 录制、前后端全栈集成、与 APM 的边界
  • 参考 —— SDK 集成速查、Source Map 命令、Release 流程、易错点

幻灯片地址

Sentry

测试题

Sentry 测试题