接口调用链路耗时统计方法及装置、设备及介质制造方法及图纸

技术编号:31231474 阅读:27 留言:0更新日期:2021-12-08 10:06
本发明专利技术提供一种接口调用链路耗时统计方法及装置、设备及介质,该方法包括:获取接口间的调用信息,所述调用信息包括:接口间调用的开始时间戳、结束时间戳以及调用关系;根据所述调用信息,确定接口间的当前调用时间链路信息,当前调用时间链路信息包括:调用关系以及与所述调用关系对应的耗时;将当前调用时间链路信息与历史汇总调用时间链路信息相融合得到当前汇总调用时间链路信息,通过调用信息确定接口间的当前调用时间链路信息从而获得调用关系以及与所述调用关系对应的耗时,并且进行汇总统计,与现有技术中常用的只能追踪每一次的调用链路耗时的追踪方法信息相比,能够对接口的调用进行更加详细的调用链路耗时统计,便于后续分析优化。便于后续分析优化。便于后续分析优化。

【技术实现步骤摘要】
接口调用链路耗时统计方法及装置、设备及介质


[0001]本专利技术涉及计算机
,尤其涉及一种接口调用链路耗时统计方法及装置、设备及介质。

技术介绍

[0002]当前,如果想要知道系统接口的耗时怎么样,一般会通过埋点的方式去获取接口的运行状况。目前已经有很多框架支持埋点与追踪,比如我们常用的Micrometer+Prometheus+Grafana。通过将数据埋点,上报,统计,展示的过程,可以让我们直观的了解接口的性能怎么样。
[0003]但是,已有的这些埋点方式,一般为单点方式,比如现在有两个接口方法,A、B。A和B都会调用一个Service的M方法,我们对A,B方法分别进行埋点统计;如果我们想要知道Service的M方法执行耗时情况,我们可以对M方法进行埋点统计。我们是可以分别知道A、B、M的耗时情况,但是无法区分M分别在A,B方法的耗时占比,因为M的埋点统计信息只针对M本身。
[0004]因此,如何提供一种接口调用链路耗时统计方案,能够对接口的调用进行更加详细的调用链路耗时统计,便于后续分析优化是本领域技术人员亟待解决的技术问题。

技术实现思路

[0005]本专利技术提供一种接口调用链路耗时统计方法及装置、设备及介质,能够对接口的调用进行更加详细的调用链路耗时统计,便于后续分析优化。
[0006]第一方面,本专利技术提供一种接口调用链路耗时统计方法,包括:
[0007]获取接口间的调用信息,所述调用信息包括:接口间调用的开始时间戳、结束时间戳以及调用关系;r/>[0008]根据所述调用信息,确定接口间的当前调用时间链路信息,当前调用时间链路信息包括:调用关系以及与所述调用关系对应的耗时;
[0009]将当前调用时间链路信息与历史汇总调用时间链路信息相融合得到当前汇总调用时间链路信息。
[0010]进一步地,所述获取接口间的调用信息,所述调用信息包括:接口间调用的开始时间戳、结束时间戳以及调用关系包括:
[0011]在待统计程序模块执行时,在获取到接口调用开始信息的条件下,记录当前时间为开始时间戳;
[0012]在获取到接口调用结束信息的条件下,记录当前时间为结束时间戳;
[0013]确定当前接口以及与当前接口的上一接口的调用关系。
[0014]进一步地,所述根据所述调用信息,确定接口间的当前调用时间链路信息,当前调用时间链路信息包括:调用关系以及与所述调用关系对应的耗时包括:
[0015]将所述结束时间戳减去所述开始时间戳得到耗时;
[0016]确定所述耗时与所述调用关系的对应关系,得到接口间的当前调用时间链路信息。
[0017]进一步地,所述将当前调用时间链路信息与历史汇总调用时间链路信息相融合得到当前汇总调用时间链路信息包括:
[0018]将当前调用时间链路信息与历史汇总调用时间链路信息作比对,得到第一链路信息以及第二链路信息,所述第一链路信息存在于当前调用时间链路信息而不存在于所述历史汇总调用时间链路信息;所述第二链路信息为当前调用时间链路信息与所述历史汇总调用时间链路信息中相同拓扑关系的链路信息;
[0019]将所述第一链路信息添加到所述历史汇总调用时间链路信息,得到当前汇总链路信息;
[0020]将所述第二链路信息中的耗时与所述历史汇总链路信息中的耗时相叠加作为当前汇总链路信息的耗时,得到当前汇总调用时间链路信息。
[0021]进一步地,还包括:
[0022]按照统计次数对当前调用时间链路信息进行编号;
[0023]将编号与对应的当前调用时间链路信息进行存储。
[0024]第二方面,本专利技术提供一种接口调用链路耗时统计装置,包括:
[0025]信息获取模块,用于获取接口间的调用信息,所述调用信息包括:接口间调用的开始时间戳、结束时间戳以及调用关系;
[0026]当前链路确定模块,用于根据所述调用信息,确定接口间的当前调用时间链路信息,当前调用时间链路信息包括:调用关系以及与所述调用关系对应的耗时;
[0027]链路汇总模块,用于将当前调用时间链路信息与历史汇总调用时间链路信息相融合得到当前汇总调用时间链路信息。
[0028]进一步地,所述信息获取模块包括:
[0029]开始时间记录单元,用于在待统计程序模块执行时,在获取到接口调用开始信息的条件下,记录当前时间为开始时间戳;
[0030]结束时间记录单元,用于在获取到接口调用结束信息的条件下,记录当前时间为结束时间戳;
[0031]关系确定单元,用于确定当前接口以及与当前接口的上一接口的调用关系。
[0032]进一步地,所述当前链路确定模块包括:
[0033]耗时确定单元,用于将所述结束时间戳减去所述开始时间戳得到耗时;
[0034]关系确定单元,用于确定所述耗时与所述调用关系的对应关系,得到接口间的当前调用时间链路信息。
[0035]进一步地,所述链路汇总模块包括:
[0036]链路比对单元,用于将当前调用时间链路信息与历史汇总调用时间链路信息作比对,得到第一链路信息以及第二链路信息,所述第一链路信息存在于当前调用时间链路信息而不存在于所述历史汇总调用时间链路信息;所述第二链路信息为当前调用时间链路信息与所述历史汇总调用时间链路信息中相同拓扑关系的链路信息;
[0037]链路汇总单元,用于将所述第一链路信息添加到所述历史汇总调用时间链路信息,得到当前汇总链路信息;
[0038]耗时叠加单元,用于将所述第二链路信息中的耗时与所述历史汇总链路信息中的耗时相叠加作为当前汇总链路信息的耗时,得到当前汇总调用时间链路信息。
[0039]进一步地,还包括:
[0040]编号模块,用于按照统计次数对当前调用时间链路信息进行编号;
[0041]存储模块,用于将所述编号与对应的当前调用时间链路信息进行存储。
[0042]第三方面,本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述接口调用链路耗时统计方法的步骤。
[0043]第四方面,本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述接口调用链路耗时统计方法的步骤。
[0044]第五方面,本专利技术还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任一种所述接口调用链路耗时统计方法的步骤。
[0045]本专利技术提供的一种接口调用链路耗时统计方法及装置、设备及介质,通过调用信息确定接口间的当前调用时间链路信息从而获得调用关系以及与所述调用关系对应的耗时;并且进行汇总统计,与现有技术中常用的链式追踪框架方法只能追踪每一次的方法调用链路耗时信息相比,可以递归输出对应各个调用关系,所调用的埋点子方法执行的耗时,能够对接口的调用进行更加详细的调用链路耗本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种接口调用链路耗时统计方法,其特征在于,包括:获取接口间的调用信息,所述调用信息包括:接口间调用的开始时间戳、结束时间戳以及调用关系;根据所述调用信息,确定接口间的当前调用时间链路信息,当前调用时间链路信息包括:调用关系以及与所述调用关系对应的耗时;将当前调用时间链路信息与历史汇总调用时间链路信息相融合得到当前汇总调用时间链路信息。2.根据权利要求1所述的接口调用链路耗时统计方法,其特征在于,所述获取接口间的调用信息,所述调用信息包括:接口间调用的开始时间戳、结束时间戳以及调用关系包括:在待统计程序模块执行时,在获取到接口调用开始信息的条件下,记录当前时间为开始时间戳;在获取到接口调用结束信息的条件下,记录当前时间为结束时间戳;确定当前接口以及与当前接口的上一接口的调用关系。3.根据权利要求1所述的接口调用链路耗时统计方法,其特征在于,所述根据所述调用信息,确定接口间的当前调用时间链路信息,当前调用时间链路信息包括:调用关系以及与所述调用关系对应的耗时包括:将所述结束时间戳减去所述开始时间戳得到耗时;确定所述耗时与所述调用关系的对应关系,得到接口间的当前调用时间链路信息。4.根据权利要求1至3任一项所述的接口调用链路耗时统计方法,其特征在于,所述将当前调用时间链路信息与历史汇总调用时间链路信息相融合得到当前汇总调用时间链路信息包括:将当前调用时间链路信息与历史汇总调用时间链路信息作比对,得到第一链路信息以及第二链路信息,所述第一链路信息存在于当前调用时间链路信息而不存在于所述历史汇总调用时间链路信息;所述第二链路信息为当前调用时间链路信息与所述历史汇总调用时间链路信息中相同拓扑关系的链路信息;将所述第一链路信息添加到所述历史汇总调用时间链路信息,得到当前汇总链路信息;将所述第二链路信息中的耗时与所述历史汇总链路信...

【专利技术属性】
技术研发人员:张智明甘颖
申请(专利权)人:北京房江湖科技有限公司
类型:发明
国别省市:

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

1