System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及接口调用,具体涉及一种基于日志染色的接口调用情况分析方法、装置、设备及计算机可读存储介质。
技术介绍
1、随着业务的发展和大组件的拆分,一个接口需要调用多个子服务组件,这使得调用链路变得复杂。现有技术方案直接通过接口日志分析接口调用情况的方式变得困难,同时日志只能揭示有调用的情况,对于一个接口没有调用的子服务组件不能清晰展示。对于因异常应调用而未调用的逻辑,现有方案难以完成接口逻辑的优化。
技术实现思路
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、根据本专利技术实施例的另一方面,提供了一种基于日志染色的接口调用情况分析装置,所述装置包括:
30、日志获取模块,用于获取目标接口的接口日志;所述接口日志为业务调用过程中,所述目标接口调用目标组件产生的日志;所述目标接口与多个下游组件存在调用关系,所述目标组件为多个所述下游组件中的至少一个;
31、组件确定模块,用于根据所述接口日志,确定调用的所述目标组件;
32、染色模块,用于对所述目标接口的接口序列图中与所述目标组件存在调用逻辑的序列节点和节点边进行标识,得到与所述目标组件存在调用逻辑的染色链;所述接口序列图为预先根据所述目标接口与各所述下游组件的调用关系确定的,所述接口序列图包括与所述目标接口直接或间接连接的多个所述序列节点,每一所述序列节点包括一个所述下游组件;存在调用关系的两个所述序列节点之间通过所述节点边连接;
33、分析模块,用于根据所述染色链对所述目标接口进行调用情况分析,确定所述目标接口的逻辑执行情况和数据流动情况。
34、根据本专利技术实施例的另一方面,提供了一种基于日志染色的接口调用情况分析设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
35、所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述的基于日志染色的接口调用情况分析方法的操作。
36、根据本专利技术实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在基于日志染色的接口调用情况分析设备上运行时,使得基于日志染色的接口调用情况分析设备执行如上述的基于日志染色的接口调用情况分析方法的操作。
37、本专利技术实施例通过获取目标接口的接口日志以及预先根据目标接口与各下游组件的调用关系确定的接口序列图,能够对目标接口的接口序列图中与目标组件存在调用逻辑的序列节点和节点边进行染色标识,清晰展示出各下游组件的调用情况,并能够提高接口调用情况分析的效率,特别是分析应调用而未调用下游组件的场景,本专利技术实施例能够更好地获取用于排障和分析的关键信息。
38、上述说明仅是本专利技术实施例技术方案的概述,为了能够更清楚了解本专利技术实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术实施例本文档来自技高网...
【技术保护点】
1.一种基于日志染色的接口调用情况分析方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取目标接口的接口日志之前,所述方法包括:
3.根据权利要求2所述的方法,其特征在于,每一所述序列节点还包括接口信息;所述存在调用关系的两个所述序列节点之间通过所述节点边连接,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述染色链对所述目标接口进行调用情况分析,确定所述目标接口的逻辑执行情况和数据流动情况之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述根据各所述目标组件的调用次数确定所述接口序列图的实质调用热力图之后,所述方法包括:
6.根据权利要求3所述的方法,其特征在于,所述根据所述染色链对所述目标接口进行调用情况分析,确定所述目标接口的逻辑执行情况和数据流动情况之后,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述对所述目标接口的接口序列图中与所述目标组件存在调用逻辑的序列节点和节点边进行标识,得到与所述目标组件存在调用逻辑的染色链之后
8.一种基于日志染色的接口调用情况分析装置,其特征在于,所述装置包括:
9.一种基于日志染色的接口调用情况分析设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在基于日志染色的接口调用情况分析设备上运行时,使得基于日志染色的接口调用情况分析设备执行如权利要求1-7任意一项所述的基于日志染色的接口调用情况分析方法的操作。
...【技术特征摘要】
1.一种基于日志染色的接口调用情况分析方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取目标接口的接口日志之前,所述方法包括:
3.根据权利要求2所述的方法,其特征在于,每一所述序列节点还包括接口信息;所述存在调用关系的两个所述序列节点之间通过所述节点边连接,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述染色链对所述目标接口进行调用情况分析,确定所述目标接口的逻辑执行情况和数据流动情况之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述根据各所述目标组件的调用次数确定所述接口序列图的实质调用热力图之后,所述方法包括:
6.根据权利要求3所述的方法,其特征在于,所述根据所述染色链对所述目标接口进行调用情况分析,确定所述目标接口的逻辑执行情...
【专利技术属性】
技术研发人员:范子果,杨建立,薛仲义,
申请(专利权)人:国信证券股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。