本文作者: 丁立
网易云音乐开源了曙光埋点 dawn,一个跨多端的全链路埋点解决计划,旨在结构一个完美的数据理想国。曙光埋点创造性的提出了埋点虚拟树(VTree),并在此基础上完成了诸多才能,解决大前端侧埋点困难、精度差、不安稳、质量不高的问题,而且设计一套完好的端侧全链路追寻才能,完美助力大数据用户画像、实时归因/离线归因剖析、漏斗剖析、大数据引荐场景。
曙光埋点从埋点设计、到大前端(iOS、Android、H5、RN等)开发、以及埋点校验&稽察、再到埋点数据运用的全链路服务,让客户端的埋点变得真正的好用。现在现已广泛应用于云音乐各个首要APP。
行业难点&痛点
- 埋点开发本钱高:端侧埋点开发,往往是逐个坑位进行,坑位上很多且重复的参数,开发本钱昂扬;
- 埋点精准度低:资源曝光埋点,复杂度高且准确低,短少全站一致的曝光战略;
- 埋点模型不安稳:mspm以及x-path方式的埋点,单独坑位以及主动坑位计划,很难保证埋点模型的安稳;
- 链路追寻才能弱:端侧没有链路追寻才能,往往需求凭借数据侧对离线数据进行复杂剖析得来,本钱高;
- 埋点质量管控难:从设计、开发,再到验证、以及上线,QA人力来保证本钱大、收益小。
特征
- 高性能虚拟树:曙光埋点提出了埋点目标和虚拟树(后面称VTree),view声明成一个目标,原始view树高性能的导出一颗VTree,VTree构建了咱们整个曙光埋点计划的柱石;
- 埋点内容结构化:凭借于VTree,咱们的埋点内容是结构化的,是具备自我描绘才能的,天然具备了上下层级联系,继而做到埋点内容承载坑位、内容、上下层级联系,从而得出有意义的、安稳的spm(Super Position Model)以及scm(Super Content Model);
- 全站一致的曝光战略:跨多端一致的资源曝光战略,做到所见即曝光开端,不可见即曝光完毕,大大减轻了开发人员的开发本钱和出错几率;
- 全链路追寻才能: 端侧强壮的链路追寻才能,100%可追寻用户日志的操作链路联系,完美助力大数据实时归因剖析、离线归因剖析、漏斗剖析、大数据引荐场景,做到不限深度,不限广度的数据剖析才能;
- 完好的埋点迭代办理:强壮的埋点迭代办理渠道,专门承载互联网app快速迭代场景,完好办理历史记录和多版别并行;
- 多机制的埋点质量保证:线下埋点校验做到开发埋点免去了QA人力,一起保证了埋点上线质量;线上数据稽察保证以全主动的方式发现线上埋点问题;
- 全渠道覆盖:覆盖iOS、Android、RN、以及站外内H5,而且极易的可扩展Flutter、weex等其他渠道。
更多信息能够拜见文章 云音乐曙光埋点:复原数据理想国
运用曙光
曙光埋点覆盖了iOS、Android、H5、RN,以及埋点办理渠道(easyinsight渠道),BI剖析师在埋点渠道设计埋点VTree,端侧开发人员以极低的开发本钱、声明式的开发方式导出VTree,结合easyinsight渠道的上线前埋点校验以及线上数据稽察,即提高了开发功率,又保证了埋点质量。
愈加详细的曙光埋点运用,拜见 曙光埋点-文档
行业对比
曙光 与 x-path系列
x-path系列方式的埋点,比较有代表性的是Mixpanel(游戏)、GrowingIO、网易HubbleData、以及美团,首要特点是强化无痕埋点,埋点坑位后相关,数据后处理;适用的场景首要是一些UI复杂度低,比较固定的场景,这样能够使得从view原始树生成x-path,用来唯一标识一个埋点坑位变得可行。比如典型运用场景是按钮的点击、页面的曝光等场景,对高精度的资源位曝光有些无力。其中美团在自有动态化计划事务场景做可视化埋点,曙光现在也在H5活动场景支撑可视化埋点。
可是缺点也很明显,便是不适用复杂事务场景,埋点模型不安稳,关于埋点质量要求特别高的事务来说无法运用该计划。埋点坑位后相关,数据后处理,本钱也很大,运用也诸多不便。
功能 | 曙光 | x-path系列 |
---|---|---|
VTree可视化 | 支撑(贯穿全流程) | 无 |
可视化埋点 | 支撑H5 | 支撑(美团) |
埋点内容结构化 | 层级化 & 可高度定制 | 平铺(参数冗余、信息量少) |
埋点模型安稳(spm&scm) | 高度安稳 | 低(后相关) |
端侧开发本钱 | 一般(声明式) | 低 |
全链路链路追寻 | 强壮(一致范式) | 一般(依托大数据后处理) |
全渠道一致的曝光战略 | 抹平列表&非列表;全渠道一致; | 弱化曝光埋点 |
埋点校验&数据稽察 | 强壮(可视化校验 & 线上稽察) | 弱 |
曙光 与 坑位mspm系列
坑位mspm系列的埋点计划,是现在行业界大多数公司采用的计划,比如腾讯、字节、快手、美团、以及前期的云音乐;该计划埋点坑位独立,往往经过机器生成的 mspm 字符串来标识埋点坑位,可是一般mspm都是无意义的字符串。这个计划可灵活习惯各种复杂事务场景,而且依托大公司强壮的大数据才能,也能够完成很不错的漏斗剖析、数据归因等才能。
可是客户端开发/保护本钱高,特别是资源位曝光埋点,做不到端内列表、非列表战略一致,更做不到全渠道战略一致,完成起来又比较困难,这也是最容易产生bug的地方。因为端侧不参与链路追寻,准确归因才能大数据侧比较困难,没有一致范式来一致处理。
功能 | 曙光 | x-path系列 |
---|---|---|
VTree可视化 | 支撑(贯穿全流程) | 无 |
埋点内容结构化 | 层级化 & 可高度定制 | 平铺(参数冗余、信息量少) |
端侧开发本钱 | 一般(声明式) | 低 |
全链路链路追寻 | 强壮(一致范式) | 一般(依托大数据后处理) |
全渠道一致的曝光战略 | 抹平列表&非列表;全渠道一致; | 弱化曝光埋点 |
曝光埋点高精度 | 高精度(处理遮挡) | 弱 |
埋点校验&数据稽察 | 强壮(可视化校验 & 线上稽察) | 弱 |
曙光 与 四段式spm
四段式spm是在坑位mspm系列
的基础上,赋予spm层级联系(站点.页面.区块.区块内)信息,阿里很多运用该计划,前期云音乐也做过这方面的尝试;该计划让埋点坑位有一定的意义,在埋点办理过程中也愈加方便一些。
可是四段式也就限制了方式,灵活度下降,也短少端侧明确的VTree结构,关于埋点安稳性、埋点校验/数据稽察、埋点内容结构化,都有一些才能限制。
功能 | 曙光 | x-path系列 |
---|---|---|
VTree可视化 | 支撑(贯穿全流程) | 无 |
埋点迭代办理 | 可视化、适用迭代并行 | 一般 |
埋点内容结构化 | 层级化 & 可高度定制 | 平铺(参数冗余、信息量少) |
端侧开发本钱 | 一般(声明式) | 低 |
全链路链路追寻 | 强壮(一致范式) | 一般(依托大数据后处理) |
全渠道一致的曝光战略 | 抹平列表&非列表;全渠道一致; | 弱化曝光埋点 |
曝光埋点高精度 | 高精度(处理遮挡) | 弱 |
埋点校验&数据稽察 | 强壮(可视化校验 & 线上稽察) | 弱 |
云音乐落地
因为曙光埋点能够带来的这些优点,截止到现在为止,云音乐APP现已全面拥抱曙光,覆盖简直全部的P0/P1事务场景,从双端客户端、H5、RN等,到数仓、大数据引荐等,现已全数切换到曙光。
依托于安稳的VTree结构,以及强壮的埋点校验&埋点数据稽察,QA人力已彻底释放,数据相关Bug也大幅下降,现已很长时间没有出现过因为资源曝光不准确而导致的数据问题了。
社区
dawn 计划建造一个关于端侧埋点的开放社区,假如你对客户端侧埋点或者埋点数据剖析感兴趣,请与咱们联系,或者能够在 dawn-discussions 跟咱们进行沟通。
- Github:github.com/eventtracin…
- 官网与文档:eventtracing.github.io
- 欢迎加入微信官方答疑群
最终
本文发布自网易云音乐技术团队,文章未经授权禁止任何方式的转载。咱们常年招收各类技术岗位,假如你预备换工作,又刚好喜爱云音乐,那就加入咱们 grp.music-fe(at)corp.netease.com!