本发明涉及数据处理,尤其涉及一种动态埋点方法、装置、电子设备及可读存储介质。
背景技术:
1、埋点又称为事件追踪(event tracking),指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。传统的埋点机制,主要是通过修改微服务的业务代码,添加埋点日志代码,完成埋点修改,在修改完成后,还需要升级生产环境的微服务,把新的代码推上线,因此现有的埋点工作需要重启线上微服务。此操作可能会造成线上服务的流量损失,且埋点时长较长,效率低。
技术实现思路
1、有鉴于此,本发明实施例提供了一种动态埋点方法、装置、电子设备及可读存储介质,以解决不能线上动态埋点的问题。
2、根据本发明的一方面,提供了一种动态埋点方法,包括:
3、接收第一输入,第一输入为目标服务的埋点请求;
4、响应于第一输入,获取埋点请求对应的埋点信息,将埋点信息下发至探针,由探针根据埋点信息对目标服务的字节码在线进行修改,生成目标服务的埋点代码,并将埋点代码插入目标服务的字节码中。
5、可选地,接收第一输入前,还包括:
6、接收第二输入,第二输入为启动目标服务的指令;
7、响应于第二输入,启动探针,并建立探针与链路追踪服务的网络连接关系,链路追踪服务用于监听埋点信息。
8、可选地,将埋点代码插入目标服务的字节码后,还包括:
9、根据埋点代码生成埋点日志并存储;
10、基于埋点日志进行用户行为分析并输出用户行为分析结果。
11、可选地,响应于第一输入,获取埋点请求对应的埋点信息,包括:
12、根据第一输入,由目标服务的配置中心获取埋点信息,埋点信息包括埋点全类名、埋点函数名和埋点日志格式。
13、根据本发明的第二方面,提供了一种动态埋点装置,包括:
14、第一接收模块,用于接收第一输入,第一输入为目标服务的埋点请求;
15、埋点模块,响应于第一输入,获取埋点请求对应的埋点信息,将埋点信息下发至探针,由探针根据埋点信息对目标服务的字节码在线进行修改,生成目标服务的埋点代码,并将埋点代码插入目标服务的字节码中。
16、可选地,动态埋点装置,还包括:
17、第二接收模块,用于接收第二输入,第二输入为启动目标服务的指令;
18、启动模块,响应于第二输入,启动探针,并建立探针与链路追踪服务的网络连接关系,链路追踪服务用于监听埋点信息。
19、可选地,动态埋点装置,还包括:
20、存储模块,用于根据埋点代码生成埋点日志并存储;
21、分析模块,用于基于埋点日志进行用户行为分析并输出用户行为分析结果。
22、可选地,埋点模块,包括:
23、第三接收模块,用于根据第一输入,由目标服务的配置中心获取埋点信息,埋点信息包括埋点全类名、埋点函数名和埋点日志格式。
24、根据本发明的第三方面,提供了一种电子设备,包括:
25、处理器;以及
26、存储程序的存储器,
27、其中,程序包括指令,指令在由处理器执行时使处理器执行根据本发明第一方面中任一项的方法。
28、根据本发明的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行根据本发明第一方面中任一项的方法。
29、本发明实施例中提供的一个或多个技术方案,通过利用探针技术,在加载目标服务的字节码之前进行拦截并对字节码进行修改,实现高效便捷无损埋点,解决了无法动态埋点的问题,不需要重启服务,可随时在服务后台操作进行线上埋点,埋点效率得到了极大提升。
1.一种动态埋点方法,其特征在于,包括:
2.根据权利要求1所述的动态埋点方法,其特征在于,所述接收第一输入前,还包括:
3.根据权利要求1所述的动态埋点方法,其特征在于,所述将所述埋点代码插入所述目标服务的字节码后,还包括:
4.根据权利要求1所述的动态埋点方法,其特征在于,所述响应于所述第一输入,获取所述埋点请求对应的埋点信息,包括:
5.一种动态埋点装置,其特征在于,包括:
6.根据权利要求5所述的动态埋点装置,其特征在于,所述动态埋点装置,还包括:
7.根据权利要求5所述的动态埋点装置,其特征在于,所述动态埋点装置,还包括:
8.根据权利要求5所述的动态埋点装置,其特征在于,所述埋点模块,包括:
9.一种电子设备,包括:
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-4中任一项所述的方法。
