本说明书实施例涉及计算机技术,特别涉及程序时延度量方法及装置、程序配置方法及装置。
背景技术:
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、本实施例提供的程序时延度量方法,为了能够实现非侵入式的时延度量数据采集,且支持自定义度量粒度,可以先获取针对目标程序设定的度量配置信息,同时为了实现不改变程序源代码的方式完成时延数据采集,可以在目标程序的目标进程中提取目标程序的程序执行信息;在此基础上,结合度量配置信息和程序执行信息即可针对目标程序构建度量点配置策略,从而实现可以按照度量点配置策略针对目标程序配置时延度量点,此时添加的时延度量点仅为桩点形态,并不会对目标程序的源代码进行更新,从而实现非侵入式的时延度量配置操作。此后,若目标程序处于运行状态且触发时延度量点的情况下,即可调用目标程序外的度量配置信息关联的时延度量模块,用于执行时延度量点对应的度量点代码;实现在目标程序外执行度量点对应代码完成相应的时延度量操作,从而可以基于代码执行结果确定目标程序对应的时延度量数据。实现在非侵入式的情况下完成对目标程序的时延度量数据采集,从而便于下游根据该数据对程序进行优化,且该方法的时延度量数据采集灵活性更高,可以适配不同类型的程序,从而更加便于程序优化使用。
1.一种程序时延度量方法,其特征在于,包括:
2.根据权利要求1所述的程序时延度量方法,其特征在于,所述获取目标程序的度量配置信息,包括:
3.根据权利要求1所述的程序时延度量方法,其特征在于,所述在所述目标程序的目标进程中提取所述目标程序的程序执行信息,包括:
4.根据权利要求1所述的程序时延度量方法,其特征在于,所述根据所述度量配置信息和所述程序执行信息构建度量点配置策略,并按照所述度量点配置策略针对所述目标程序配置时延度量点,包括:
5.根据权利要求1所述的程序时延度量方法,其特征在于,所述按照所述度量点配置策略针对所述目标程序配置时延度量点步骤执行之后,还包括:
6.根据权利要求1所述的程序时延度量方法,其特征在于,所述基于代码执行结果确定所述目标程序对应的时延度量数据,包括:
7.根据权利要求1至6任一项所述的程序时延度量方法,其特征在于,所述基于代码执行结果确定所述目标程序对应的时延度量数据步骤执行之后,还包括:
8.根据权利要求1所述的程序时延度量方法,其特征在于,在所述时延度量点为多个的情况下,所述在所述目标程序处于运行状态且触发所述时延度量点的情况下,调用所述度量配置信息的时延度量模块执行所述时延度量点对应的度量点代码,包括:
9.根据权利要求1至6任一项所述的程序时延度量方法,其特征在于,所述基于代码执行结果确定所述目标程序对应的时延度量数据步骤执行之后,还包括:
10.一种程序配置方法,其特征在于,包括:
11.一种程序时延度量方法,其特征在于,包括:
12.一种计算设备,其特征在于,包括:
13.一种计算机可读存储介质,其特征在于,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述方法的步骤。
14.一种计算机程序产品,其特征在于,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现权利要求1至11任意一项所述方法的步骤。
