JS 错误提供了JavaScript 错误监控与分析能力,同时支持上报自定义错误。整体上分为大盘指标概览以及 issue 详情分析。
JS 错误的捕获逻辑:通过 window.addEventListener('error') 捕获全局错误。
JS错误趋势
JS错误趋势提供了共4项指标:错误数、错误率、影响用户数、影响用户比例。
趋势图下方给出了按照message聚合的issue列表。同时展示了issue的错误类型、起止时间、错误数和影响用户数。您可以为该条issue分配处理人并修改它被处理的状态。
JS错误列表
操作栏可选择issue的处理状态,方便追踪与批量管理。
JS错误详情
在issue详情页中,您可以查询该条issue的摘要信息,同时可以通过维度对错误指标进行分析。
页面中央为该错误类型在各维度的具体分布和上报趋势。
若您发现某一维度下,单个值明显超过其他维度值,或许你就成功定位了错误发生的关键因素。例如某个错误集中在以/page开头的页面。
观察错误趋势,则可以在推测错误发生的时间段,回想是否是某次变更操作引发的问题,提供更多线索。
您还可以查询该条issue中每一条错误事件中,用户的设备信息、版本信息等。单击UUID/会话ID,可跳转至单点追查,查询该用户或单次session的详细日志。同时还有:
- 错误堆栈:发生错误的混淆堆栈,如果上传了符号表,则可以查看原始堆栈。
- 面包屑:用户在发生该错误前后的操作行为记录,除了系统自动收集的请求类型,还支持自定义埋点的交互事件类型。
- 自定义维度:除了系统自动采集的维度外,支持上报自定义维度。
您还可以对该条issue发布评论。
维度
以下为系统自动采集的维度:
- 国家/地区:通过用户IP定位的发生错误时,所在的国家/地区
- 是否有堆栈:存在上报的JS错误事件没有堆栈的情况,可以选择是否只看又堆栈的错误
同时,支持手动捕获错误并上报。
手动捕获错误并上报
对于预期之内的一些错误,或者通过 promise reject 等返回的异步错误,有时无法或不便通过全局捕获方式获取的,则可以通过手动捕获并上报该错误。
符号表(Sourcemap)
前端监控的符号表支持手动上传和自动上传两种方式,具体说明见「Sourcemap管理」中的说明。