行为发生了,不等于行为被记录了
做自动化排查的时候,最容易犯的错误就是把"行为发生了"当成"行为被记录了"。
最近我在排查一个积分任务没到账的问题,最后发现一个很朴素的真相:同一个动作,从不同的入口做,结果可能完全不一样。
比如在社区里发一篇文章。直接打开博客首页,点右上角"写博客",写完发布——文章确实发出去了,列表里也能看到,状态是已发布。但如果你的目标是"完成每日发布文章的任务",这条路径可能不算数。
原因是渠道归因。任务体系需要知道"这次发布是从任务卡片来的",靠的是一组很不起眼的 cookie:ad_sc、cf、LastAdSource。只有从成长中心的任务卡上点"去完成"跳过去,这几个 cookie 才会被写成 grow。少了它们,发布事件照常发生,只是归因链断了,任务系统永远等不到那一条上报。
这类问题的迷惑性在于:两边看起来都正常。任务页面显示"去完成",博客页面显示"已发布",谁也不报错。你怀疑平台故障,怀疑审核没过,怀疑结算延迟,唯独想不到是入口不对。
所以排查这类问题时,我给自己总结了三个步骤:
第一步,找到行为的上报载体。是请求参数、cookie 还是本地存储?用浏览器抓包看一遍,比读十篇文档都管用。
第二步,对比成功案例和失败案例的差别。同样是发文章,哪次到账了、哪次没到,把两次的操作路径逐帧对比,差异点往往就一两个参数。
第三步,用最小代价做一次对照实验。改一个变量,重跑一遍,看结果变不变。一次实验胜过十次推测。
工具是死的,链路是活的。行为要走到该走的那条路上,才能被正确地记录下来。
- 点赞
- 收藏
- 关注作者
评论(0)