[发明专利]应用程序的动态埋点方法、装置、存储介质及计算机设备有效
| 申请号: | 202010783426.4 | 申请日: | 2020-08-06 |
| 公开(公告)号: | CN112115041B | 公开(公告)日: | 2023-08-22 |
| 发明(设计)人: | 田雪峰;张家龙 | 申请(专利权)人: | 北京水滴科技集团有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/34;G06F8/30 |
| 代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 黄耀威 |
| 地址: | 100102 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 应用程序 动态 方法 装置 存储 介质 计算机 设备 | ||
本发明公开了一种应用程序的动态埋点方法、装置、存储介质及计算机设备。其中方法包括:获取目标类文件的名称、目标方法的名称、方法参数以及埋点数据;对方法参数进行校验,并根据方法参数、目标方法的名称和目标类文件的名称获取目标方法和目标类文件,以及将目标方法、目标类文件和埋点数据发送给目标代理端;目标代理端对目标方法进行拦截和预处理,以将目标方法设置为可被埋点的状态;目标代理端在目标方法的相应位置上调用接口,上报埋点数据,并对目标类文件进行重定义,得到增强后的目标类文件;目标代理端通过字节码增强技术将目标类文件替换为增强后的目标类文件,以实现应用程序的动态埋点。上述方法提高了应用程序的埋点效率。
技术领域
本发明涉及互联网技术领域,尤其是涉及一种应用程序的动态埋点方法、装置、存储介质及计算机设备。
背景技术
随着互联网科技的不断发展,数据的重要性日益体现出来。数据埋点作为一种数据采集方式,是实现数据驱动产品优化和精细化运营链条上重要的一环,数据埋点的直接目标是通过埋点实现对用户行为全方位的持续追踪,理清用户行为轨迹、抓住用户特征、解析关键路径,为数据分析提供精准的数据,为产品优化和精细化运营提供方向。
在进行分布式链路追踪时,尤其需要对监控的应用程序进行埋点,在进行应用程序的埋点时首先需要预先在程序执行的关键路径和关键代码位置植入代码,如在方法的执行前后植入代码,然后将原代码替换成未埋点后的代码,并重新启动服务使埋点后的代码生效,这样一来,每个点位只能在程序启动时确定且无法在程序运行时动态修改,此外,在进行应用程序的埋点时,还需要侵入应用程序的源代码,编写大量的逻辑代码进行埋点,这样的操作往往也会对应用程序的源文件带来较大的改动,使得埋点效率低下且代码冗余量较多,代码稳定性变差。
发明内容
有鉴于此,本申请提供了一种应用程序的动态埋点方法、系统、存储介质及计算机设备,主要目的在于解决应用程序埋点效率低和代码稳定性较差的技术问题。
根据本发明的第一个方面,提供了一种应用程序的动态埋点方法,该方法包括:
获取目标类文件的名称、目标方法的名称、方法参数以及埋点数据;
对方法参数进行校验,并根据方法参数、目标方法的名称和目标类文件的名称获取目标方法和目标类文件,以及将目标方法、目标类文件和埋点数据发送给目标代理端;
目标代理端对目标方法进行拦截和预处理,以将目标方法设置为可被埋点的状态;
目标代理端在目标方法的相应位置上调用接口,并上报埋点数据,以及对目标类文件进行重定义,得到增强后的目标类文件;
目标代理端通过字节码增强技术将目标类文件替换为增强后的目标类文件,以实现应用程序的动态埋点。
在一个实施例中,获取目标类文件的名称、目标方法的名称、方法参数以及埋点数据之前,所述方法还包括:获取目标代理端所在服务的全部类文件;根据目标代理端所在服务的全部类文件,构建类文件的前缀树、方法的前缀树以及方法参数的前缀树;在获取目标类文件的名称、目标方法的名称以及方法参数的过程中,展示类文件的前缀树、方法的前缀树以及方法参数的前缀树。
在一个实施例中,埋点数据包括标签数据和/或日志数据,则获取埋点数据,包括:获取至少一个标签数据和/或至少一个日志数据,其中,标签数据包括标签名称和标签表达式;日志数据包括日志名称和日志表达式。
在一个实施例中,对方法参数进行校验,并根据方法参数、目标方法的名称和目标类文件的名称获取目标方法和目标类文件,包括:判断方法参数是否满足语法规则,以及判断目标方法的名称和目标类文件的名称是否匹配;若方法参数满足语法规则且目标方法的名称和目标类文件的名称相匹配,则根据方法参数、目标方法的名称和目标类文件的名称,加载目标类文件和目标方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京水滴科技集团有限公司,未经北京水滴科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010783426.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种燃料电池气体扩散层及加工方法
- 下一篇:一种新型一体式冷藏半挂车





