【技术实现步骤摘要】
基于抽象语法树的前端埋点方法及装置
[0001]本申请涉及金融领域或其他领域,尤其涉及一种基于抽象语法树的前端埋点方法及装置。
技术介绍
[0002]为了收集前端的一些用户行为,需要在前端代码中进行埋点,对特定用户行为的触发频率和页面性能进行分析。对这类特定行为进行埋点,需要在这类行为对应的函数中预置一些信息,保证在函数被触发时上报对应信息。现有的前端埋点方案有两种:
[0003]①
全埋点方式:在全局对需要监听的事件类别设置监听器,在事件触发时自动上送事件。因为运行态的代码经过了压缩混淆,函数名称发生了改变,这种方法无法获取被触发函数的原始名称,无法有效识别出事件的业务含义,可读性较差,后续分析成本较高。
[0004]②
代码埋点方式:为了使得上送数据中精确包含事件的业务含义和函数名称,可以采用代码埋点方式,即在每个需要监听的事件中手工添加上送逻辑,保证上送数据的准确性。但这种方法需要逐个手工处理每个函数,人力成本较高。
[0005]现有的技术方案中,全埋点方式虽然埋点成本较低,但无 ...
【技术保护点】
【技术特征摘要】
1.一种基于抽象语法树的前端埋点方法,其特征在于,所述方法包括:将代码源文件转化为与所述代码源文件对应的第一抽象语法树;对埋点进行全局初始化,所述全局初始化至少包括配置埋点上送地址、生成采集事件清单以及生成埋点上送函数;根据所述采集事件清单,对所述第一抽象语法树中的与事件对应的节点进行识别;根据所述第一抽象语法树的节点信息中的原始函数名称和文件路径,构造埋点逻辑代码;将所述埋点逻辑代码转换为与所述埋点逻辑代码对应的第二抽象语法树;以及将所述第二抽象语法树添加至所述第一抽象语法树的头部。2.如权利要求1所述的方法,其特征在于,根据所述第一抽象语法树的节点信息中的原始函数名称和文件路径,构造埋点逻辑代码,包括:获取所述原始函数名称和所述文件路径;根据所述原始函数名称与所述文件路径构造上送结构体;以及根据所述上送结构体构造所述埋点逻辑代码。3.如权利要求2所述的方法,其特征在于,获取所述原始函数名称和所述文件路径,包括:根据所述第一抽象语法树的节点信息中的名称字段获得所述原始函数名称;以及从编译上下文中获得所述文件路径。4.如权利要求1所述的方法,其特征在于,对所述第一抽象语法树中的与事件对应的节点进行识别,包括:根据所述节点的属性的值的类型对所述节点进行识别。5.如权利要求1所述的方法,其特征在于,所述配置埋点上送地址包括将用户设置的上送地址或者默认上送地址设置为所述埋点上送地址,所述生成采集事件清单包括将用户设置的采集事件清单与埋点采集的全部事件清单的交集设置为所述采集事件清单,所述生成埋点上送函数包括根据上送地址...
【专利技术属性】
技术研发人员:刘泱,林相相,詹娇淑,徐晓琳,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。