题主的项目中,有关埋点上报的内容,全部都是跟业务代码写在一起的。
感觉这样特别不科学:
所以我挺想自己造个轮子给项目里用,解决上述的一些问题。于是跑去查了查资料,发现有一个术语“无埋点”好像屌屌的。。。但搜了不少文章,都感觉弱弱的,只能通过 AOP 去做一些常规的点击啊跳转啊之类常用事件的自动统计。但如果是一些自定义的事件,或者是上报需要带上下文参数的,就 GG 了。。。
于是来问问大家项目中的埋点都是怎么做的,有没有什么比较好的方案?
1
iyaozhen 2017-04-08 01:47:48 +08:00
没办法,纯体力劳动。我们这边还有 4 个端。一般流程是 server 端定好上报格式(规范、统一),然后各个客户端在具体业务逻辑的地方埋点上报。当然各端具体实现上是把上报模块独立出来,通用字段自动获取好,业务代码里面调用一下传几个业务参数就行,就和正常打日志差不多。
|
2
boolean93 OP @iyaozhen 恩,基本差不多。但我们有一些犹如 main_key 这种类似的标识以便查询数据时快速查找,每次都要把这种标识写进一个 Constants 类里。所以每次添加上报的流程是:
1. 找到对应的上报模块类,添加一个上报方法 2. 找到 Constants 类,将 main_key 、及一些自定义字段的名称加入类中 3. 找到需要埋点的地方,获取参数,调用上报模块类中写好的对应方法 4. 跑去 Wiki 里把写好的埋点内容格式写进去 有时候一个需求就是十个上报点,写的人要崩溃- -烦 |
3
wadjj 2017-04-08 09:17:53 +08:00 via iPhone
无埋点和可视化埋点都是噱头,只能统计可视的组件(按钮 菜单 链接 图片啥的),如果需要精细化运营分析,需求基本满足不了。
|
4
29995270 2017-04-08 10:31:07 +08:00 via Android
唉,我也是,埋点埋的我头皮发麻。之前为了方便用 aspectJ 写了一套框架,后来发现根本满足不了产品们各种埋点需求,最后只能手动埋
|
5
TIGERB 2017-04-08 10:32:22 +08:00
growingIO
|
6
tinyproxy 2017-04-08 13:12:36 +08:00 via iPhone
逻辑代码接一坨埋点代码这个问题,我们直接把必要的信息发到消息对接,开别的 worker 进程处理,反正 worker 挂了就挂了。
|
7
Miy4mori 2017-04-08 15:11:50 +08:00 via iPhone
事件模型说不定可以无埋点又好用
|
9
qw30716 2017-04-11 16:32:34 +08:00
反正我的埋点也是手动的
|