
Sentry调研

🌈 摘要
本文介绍了Sentry这个错误监控和上报平台的相关情况,包括Sentry的背景、功能特点、优缺点等。
🙋 Q&A
[01] Sentry 简介
1. Sentry 是什么?
- Sentry 是一个全平台的错误监控和上报平台,支持私有部署和公有云版本
- Sentry 是一个开源项目,支持100多种平台和库的接入,有丰富的 API 支持
- 目前已有 68000 家组织在使用 Sentry 进行错误监控
2. Sentry 公司的发展历程是什么?
- Sentry 在 2011 年开源发布了 1.0 版本,经过 10 年多的经营开发,已发布了 21 个主要版本
- Sentry 从 2015 年开始融资,经历了 5 轮融资,目前最新估值已达 10 亿美元
[02] Sentry 的数据接入
1. Sentry 支持哪些平台和库的接入?
- Sentry 支持 100 多种平台和库的接入,接入方式简单,成功率很高
- Sentry 使用 Project 的概念来管理实例,每个 Project 可以对接一种类型的平台
2. 以前端监控为例,Sentry 如何进行数据接入?
- 首先需要创建 Project,然后安装 SDK 并进行初始化配置
- Sentry 支持自动采集错误和自定义上报错误,如 window.onerror、window.unhandledrejection 等
- Sentry 还支持对前端框架(React、Vue 等)的错误上报
[03] Sentry 的错误管理
1. Sentry 如何管理错误?
- Sentry 使用 issue 面板来管理错误,可以管理整个 issue 的生命周期
- Sentry 支持配置对接外部的管理平台(如 Jira),支持数十种外部系统的对接
- 对 issue 的基本操作有查询、Resolve、Review、Merge、Ignore 等
2. Sentry 如何展示错误的上下文信息?
- 进入每个 issue 的详细界面可以查看错误的具体位置(前端支持配置 sourcemap)
- 能够查看当前 issue 发生的时间线等上下文情况
[04] Sentry 的性能上报
1. Sentry 如何进行性能监控?
- Sentry 使用 Tracing 概念上报性能数据,需要在初始化时配置 integrations
- Sentry 支持自动采集性能数据(如页面加载、CSS 加载、JS 加载、XHR 等),也支持手动上报 Trace
- Sentry 把上报的数据分为 Trace、Transactions、Spans 三个层级
2. Sentry 如何展示性能监控数据?
- Sentry 针对每种平台都内置了相关的性能数据统计功能,如 FCP、LCP、FID、CLS 等
- Sentry 能够为每个页面、每个 Transactions 生成性能报告
[05] Sentry 的其他功能
1. Sentry 还有哪些其他功能?
- Sentry 还提供了仪表盘、tag 查询、版本功能、软件架构、私有化部署等功能
[06] Sentry 的优缺点
1. Sentry 的优点有哪些?
- 整体易用性非常高,接入顺畅、界面流畅美观
- 错误追踪流程非常完备,第三方扩展丰富
- 聚焦错误日志,对减少错误率、系统 bug 非常有帮助
- 支持私有化部署,受小公司欢迎
2. Sentry 的缺点有哪些?
- 严重依赖上报信息的质量
- 无法替代日志系统,Sentry 能做的,日志系统都能做
- 无法替代传统的指标监控等,单纯基于 Sentry 无法发现隐藏的 bug 和业务逻辑问题
- Sentry 前端监控能力相对较弱,指标也不够多
Shared by zhangjiaqi ·
© 2024 NewMotor Inc.