数据埋点重构优化
2024-01-22 14:04:25 0 举报
AI智能生成
为你推荐
查看更多
数据埋点重构优化
作者其他创作
大纲/内容
https://confluence.shopee.io/pages/viewpage.action?pageId=2119043313
告警指标准确度优化
url: {host}/open/datareport/report_json
在feature_toggle.json中enable=true的情况下执行
未开启定时上报逻辑
无本地缓存累加上报逻辑
初始化后内存中每累积到50条检查是否要上报一次
技术上报 (olap.report)
每分钟上报一次,每次最多上报 1000 条。超过 1000 条的部分,等下一分钟
业务上报1 (/records/new)
TBD...
socketPush 解析回包在catch error处触发
messageDB toModel的catch error处触发
调用处
业务上报2 (mdap.capture)
统一在IM进程收集和处理
现行上报机制
背景
新增 tech_tcp_request_error
新增 tech_http_request_error
新增【异常请求指标】的业务上报
重构reporter到common包
技术埋点 & 产品埋点统一,上报频率提升上报频率调整为 10s,每次上报最大条数为 100 条,超过阈值时等待 10s 后再次上报。去掉 Token 检测逻辑,确保不登录时可正常上报确保在启动流程中,将上次未上报完成的数据,立即进行上报
上报 SDK 实时性优化
参考上文《调整采样率》新版本代码中去除原有的 Feature Toggle 控制采样率逻辑,改为本地代码实现采样率控制遵循此文档 SeaTalk Tech Tracking Master File / 技术埋点 - Google Sheets
调整采样率
内容
调整onFetch请求
调整sendRequest请求
自测
新增两个上报指标##3
维护本地变量替换json文件
调整采样率##1
重构reporter
去除token逻辑##1
频率调整##1
技术上报(无)
添加启动后将未上报的数据重新上报##2
联调##1
自测##1
上报SDK实时性优化##6
CR及代码优化##1
排期 (工时共11D)
预期
业务上报队列
技术上报队列
新建上报队列
初始化业务上报数据
初始化技术上报数据
从localStorage初始化上次未消费完的数据
每次消费1000条数据
启动定时消费机制
读
调用api上报时往相对应的队列append一个数据
增
删
写
队列读写
将业务上报数据写入localstorage
将技术上报数据写入localstorage
设定队列消费机制
采样率常量设定
直接调用业务/技术上报api
im进程pathname
非im进程pathname
方案一: 依据当前的pathname来选调用机制
有初始化标记
无初始化标记
方案三: 新建独立的上报数据进程
缺少部分基础数据?
请求资源?
性能?
TBD
多进程上报
通用的上报能力
技术上报api
业务上报api
上报api
在im初始化时初始化reporter
上报机制
Reporter类
uid: credentialsDB.userId
基础数据
在im初始化: 传参初始化Reporter
独立report能力包
技术方案
数据埋点重构优化
0 条评论
回复 删除
下一页