关于前端:前端-BUG-录遇到BUG应该如何排查

28次阅读

共计 1426 个字符,预计需要花费 4 分钟才能阅读完成。

咱们日常工作中尽管会遇到很多 BUG,咱们也熟练掌握应用搜索引擎解决开发中的问题。

然而当遇到线上 BUG 应该如何排查呢?

我将我过往遇到的一些异样整顿了进去,并将我遇到的烦扰项以及问题点都做了具体记录。

心愿对你有所帮忙

排查门路

  1. 确定是否变更导致?

    1. 如果是变更导致须要及时回滚止损。
    2. 非变更导致能够排查一下异样版本,依据当前情况灵便判断是否复原成某一个版本。
  2. 确定复现门路

    1. 这能够看用户是否有反馈?
    2. 是否有日志。fundebug、sentry、埋点等等
    3. 是否有特色之类的?比如说机型、ip 地区、服务主机等等
  3. 剖析问题归属

    1. 先自查代码是否解决异样。比如说逻辑谬误、兼容性谬误
    2. 而后排查是否数据异样。能够通过 charles 伪造数据,也能够通过 chrome 断点控制台批改。
  4. 测试环境验证问题

    1. 将上述的问题在测试环境复现进去。证实的确是因为这里有问题后就能够着手修复了。
  5. 修复 | 移交

    1. 本人的问题本人修。兼容性 babel、babel-polyfill 之类的。逻辑谬误改逻辑。
    2. 合作方的问题,就反馈移交。
  6. 测试环境验收

    1. 修完之后记得先验证一下,别因为焦急修 bug 又呈现新的 bug。
  7. 预发 & 上线

    1. 分级公布
    2. 做好线上回归

实战案例

  1. 【公司 2】FMP 异样

    1. 放大工夫节点

      • 3 天前开始劣化
    2. 上线单历史排查

      • 近期存在屡次变更,但无显著关联,所以没有进行回滚。
    3. 日志查问、特色收集

      • 外部有一个自建的前端日志平台,收集了所有日志,前端按需查找剖析
      • 通过(页面、FMP5s+)查问日志,人眼找特色。(这里应该有主动啊喂)

        • 工夫为非工作工夫(有可能是服务不稳固,网络稳定)
        • 页面生存工夫长(有可能是后盾,或者上班锁屏等状况)
        • 分割特色用户,获取一手反馈(用户没吐槽没印象)
        • 页面资源加载不稳固(网络或后盾 +1)
        • 【真问题】UA 为 挪动端 ios(mac 和 ios 这个要害特色其实被我疏忽了。因为咱们是内网我的项目,所以我第一波没有留神到这个特色。老板们用 mac 和 ios 有问题吗?没问题啊)
        • 网速不佳、网络不稳固(可不,用手机那网络能稳固到哪里)
    4. 门路确认,尝试复现

      • 用下面找到的特色,我都尝试了没有复现。
    5. 扩充搜寻范畴

      • 分割了 UA 对应的客户端负责人,明确反馈因为客户端内存透露,导致 webview 重启。(这不应该有通报吗,而且不应该只有咱们在排查 FMP 异样的问题吧。)
    6. 移交、期待修复、总结汇报。
  2. 【公司 1】上传失败
  3. 【公司 3】用户拜访慢
  4. 【公司 2】用户拜访超长白屏

    1. 针对用户查问拜访日志(用户名、工夫)
    2. 特色收集

      1. 资源加载异样(三方资源)
    3. 尝试复现

      1. network block 资源。(非强关联资源,加载不到不会白屏)
      2. charles 阻塞资源。(白屏)
    4. 剖析问题制订修复计划

      1. 资源体积不大,然而耗时长,切不稳固。问题责任方在 cdn,偶现资源异样问题,屡教不改。
      2. 非强依赖资源没有 async defer,导致页面白屏,影响用户体验。
      3. 综合思考,defer 一下。
    5. 修复 & 测试环境验证(同复现步骤)
    6. 上线

日志平台 & 监控平台 性能点

  1. 日志查问

    1. 反对多条件

      1. 用户
      2. 页面
      3. traceid(page、SPA、ajax)具体的命名规定能够自定义。
      4. 上报的信息,比如说 FMP、erorr、埋点、ajax、操作、还是自定义打点等等
      5. 其余通用信息,比如说 ip、地区、ua
    2. 主动剖析 & 告警告诉

      1. 1 分钟 10 次 500 触发告警
      2. 1 分钟 3 次 erorr data in not defined 触发告警
    3. 大盘、报表

      1. xxx 接口 fmp90 5s,pv 1w+

实质上来讲监控平台就是把罕用的日志剖析替你整合了。


本文参加了 SegmentFault 思否面试闯关挑战赛,欢送正在浏览的你也退出。

正文完
 0