类型 | 真实系统报错 | 商家视角 |
无下文 |
| 然后呢?怎么办? |
不同原因相同报错 |
| 哪里错了? |
内部黑话 |
| 什么是双报?什么是平销期?你真的以为我看得懂吗? |
乱码 |
| WHAT?!啥?! |
基于以上问题,我们需要解决1个主要需求:「现有报错文案亟需治理,要能看懂且有帮助」
再进一步挖掘,会“衍生”出这一些需求
可运营:可以动态地根据场景进行配置,封网期间亦可操作
可反馈:提示有没有帮助用户说了算,可以反馈意见
发现问题:哪些报错是有问题的,可以快速定位
OneCode 是集团内成熟的错误码统一管理工具,可以做到 Code --> Message 的动态映射,同时还集成了美杜莎,支持多语言文案接入。
但相对于我们的需求,此工具能力略显不足
国际服务使用的Code既不完整也不唯一,改造成本恐后端开发同学接受不了(需求都做不完)
Code 之上加运营无法实现(因为不唯一)
另外,此系统“好像”长期无人维护了,存在停服风险。
得~,还是自研吧
可分2部分
第1部分:可控的文案(静态文案):后端在日常发版修改即可,另外需要补充一些“相对”唯一的 ErrorCode
第2部分:不可控的文案(来自底层):需要监控、适配,这个做在前端较合适,根据接口+页面+ErrorCode+文案组合条件优化。
用于分析的数据主要有「错误Code、错误信息」此部分均可来自于服务接口,基于标准的 Response 这个比较容易达成。
{
"code": 200,
"success": true,
"message": "xxx",
"errorCode": "错误码",
"errorMessage": "错误信息",
"data": {
...
}
}
因为前期有接入 AEM ,报错数据会自动收集,但有个问题,AEM 自动截取了 errorMessage 的前50个字符,所以,完整的数据需要我们自定义埋点上报。
如:
文案:所有的被编译的符号可进行反编译还原。
ErrorCode+文案:同样的“Network Error”,无 errorCode 的代表网络不通畅需要检查自己的网络连接,而 errorCode 为“SYSTEM_EXCEPTION”的代表底层调用失败,可以稍后再试。
ErrorCode+文案+页面地址:同样的“权限不足”,URL1下需引导申请权限1,URL2下需引导申请权限2。
我们提炼了4个条件可供组合:ErrorCode(绝对匹配)、文案(规则匹配)、页面地址(绝对匹配)、接口地址(绝对匹配)。以此可命中1个或多个报错,在此基础上就可以配置运营行为表达了。
用户侧
升级后:
嵌入式模式:用于自定义
运营侧
错误池:
系统文案、触发页面、接口、Code:可筛选看不懂的报错
报错次数、报错率:判断影响面,报错次数高&报错率高的case需要优先处理
运营中:
可以看到以下数据:
配置内容:优化文案、匹配规则
效果数据:曝光量、拦截率、用户反馈、帮助率
规则圈选中的错误列表
配置表单:
可配置内容:
此部分仅透出部分内容
时序交互
类图
该系统上线2月有余,目前仅开放了一些高频操作和重要页面的监控,期间已完成了以下几类目标:
类型 | 举例 |
报错文案治理 让文案看得懂且有用 |
|
系统稳定保障 不兼容发布升级提醒保持前后端匹配 |
|
暴露看不到的问题 发现&跟踪线上问题 | 线上接口报错率&报错量双高 --> 暴露以下问题:
|
重大活动提前布防 |
|
将错误&Code的监控升级为接口Code的监控,利用规则圈选出业务流程切面,可尝试在此切面上做进一步探索。
切面按SOP组合,可计算人效
切面可注册「引导、问卷」等运营能力
团队介绍
天猫国际前端团队,深耕技术革新,紧密联结业务脉搏,致力于搭建桥梁连接消费者与未来,通过不断优化的全链路体验,创造性地打造下一代人机交互产品。在追求技术极致简洁、高效卓越、灵活多变及新鲜前沿的同时,我们为天猫国际的持续创新和繁荣发展提供坚实的赋能支持。