本文作者:丁立
网易云音乐开源了曙光埋点 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:https://github.com/eventtracing/dawn
- 官网与文档:https://eventtracing.github.io
- 欢送退出微信官网答疑群
最初
本文公布自网易云音乐技术团队,文章未经受权禁止任何模式的转载。咱们长年招收各类技术岗位,如果你筹备换工作,又恰好喜爱云音乐,那就退出咱们 grp.music-fe(at)corp.netease.com!