添加埋点的方法、装置、处理器、存储介质及程序产品制造方法及图纸

技术编号:32337126 阅读:15 留言:0更新日期:2022-02-16 18:45
本申请实施例提供一种添加埋点的方法、装置、处理器、存储介质及程序产品。方法包括:获取待添加埋点的可执行文件;对可执行文件进行转换,以得到可执行文件对应的抽象语法树;遍历抽象语法树,以确定抽象语法树中包含的函数声明;获取函数声明的函数名称和预设埋点配置文件,预设埋点配置文件包括目标埋点函数数组和埋点调用函数;在确定目标埋点函数数组包含函数名称的情况下,将埋点调用函数添加至与函数名称对应的函数。这种添加埋点的方法,无需人工参与,提高了埋点添加的效率,同时也不会有遗漏,可以准确、全面地对需要添加埋点的函数进行埋点。并且,还可以灵活地配置埋点上报规则,可以满足多个方面对埋点数据上报的要求。求。求。

【技术实现步骤摘要】
添加埋点的方法、装置、处理器、存储介质及程序产品


[0001]本申请涉及计算机
,具体涉及一种添加埋点的方法、装置、处理器、存储介质及程序产品。

技术介绍

[0002]埋点分析,是网站分析的一种常用的数据采集方法。数据埋点是一种良好的私有化部署数据采集方式,分为初级、中级、高级三种方式。埋点的目的是为了获取用户基本信息、行为以及跟踪产品在用户端的使用情况,并以监控数据为基础,指明产品优化的方向。因此,如何在代码中进行埋点,是技术人员亟需解决的问题。
[0003]在现有技术CN110737589A中,提供了一种自动埋点的方法、装置、介质和电子设备。在此专利申请中,通过获取注解器标注的埋点的注入点信息,并根据注入点信息识别出注入点;通过移动UI框架的工具在注入点对网络应用的源代码进行埋点处理,生成混合字节码;根据混合字节码生成编译后的代码。然而,此现有技术针对的是Android、iOS双平台的Flutter元信息埋点功能,而无法实现对前端页面代码的埋点操作。

技术实现思路

[0004]本申请实施例的目的是提供一种能够快速、准确地对前端页面进行埋点的添加埋点的方法、装置、处理器、存储介质及程序产品。
[0005]为了实现上述目的,本申请第一方面提供一种添加埋点的方法,包括:
[0006]获取待添加埋点的可执行文件;
[0007]对所述可执行文件进行转换,以得到所述可执行文件对应的抽象语法树;
[0008]遍历所述抽象语法树,以确定所述抽象语法树中包含的函数声明;
[0009]获取所述函数声明的函数名称和预设埋点配置文件,所述预设埋点配置文件包括目标埋点函数数组和埋点调用函数;
[0010]在确定所述目标埋点函数数组包含所述函数名称的情况下,将所述埋点调用函数添加至与所述函数名称对应的函数。
[0011]在本申请实施例中,预设埋点配置文件还包括目标注释文本,方法还包括:在确定目标埋点函数数组中未包含有函数名称的情况下,获取函数名称对应函数所包含的注释文本;在注释文本中包含有目标注释文本的情况下,将预设埋点调用函数添加至函数名称对应的函数。
[0012]在本申请实施例中,注释文本的类型包括函数前注释、行内注释以及尾部注释中的至少一者;方法还包括:在任意一种类型的注释文本中包含有目标注释文本的情况下,确定注释文本中包含有目标注释文本。
[0013]在本申请实施例中,方法还包括:将埋点调用函数添加至函数名称对应的函数之后,生成更新后的抽象语法树;通过第一数据库将更新后的抽象语法树转换为更新后的可执行文件。
[0014]在本申请实施例中,预设埋点配置文件还包括与每个埋点调用函数对应的埋点上报规则;方法还包括:在通过第一数据库将更新后的抽象语法树转换为更新后的可执行文件之后,对更新后的可执行文件进行部署;在更新后的可执行文件中的埋点调用函数被调用的情况下,获取终端根据与埋点调用函数对应的埋点上报规则采集并上传的埋点数据。
[0015]在本申请实施例中,在埋点调用函数被调用的情况下,获取终端根据与埋点调用函数对应的埋点上报规则采集并上传的埋点数据包括:在多个埋点调用函数被调用的情况下,通过终端根据与每个埋点调用函数对应的埋点上报规则采集到对应的埋点数据并缓存到本地数据库;获取终端根据预设上报周期上传本地数据库中存储的多个埋点数据。
[0016]在本申请实施例中,埋点上报规则包括用户信息、终端的设备标识、埋点调用函数的调用时间、埋点调用函数被调用时的应用名称以及访问地址中的至少一者。
[0017]在本申请实施例中,对可执行文件进行转换,以得到可执行文件对应的抽象语法树包括:通过第二数据库对可执行文件进行转换,以得到可执行文件对应的抽象语法树包。
[0018]在本申请实施例中,将埋点调用函数添加至函数名称对应的函数包括:将埋点调用函数添加至函数名称对应的函数的本体中,并将埋点调用函数的参数更新为函数名称。
[0019]在本申请实施例中,将埋点调用函数添加至函数名称对应的函数还包括:通过第三数据库将埋点调用函数转换为对应的抽象语法树;将转换后的埋点调用函数添加至函数名称对应的函数。
[0020]本申请第二方面提供一种处理器,被配置成执行上述的添加埋点的方法。
[0021]本申请第三方面提供一种添加埋点的装置,包括上述的处理器。
[0022]本申请第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的添加埋点的方法。
[0023]本申请第五方面提供一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述的添加埋点的方法。
[0024]上述添加埋点的方法,通过获取待添加埋点的可执行文件,对可执行文件进行转换,以得到可执行文件对应的抽象语法树,并遍历抽象语法树,以确定抽象语法树中包含的函数声明,在确定目标埋点函数数组包含函数名称的情况下,自动将埋点调用函数添加至与函数名称对应的函数,这种添加埋点的方法,无需人工参与,提高了埋点添加的效率,同时也不会有遗漏,可以准确、全面地对需要添加埋点的函数进行埋点。并且,还可以灵活地配置埋点上报规则,可以满足多个方面对埋点数据上报的要求。
[0025]本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0026]附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
[0027]图1示意性示出了根据本申请实施例的添加埋点的方法的流程示意图;
[0028]图2示意性示出了根据本申请实施例的添加埋点的过程示意图;
[0029]图3示意性示出了根据本申请另一实施例的添加埋点的方法的流程示意图;
[0030]图4示意性示出了根据本申请实施例的计算机设备的内部结构图。
具体实施方式
[0031]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请实施例,并不用于限制本申请实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0032]需要说明,若本申请实施例中有涉及方向性指示(诸如上、下、左、右、前、后
……
),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
[0033]另外,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种添加埋点的方法,其特征在于,所述方法包括:获取待添加埋点的可执行文件;对所述可执行文件进行转换,以得到所述可执行文件对应的抽象语法树;遍历所述抽象语法树,以确定所述抽象语法树中包含的函数声明;获取所述函数声明的函数名称和预设埋点配置文件,所述预设埋点配置文件包括目标埋点函数数组和埋点调用函数;在确定所述目标埋点函数数组包含所述函数名称的情况下,将所述埋点调用函数添加至与所述函数名称对应的函数。2.根据权利要求1所述的方法,其特征在于,所述预设埋点配置文件还包括目标注释文本,所述方法还包括:在确定所述目标埋点函数数组中未包含有所述函数名称的情况下,获取所述函数名称对应函数所包含的注释文本;在所述注释文本中包含有所述目标注释文本的情况下,将所述预设埋点调用函数添加至所述函数名称对应的函数。3.根据权利要求2所述的方法,其特征在于,所述注释文本的类型包括函数前注释、行内注释以及尾部注释中的至少一者;所述方法还包括:在任意一种类型的注释文本中包含有所述目标注释文本的情况下,确定所述注释文本中包含有所述目标注释文本。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述埋点调用函数添加至所述函数名称对应的函数之后,生成更新后的抽象语法树;通过第一数据库将所述更新后的抽象语法树转换为更新后的可执行文件。5.根据权利要求4所述的方法,其特征在于,所述预设埋点配置文件还包括与每个埋点调用函数对应的埋点上报规则;所述方法还包括:在通过所述第一数据库将所述更新后的抽象语法树转换为更新后的可执行文件之后,对所述更新后的可执行文件进行部署;在所述更新后的可执行文件中的所述埋点调用函数被调用的情况下,获取终端根据与所述埋点调用函数对应的埋点上报规则采集并上传的埋点数据。6.根据权利要求5所述的方法,其特征在于,所述在所述埋点调用函数被调用的情况下,...

【专利技术属性】
技术研发人员:孟繁贵
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1