一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

接口调用链路耗时统计方法及装置、设备及介质与流程

2021-12-07 20:52:00 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种接口调用链路耗时统计方法及装置、设备及介质。


背景技术:

2.当前,如果想要知道系统接口的耗时怎么样,一般会通过埋点的方式去获取接口的运行状况。目前已经有很多框架支持埋点与追踪,比如我们常用的micrometer prometheus grafana。通过将数据埋点,上报,统计,展示的过程,可以让我们直观的了解接口的性能怎么样。
3.但是,已有的这些埋点方式,一般为单点方式,比如现在有两个接口方法,a、b。a和b都会调用一个service的m方法,我们对a,b方法分别进行埋点统计;如果我们想要知道service的m方法执行耗时情况,我们可以对m方法进行埋点统计。我们是可以分别知道a、b、m的耗时情况,但是无法区分m分别在a,b方法的耗时占比,因为m的埋点统计信息只针对m本身。
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.耗时叠加单元,用于将所述第二链路信息中的耗时与所述历史汇总链路信息中的耗时相叠加作为当前汇总链路信息的耗时,得到当前汇总调用时间链路信息。
39.进一步地,还包括:
40.编号模块,用于按照统计次数对当前调用时间链路信息进行编号;
41.存储模块,用于将所述编号与对应的当前调用时间链路信息进行存储。
42.第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述接口调用链路耗时统计方法的步骤。
43.第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述接口调用链路耗时统计方法的步骤。
44.第五方面,本发明还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任一种所述接口调用链路耗时统计方法的步骤。
45.本发明提供的一种接口调用链路耗时统计方法及装置、设备及介质,通过调用信息确定接口间的当前调用时间链路信息从而获得调用关系以及与所述调用关系对应的耗时;并且进行汇总统计,与现有技术中常用的链式追踪框架方法只能追踪每一次的方法调用链路耗时信息相比,可以递归输出对应各个调用关系,所调用的埋点子方法执行的耗时,能够对接口的调用进行更加详细的调用链路耗时统计,便于后续分析优化。
附图说明
46.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1为本发明实施例提供的一种接口调用链路耗时统计方法的流程图;
48.图2为本发明实施例提供的一种接口调用链路耗时统计方法的链路拓扑结构图;
49.图3为本发明实施例提供的一种接口调用链路耗时统计方法的链路的拓扑结构融合示意图;
50.图4为本发明实施例提供的一种接口调用链路耗时统计方法的流程图之二;
51.图5为本发明实施例提供的一种接口调用链路耗时统计方法的流程图之三;
52.图6为本发明实施例提供一种接口调用链路耗时统计装置的组成结构示意图;
53.图7为本发明提供的电子设备的结构示意图。
具体实施方式
54.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.下面结合图1

图5描述本发明的接口调用链路耗时统计方法。
56.图1为本发明实施例提供的一种接口调用链路耗时统计方法的流程图之一;图2为本发明实施例提供的一种接口调用链路耗时统计方法的链路拓扑结构图;图3为本发明实施例提供的一种接口调用链路耗时统计方法的链路的拓扑结构融合示意图;图4为本发明实施例提供的一种接口调用链路耗时统计方法的流程图之二;图5为本发明实施例提供的一种接口调用链路耗时统计方法的流程图之三。
57.在本发明的一种具体实施方式中,本发明实施例提供一种接口调用链路耗时统计方法,该方法包括:
58.步骤110:获取接口间的调用信息,所述调用信息包括:接口间调用的开始时间戳、结束时间戳以及调用关系。
59.首先,在本发明实施例中,在待统计程序模块中埋有各种的上报点,在开始调用接口和结束调用接口时都能够得到上报的信息,从而根据这些信息可以得到接口调用的开始时间戳和结束时间戳。对于调用的关系,可以将本次开始调用的接口,例如可以称作接口b,而相邻的上一个开始调用还没有结束的接口称为接口a,那么可以确定接口a调用了接口b,从而得到调用关系。这是由于所谓调用关系是指,当第一接口需要第二接口反馈的信息进行进一步处理时,第一接口被称为调用接口、第二接口被称为被调用接口。第一接口、第二接口之间存在调用关系。
60.具体地,例如,在一次调用中,获取到接口a的开始信息,紧接着获取到b的开始信息,可以确定接口a调用了接口b,紧接着又获取到c的开始信息,那么接口b调用了接口c,从而建立接口调用的关系链路:a

b

c,如果后续c接口没有调用其他的接口,那么后续应该依次接收到接口c的结束信息,接口b的结束信息以及接口a的结束信息。
61.步骤120:根据所述调用信息,确定接口间的当前调用时间链路信息,当前调用时间链路信息包括:调用关系以及与所述调用关系对应的耗时。
62.在获取到接口间的调用信息后,可以根据这些埋点得到的上报的信息确定接口间的拓扑关系链路以及各个接口被调用的时间。具体地,在一个接口被调用时,可以将该接口的开始信息对应的时间作为开始时间戳,将该接口的结束信息对应的时间作为结束时间戳,用结束时间戳减去开始时间戳,得到该接口被调用消耗的时间,也就是耗时,也就是说将所述结束时间戳减去所述开始时间戳得到耗时;确定所述耗时与所述调用关系的对应关系,得到接口间的当前调用时间链路信息。
63.例如,在一种具体实施方式中,接口b被接口a调用,接收到接口b的开始信息的时刻为:15:30:31:200,而接收到接口b的结束信息的时刻为:15:30:31:800,那么可以知道该接口b本次被调用的时间为800

200=600ms。因此,对应调用关系:接口a调用接口b,相应的耗时为600ms。对于其他的接口也可以使用这样的方法去获得调用关系对应的耗时。
64.有一点要注意的是,这里的时间单位是毫秒,如果要取微秒也是可以的。这里取毫秒的原因是对于外部接口调用而言,时间开销一般在毫秒级,所以精度不需要到微秒那么精确。
65.如图2,本实施例中以基于java的springmvc项目为例,有一个controller a,包含两个接口a1,a2。有一个service b,包含两个接口b1,b2。a1会调用b1和b2。a2会调用b1和b2。有一个接口c,包含两个方法c1,c2。b1会调用c1,c2;b2会调用c1,c2。
66.本实施例中,称一次接口方法调用过程中首次获取到的埋点对应的方法为入口埋
点方法,比如上面的a1,a2。如果希望取得这样的效果,每隔一个周期(比如5min),该组件可以输出5min内,a1,a2链路调用的耗时情况。
67.这样可以清楚的看到在5分钟内,a1的整体耗时分布情况,在图2中为各个链路的拓扑结构以及对应的调用耗时。以接口a1为例,调用耗时如下表1:
68.表1
69.埋点耗时a12000msa1

b11200msa1

b2700msa1

b1

c1500msa1

b1

c2500msa1

b2

c1300msa1

b2

c2100ms
70.举例说明:对应埋点a1

b1,耗时1200ms,表示a1调用b1的情况下,b1执行的耗时;对应埋点a1

b1

c1,耗时为500ms,表示a1调用b1、b1调用c1的情况下,c1执行的耗时。a1对应的耗时为2000ms,由于a1为入口埋点方法,因此,对应的耗时为a1执行的耗时,a1执行的过程中会发生a1调用b1和b2,b1和b2分别调用c1和c2。
71.步骤130:将当前调用时间链路信息与历史汇总调用时间链路信息相融合得到当前汇总调用时间链路信息。
72.在得到了当前调用时间链路信息后,由于可能存在历史汇总调用时间链路信息,因此可能需要对两者进行融合。当然在实践中,也可能当前调用时间链路信息是首次进行调用关系和时间的信息的获取,因此也就不存在历史汇总调用时间链路信息,这时例如可以将历史汇总调用时间链路信息的初始值设置为零,而每次在进行当前汇总调用时间链路信息的确定后,可以使用当前汇总调用时间链路信息对历史汇总调用时间链路信息进行更新。如图3所示,当前调用时间链路信息如图3左上侧所示,而历史汇总调用时间链路信息如图3右上侧所示,现在将两者进行叠加可以得到当前汇总调用时间链路信息。
73.本发明实施例提供的接口调用链路耗时统计方法,能够获取接口间的调用信息,根据调用信息,确定接口间的当前调用时间链路信息,将当前调用时间链路信息与历史汇总调用时间链路信息相融合得到当前汇总调用时间链路信息,。每隔一个周期(周期大小可以自己设置),数据都会置空,下个周期重新开始计算。并且,可以递归输出对应各个调用关系,所调用的埋点子方法执行的耗时(只针对本埋点方法调用),比如上面的表格数据,基于内存实时计算,系统保存上一个完整周期的统计结果数据,并且可以输出结果。
74.进一步地,如图4所示,在本发明又一实施例中,为了获取接口间的调用信息,所述调用信息包括:接口间调用的开始时间戳、结束时间戳以及调用关系可以进行以下步骤:
75.步骤210:在待统计程序模块执行时,在获取到接口调用开始信息的条件下,记录当前时间为开始时间戳;
76.步骤220:在获取到接口调用结束信息的条件下,记录当前时间为结束时间戳;
77.步骤230:确定当前接口以及与当前接口的上一接口的调用关系。
78.在本发明实施例中,开始时间戳和结束时间戳的获取示例为:可以采用首先定义
一个埋点数据结构类,该结构类主要保存单个埋点方法执行的耗时等信息。以java代码为例
79.class singlemetric{
80.set<singlemetric>childsinglemetrics;//该埋点数据的所有子方法埋点数据。
81.long totaltime;//总执行耗时;
82.string metricname;//埋点名称;
83.long starttime;//调用start方法记录开始时间戳;
84.long stoptime;//调用stop方法记录结束时间戳;
85.void merge(singlemetric entrymetric);//将一次完整的埋点链路调用统计耗时信息合并到已有的汇总的该入口埋点方法链路调用耗时信息。}
86.当然,在实践中,也可以采用其他的方式进行时间戳的记录和各种数据的记录,本发明实施例仅为一个程序编写进行数据记录的例子,并不对具体的实现方式进行限定。
87.在本发明一种实施例中,通过埋点获取耗时的具体示例为:可以设计一个类结构的数据类型来保存所有的入口埋点信息,可以通过metricname快速获取对应的埋点信息,根据埋点方法获取接口调用的开始和结束时间,进而获取耗时。具体如下:
88.class metrics{
89.map<string,singlemetric>entrysummetricmap;//保存所有执行线程的入口埋点汇总信息,key为入口埋点的名称metricname。
90.void start(string metricname);//进入埋点方法;
91.void stop(string metricname);//离开埋点方法;
92.threadlocal<stack<singlemetric>>stackmetric;//用一个堆栈存储各个处理线程的埋点方法调用信息。java中可以直接应用threadlocal,每当获取到一个埋点方法的start()方法,就创建一个singlemetric对象,并且压入当前线程的埋点信息堆栈。
93.threadlocal<singlemetric>stopmetric;//用于存储各个处理线程埋点方法调用stop()方法,从//stackmetric弹出的那个埋点信息数据。}
94.本实施例的关键点在于针对每个处理线程,用一个堆栈存储当前处理线程的埋点执行链信息;遇start()压栈,遇stop()出栈。
95.具体的完整流程如下:
96.1、整个系统初始化一个对象metrics。
97.2、当一个请求进入的时候,程序在执行的过程中,如果获取到metrics.start()方法(也就是调用接口的开始信息),创建一个singlemetric对象,记录starttime开始时间戳,并将该埋点对象压入当前线程的stackmetric。
98.3.获取到metrics.stop()方法(也就是调用接口的结束信息)。从该处理线程的stackmetric弹出最顶层元素(后文中我们用m表示),记录stoptime结束时间戳,通过stoptime

starttime计算出该埋点的耗时数据,并将结果设置为totaltime。
99.需要提出以下几点:(1)如果该执行线程的stopmetric为空,说明该埋点信息是此次埋点方法执行链中最深的那个埋点信息,将该埋点信息赋值m为该执行线程的stopmetric。(2)否则,说明该埋点信息m是此次埋点方法执行链中由更深层次的埋点信息调用stop而来。将该stopmetric存储的埋点信息(我们用n表示)添加到该埋点信息m的
childsinglemetrics中,并且将该埋点信息m赋值为该执行线程的stopmetric。(3)如果当前执行线程stackmetric弹出元素后,stackmetric为空,说明是入口埋点方法调用的stop信息。判断entrysummetricmap是否含有该入口埋点方法m信息,如果没有则将该入口埋点信息push到entrysummetricmap,如果有,则将该埋点方法信息作为参数,调用entrysummetricmap对应的入口埋点汇总信息的融合方法,将此次完整的埋点方法调用链路信息,依次添加到汇总埋点方法信息的各个调用链路埋点信息中。
100.进一步地,所述根据所述调用信息,确定接口间的当前调用时间链路信息,当前调用时间链路信息包括:调用关系以及与所述调用关系对应的耗时包括:将所述结束时间戳减去所述开始时间戳得到耗时;确定所述耗时与所述调用关系的对应关系,得到接口间的当前调用时间链路信息。
101.如前所述,可以获得接口调用的开始时间戳和结束时间戳,将结束时间戳减去所述开始时间戳可以得到与调用关系对应的耗时。根据调用关系及对应的耗时确定耗时与调用关系的对应关系,得到接口间的当前调用时间链路信息。
102.如图5所示,在上述实施例的基础上,为了将当前调用时间链路信息与历史汇总调用时间链路信息相融合得到当前汇总调用时间链路信息,可以进行以下步骤:
103.步骤310:将当前调用时间链路信息与历史汇总调用时间链路信息作比对,得到第一链路信息以及第二链路信息,所述第一链路信息存在于当前调用时间链路信息而不存在于所述历史汇总调用时间链路信息;所述第二链路信息为当前调用时间链路信息与所述历史汇总调用时间链路信息中相同拓扑关系的链路信息。
104.也就是说,对于当前调用时间链路信息与历史汇总调用时间链路信息作,可首先对两者做比较,由于需要对两者做叠加,因此首先确定出在历史汇总调用时间链路信息没有而在当前调用时间链路信息中存在的调用关系,也就是第一信息链路,而将历史汇总调用时间链路信息和当前调用时间链路信息当中都存在的链路关系作为第二链路信息。
105.步骤320:将所述第一链路信息添加到所述历史汇总调用时间链路信息,得到当前汇总链路信息。
106.然后对历史汇总调用时间链路信息的拓扑关系进行拓展,也就是将将所述第一链路信息添加到所述历史汇总调用时间链路信息中,得到总的具有所有拓扑关系的当前汇总链路信息。
107.步骤330:将所述第二链路信息中的耗时与所述历史汇总链路信息中的耗时相叠加作为当前汇总链路信息的耗时,得到当前汇总调用时间链路信息。
108.然后将第二链路信息中的耗时与历史汇总链路信息中的耗时相叠加作为新的当前汇总链路信息的耗时,当然第一信息链路中的调用关系以及耗时直接使用,得到当前汇总调用时间链路信息。在当前汇总调用时间链路信息中既存在全部的调用关系链路,又存在调用各个接口的耗时。
109.值得指出的是,本技术中最后输出的当前汇总调用时间链路信息是整个预设时间段的接口调用耗时,在实践中,用户可能对本次的当前调用时间链路信息也有需求,因此可以按照统计次数对当前调用时间链路信息进行编号;将编号与对应的当前调用时间链路信息进行存储。也就是说在singlemetric添加一个用来记录次数的字段即可,并且进行数据存储。
110.本发明提供的一种接口调用链路耗时统计方法,通过调用信息确定接口间的当前调用时间链路信息从而获得调用关系以及与所述调用关系对应的耗时;并且进行汇总统计,与现有技术中常用的链式追踪框架方法只能追踪每一次的方法调用链路耗时信息相比,能够对接口的调用进行更加详细的调用链路耗时统计,便于后续分析优化。
111.下面对本发明提供的接口调用链路耗时统计装置进行描述,下文描述的接口调用链路耗时统计装置与上文描述的接口调用链路耗时统计方法可相互对应参照。
112.图6为本发明实施例提供一种接口调用链路耗时统计装置的组成结构示意图。
113.在本发明又一实施例中,本发明提供一种接口调用链路耗时统计装置600,包括:
114.信息获取模块610,用于获取接口间的调用信息,所述调用信息包括:接口间调用的开始时间戳、结束时间戳以及调用关系;
115.当前链路确定模块620,用于根据所述调用信息,确定接口间的当前调用时间链路信息,当前调用时间链路信息包括:调用关系以及与所述调用关系对应的耗时;
116.链路汇总模块630,用于将当前调用时间链路信息与历史汇总调用时间链路信息相融合得到当前汇总调用时间链路信息。
117.进一步地,所述信息获取模块包括:
118.开始时间记录单元,用于在待统计程序模块执行时,在获取到接口调用开始信息的条件下,记录当前时间为开始时间戳;
119.结束时间记录单元,用于在获取到接口调用结束信息的条件下,记录当前时间为结束时间戳;
120.关系确定单元,用于确定当前接口以及与当前接口的上一接口的调用关系。
121.进一步地,所述当前链路确定模块包括:
122.耗时确定单元,用于将所述结束时间戳减去所述开始时间戳得到耗时;
123.关系确定单元,用于确定所述耗时与所述调用关系的对应关系,得到接口间的当前调用时间链路信息。
124.进一步地,所述链路汇总模块包括:
125.链路比对单元,用于将当前调用时间链路信息与历史汇总调用时间链路信息作比对,得到第一链路信息以及第二链路信息,所述第一链路信息存在于当前调用时间链路信息而不存在于所述历史汇总调用时间链路信息;所述第二链路信息为当前调用时间链路信息与所述历史汇总调用时间链路信息中相同拓扑关系的链路信息;
126.链路汇总单元,用于将所述第一链路信息添加到所述历史汇总调用时间链路信息,得到当前汇总链路信息;
127.耗时叠加单元,用于将所述第二链路信息中的耗时与所述历史汇总链路信息中的耗时相叠加作为当前汇总链路信息的耗时,得到当前汇总调用时间链路信息。
128.进一步地,还包括:
129.编号模块,用于按照统计次数对当前调用时间链路信息进行编号;
130.存储模块,用于将所述编号与对应的当前调用时间链路信息进行存储。
131.本发明提供的一种接口调用链路耗时统计装置,通过调用信息确定接口间的当前调用时间链路信息从而获得调用关系以及与所述调用关系对应的耗时;并且进行汇总统计,与现有技术中常用的链式追踪框架方法只能追踪每一次的方法调用链路耗时信息相
比,可以递归输出对应各个调用关系,所调用的埋点子方法执行的耗时,能够对接口的调用进行更加详细的调用链路耗时统计,便于后续分析优化。
132.图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communications interface)720、存储器(memory)730和总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行接口调用链路耗时统计方法,该方法包括:获取接口间的调用信息,所述调用信息包括:接口间调用的开始时间戳、结束时间戳以及调用关系;根据所述调用信息,确定接口间的当前调用时间链路信息,当前调用时间链路信息包括:调用关系以及与所述调用关系对应的耗时;将当前调用时间链路信息与历史汇总调用时间链路信息相融合得到当前汇总调用时间链路信息。
133.此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
134.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的接口调用链路耗时统计方法,该方法包括:获取接口间的调用信息,所述调用信息包括:接口间调用的开始时间戳、结束时间戳以及调用关系;根据所述调用信息,确定接口间的当前调用时间链路信息,当前调用时间链路信息包括:调用关系以及与所述调用关系对应的耗时;将当前调用时间链路信息与历史汇总调用时间链路信息相融合得到当前汇总调用时间链路信息。
135.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的接口调用链路耗时统计方法,该方法包括:获取接口间的调用信息,所述调用信息包括:接口间调用的开始时间戳、结束时间戳以及调用关系;根据所述调用信息,确定接口间的当前调用时间链路信息,当前调用时间链路信息包括:调用关系以及与所述调用关系对应的耗时;将当前调用时间链路信息与历史汇总调用时间链路信息相融合得到当前汇总调用时间链路信息。
136.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
137.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该
计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
138.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献