当前位置: 首页 > Web前端 > JavaScript

网易云音乐开源全链路追踪解决方案-黎明追踪(dawn)

时间:2023-03-27 15:33:56 JavaScript

本文作者:丁力一个完美的数据乌托邦。曙光埋点创造性地提出了埋点VTree,并在此基础上实现了很多能力,解决了大前端侧埋点难度大、精度差、不稳定、质量低等问题,并设计了一套完整的设备端全链路追踪能力完美辅助大数据用户画像、实时归因/线下归因分析、漏斗分析、大数据推荐场景。曙光从点位设计,到大前端(iOS、Android、H5、RN等)开发,到点位验证&检测,到点位数据使用的全链路服务,让点位成为客户的点位点变得容易。真的很容易使用。目前已广泛应用于各大云音乐APP。行业难点&痛点:埋点开发成本高:端到端的埋点开发往往是一坑一坑的进行。坑上有大量重复参数,开发成本高;埋点精度低:资源暴露,埋点高度复杂且精度低,缺乏全站统一的暴露策略;埋点模型不稳定:mspm和x-path形式的埋点,个别坑位和自动坑位方案,难以保证埋点模型的稳定性;链路跟踪能力弱点:终端侧没有链路跟踪能力,往往需要借助数据端对线下数据进行复杂分析得到,成本高;埋点质量难把控:从设计、开发、到验证、上线,都使用QA人力,保证成本大,利润小。特点高性能虚拟树:曙光埋点提出埋点对象和虚拟树(以下简称VTree),视图声明为对象,原始视图树导出一个高性能的VTree。VTree构建了我们整个曙光埋点解决方案的核心Cornerstone;结构化的埋点内容:借助VTree,我们的埋点内容是结构化的,能够自我描述的,自然而然的就有了上下层的关系,然后埋点内容就带着坑,内容,以及上下层。关系,从而得到有意义且稳定的spm(SuperPositionModel)和scm(SuperContentModel);跨站统一曝光策略:跨多端统一资源曝光策略,让你看到的是曝光的开始,看不见的就是曝光结束,大大降低了开发者的开发成本和出错概率;全链路追踪能力:强大的终端侧链路追踪能力,100%可追踪用户日志的操作链路关系,完美助力大数据实时归因分析、线下归因分析、漏斗分析、大数据推荐场景,实现无限深度和无限广度的数据分析能力;完善的埋点迭代管理:强大的埋点迭代管理平台,致力于承载互联网应用快速迭代场景,完善的历史记录管理和多版本并行;多机制埋点质量保障:离线埋点验证,无需QA人力即可开发埋点,同时在线保障埋点质量;在线数据检测保障全自动发现在线埋点问题;全平台覆盖:站外覆盖iOS、Android、RN、H5,可轻松扩展到Flutter、weex等其他平台。详细内容可参考《云音乐曙光埋点:还原数据乌托邦》使用曙光曙光埋点覆盖iOS、Android、H5、RN、埋点管理平台(easyinsight平台)。BI分析师在埋点平台ClickVTree上设计埋点,端侧开发人员以极低的开发成本和声明式开发方式导出VTree。结合easyinsight平台上线前的埋点验证和在线数据检测,既提高了开发效率,又保证了埋点质量。.曙光埋点更详细的使用,参见曙光埋点-文献行业曙光与x-path系列对比x-path系列埋点比较有代表性的有Mixpanel(游戏)、GrowingIO、网易HubbleData、美团,主要特点是加强无痕埋点,埋点后关联,后期数据处理;适用场景主要是一些UI复杂度低,相对固定的场景,这样可以从原始视图树生成x-path,用来唯一标识一个埋坑变得可行。比如典型的使用场景是按钮点击、页面曝光等场景,对于高精度的资源位曝光有些弱。其中,美团在自有动态解决方案业务场景中做可视化埋点,曙光目前也支持在H5事件场景中进行可视化埋点。但是缺点也很明显,就是不适合复杂的业务场景,嵌入点模型不稳定。该方案不能用于对嵌点质量要求特别高的业务。埋坑之后再对数据进行关联和后处理,成本也很高,使用起来也不方便。功能曙光x-path系列VTree可视化支持(全程)无可视化埋点支持H5支持(美团)结构化分层埋点内容&高度可定制的tiling(参数冗余,信息少)埋点模型稳定(spm&scm)高度稳定低(后关联)端侧开发成本通用(声明式)低全链路链接跟踪强大(统一范式)通用(依赖大数据后处理)全平台统一曝光策略??平滑列表&非列表;在所有平台上统一;weakedexposureburiedpointburiedpointverification&strongdatainspection(visualverification&onlineinspection)weakdawn和pitmspm系列pitmspm系列埋点解决方案是目前业内最多公司采用的解决方案,如腾讯、字节跳动、快手、美团、早期云音乐;该方案与埋点和坑无关,埋坑往往由机器生成的mspm字符串来标识,但通常mspm都是无意义的字符串。该方案可以灵活适应各种复杂的业务场景,并且依托大公司强大的大数据能力,还可以实现非常好的漏斗分析、数据归因等能力。但是,客户端的开发/维护成本很高,尤其是在资源暴露和埋没的情况下。最终无法统一榜单和非榜单策略,更谈不上全平台的策略,也很难落地。这也是最容易出现bug的地方。这个地方。由于设备侧不参与链路追踪,大数据侧很难准确归属,也没有统一的范式进行统一处理。功能曙光x-path系列VTree可视化支持(全程支持)无内嵌内容Structuredhierarchy&Highlycustomizabletiling(redundantparameters,lessinformation)General(declarative)lowend-to-sidedevelopmentcosts全链路强大的链路跟踪(统一paradigm)General(依托大数据后处理)全平台统一曝光策略??Smoothinglists&non-lists;跨平台统一;weakingexposurebuillingpoints曝光埋点高精度高精度(处理遮挡)Pointverification&datainspection强大(visualverification&onlineinspection)Weakdawnandfour-stagespm四阶段spm基于mspm系列坑,赋予spm一个层级关系(site.page.block.areaBlock)信息,阿里巴巴大量使用该方案,云音乐早期也有这方面的尝试;该方案使埋点变得有意义,在埋点管理过程中更加方便。但是四阶段的方式也限制了形式,降低了灵活性,端侧缺乏清晰的VTree结构。它在埋点稳定性、埋点验证/数据检查、结构化埋点内容等方面存在一定的局限性。功能曙光x-path系列VTree可视化支持(贯穿全流程)无埋点迭代管理可视化,适合迭代并行通用埋点内容结构化分层&高度可定制的分块(参数冗余,信息少)端侧开发一般成本(declarative)低全链路链接跟踪强大(统一范式)通用(依赖大数据后处理)跨平台统一曝光策略??平滑列表&非列表;跨平台统一;weakenexposure埋点曝光埋点高精度高精度(分块处理)弱埋点验证&数据检测强大(目视验证&在线检测)弱云音乐落地由于曙光埋点可以带来的好处,到目前为止之后,云音乐APP已经全面拥抱曙光,几乎涵盖了所有P0/P1业务场景,从双端客户端、H5、RN等,到数据仓库、大数据推荐等,都已经切换到曙光。依靠稳定的VTree结构,以及强大的埋点验证&埋点数据检查,QA人力得到了彻底释放,数据相关的BUG也大幅下降。长期以来一直没有出现资源暴露不准确导致的数据问题。社区黎明计划建立一个关于端侧埋点的开放社区。如果您对客户端埋点或埋点数据分析感兴趣,请联系我们,也可以在黎明-讨论中与我们交流。Github:https://github.com/eventtracing/dawn官网及文档:https://eventtracing.github.io欢迎加入官方微信问答群。最后,本文由网易云音乐技术团队发布。任何形式的未经授权的文章禁止转载。我们常年招聘各种技术岗位。如果你要跳槽,又恰好喜欢云音乐,那就加入我们吧grp.music-fe(at)corp.netease.com!