线上问题排查流程
线上问题排查流程
线上问题的跟进,修复,排期,由测试录入Wone,记录为线上bug。然后指给产品,由产品进行排期修复(注意:如果是紧急问题,则立即修复)。
刚刚发布或切流量之后线上出现大面积反馈的,一般和发布有关,如果不具备条件重现,需要第一时间同步给相关的同事和 leader,并做好回滚准备。日常的线上问题,可以按照以下流程排查问题。
Step1 信息收集
要求客服联系用户提供以下信息:
- uid
- 机型
- 系统版本
- App 版本
- 现场截图
- 网络情况
- 尽可能多的现象描述
- 杀进程重试
- 切网络重试
- 重新登录
- 使用微信公众号、使用 web 渠道
- 找相同设备复现
当你不能独自完成这一步时,可以寻求支持 —— 寻求团队和测试团队共同复现
- 点击按钮无反应:兼容性问题 80%
- 点击按钮有请求发出 (网络菊花) 或弹出了异常:服务问题 80%
- 页面白屏:兼容性/服务 50%
- 原生 webview 打开 ok,planck 打开有问题:和客户端一起排查,如判断大概率服务端问题,立即寻求服务端一起排查
可根据 quip文档|理财项目信息汇总 初步判断主流程所在工程:
- 利用日志
根据问题所在的项目,如果是 Node 项目,可根据日志快速区分是兼容性问题、Node 或是 java 接口问题 - 利用埋点
如果有埋点,到查看用户埋点链路,分析用户卡在哪一步 - 接口复现
从 Node 和 Java 日志里捞用户的请求和响应数据,在工程里 mock 数据,看能否复现
- 代码 review
- 是否有 bi 埋点干扰
- 是否有明显异常边界未处理
- 是否有分支情况未处理
- Chrome、原生 webview 和客户端分别打开,区分是否是 兼容性或 webview-bridge 的问题
- 线上资源文件本地代理,charles
- 客户端协助调试
- 客户端可以协助 Inspect 到 App 中的 WebView,使得前端可以在 Chrome 的控制台中调试问题。
- 客户端可以协助定位前端无法界定边界的问题,例如点击按钮后无请求发出,可以寻求客户端断点 native 代码
- 依托埋点和临时发布
- 在页面中埋神策点,发布上线,定位用户 js 卡在哪一步
- 将疑似异常的地方加 try catch 并将 error 上报
推荐阅读
- parallels|parallels desktop 解决网络初始化失败问题
- jhipster|jhipster 升级无效问题
- “精神病患者”的角度问题
- 解决SpringBoot引用别的模块无法注入的问题
- Hive常见问题汇总
- 姚老师互动问答会|姚老师互动问答会 # 问题001(如何更有智慧的和身边人分享金刚智慧())
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- 【教育故事】|【教育故事】 一个“问题学生”的蜕变
- 蓝桥杯试题
- 记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的分享图片