[发明专利]一种基于故障的日志埋点设置方法、装置及系统有效
申请号: | 201911085865.1 | 申请日: | 2019-11-08 |
公开(公告)号: | CN110941528B | 公开(公告)日: | 2022-04-08 |
发明(设计)人: | 魏亚文 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许振新 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 故障 日志 设置 方法 装置 系统 | ||
1.一种基于故障的日志埋点设置方法,包括:
接收业务故障信息,其中,所述业务故障信息包括:业务标识和故障码;
根据预设的业务标识、故障码与子故障码的对应关系,获取与所述业务故障信息中的业务标识和故障码匹配的一个或多个子故障码;
从所述一个或多个子故障码中获取到当前业务平台上未设置有对应日志埋点的子故障码,并获取与所述未设置有对应日志埋点的子故障码对应的日志埋点描述信息,其中,所述埋点描述信息包括:埋点坐标;
获取所述当前业务平台线上运行的各个业务系统的程序源代码,根据所述埋点描述信息中的埋点坐标,在所述程序源代码的对应位置动态加入对应的日志埋点代码段;
将加入所述日志埋点代码段后的所述程序源代码动态加载到所述当前业务平台上。
2.根据权利要求1所述的方法,其中,根据预设的业务标识、故障码与子故障码的对应关系,获取与所述业务故障信息中的业务标识和故障码匹配的一个或多个子故障码,包括:
根据所述预设的业务标识、故障码与子故障码的对应关系,获取与所述业务故障信息中的业务标识和故障码匹配的下一级业务标识和子故障码,再根据所述对应关系,找到与所述下一级业务标识和子故障码匹配的再下一级业务标识和子故障码,循环递归,直到匹配到最后一级业务标识和子故障码。
3.根据权利要求2所述的方法,其中,获取与所述未设置有对应日志埋点的子故障码对应的日志埋点描述信息,包括:
根据预设的子故障码与日志埋点描述信息的对应关系,获取与所述未设置有对应日志埋点的子故障码对应的日志埋点描述信息。
4.根据权利要求3所述的方法,其中,所述预设的业务标识、故障码与子故障码的对应关系以及所述预设的子故障码与日志埋点描述信息的对应关系以树的结构进行存储。
5.根据权利要求1所述的方法,其中,所述日志埋点描述信息还包括采集的变量名称;根据所述日志埋点描述信息的埋点坐标,在所述程序源代码的对应位置动态加入对应的日志埋点代码段,包括:
将所述程序源代码加载内存,在与所述埋点坐标对应的代码行加入所述埋点描述信息的代码段;
将所述内存中的程序源代码编译成计算机能识别的代码文件;
逐行扫描所述代码文件,在从所述代码文件中解析到所述变量名称后,为与所述变量名称对应的变量分配内存并存储到所述业务系统所处的线程栈内存中,以及在所述代码文件的当前行动态加入日志打印的静态方法调用代码;
将所述内存的代码文件保存到本地。
6.根据权利要求5所述的方法,其中,将加入所述日志埋点动态加载后的所述程序源代码动态加载到所述当前业务平台,包括:
获取所述当前业务平台当前线程的加载器,使用所述加载器将保存在本地的所述代码文件加载到内存;
通过反射调用的方式将所述当前业务平台引用的内存地址替换为所述本地的代码文件在内存中对应的地址。
7.一种基于故障的日志埋点设置装置,包括:
接收单元,接收业务故障信息,其中,所述业务故障信息包括:业务标识和故障码;
第一获取单元,根据预设的业务标识、故障码与子故障码的对应关系,获取与所述业务故障信息中的业务标识和故障码匹配的一个或多个子故障码;
第二获取单元,从所述一个或多个子故障码中获取到当前业务平台上未设置有对应日志埋点的子故障码,并获取与所述未设置有对应日志埋点的子故障码对应的日志埋点描述信息,其中,所述埋点描述信息包括:埋点坐标;
第三获取单元,获取所述当前业务平台线上运行的各个业务系统的程序源代码;
埋入单元,根据所述埋点描述信息中的所述埋点坐标,在所述程序源代码的对应位置动态加入对应的日志埋点代码段;
动态加载单元,将加入所述日志埋点代码段后的所述程序源代码动态加载到所述当前业务平台上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911085865.1/1.html,转载请声明来源钻瓜专利网。