CN107766216A - 一种用于获取应用执行信息的方法与设备 - Google Patents
一种用于获取应用执行信息的方法与设备 Download PDFInfo
- Publication number
- CN107766216A CN107766216A CN201610695125.XA CN201610695125A CN107766216A CN 107766216 A CN107766216 A CN 107766216A CN 201610695125 A CN201610695125 A CN 201610695125A CN 107766216 A CN107766216 A CN 107766216A
- Authority
- CN
- China
- Prior art keywords
- application
- son
- information
- execution
- intended application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Abstract
本申请的目的是提供一种用于获取应用执行信息的方法与设备。与现有技术相比,本申请首先获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息;然后根据所述子应用执行信息确定所述目标应用的应用执行信息,从而记录所述目标应用执行过程中(线上)详细的执行信息。进一步地,本申请根据所述应用执行信息确定所述目标应用的性能分析信息,而且本申请的性能分析可以细化到函数粒度,并为后续对所述目标应用的优化提供可靠依据。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种用于获取应用执行信息的技术。
背景技术
在大型复杂架构中,有诸多的调用场景,逻辑层次复杂,问题排查麻烦、效率低。现有技术一般通过打印日志来记录详细的代码执行过程,以便于定位故障及性能瓶颈分析。然而,采用日志的方式存在如下缺点:
1)如果日志太详细,会大大损耗系统的IO(输入/输出),导致整体性能下降。
2)日志都过于分散,无法做到基于函数级(API)粒度的统一管理。
3)目前根据详细的执行信息进行性能测试,大部分在线下环境做性能测试分析。
发明内容
本申请的一个目的是提供一种用于获取应用执行信息的方法与设备,以解决记录应用执行过程中详细的执行信息的问题。
根据本申请的一个方面,提供了一种用于获取应用执行信息的方法,其中,所述方法包括:
获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息,以及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息;
根据所述子应用执行信息确定所述目标应用的应用执行信息。
根据本申请的另一个方面,提供了一种用于获取应用执行信息的设备,其中,所述设备包括:
子应用执行信息获取装置,用于获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息,以及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息;
应用执行信息确定装置,用于根据所述子应用执行信息确定所述目标应用的应用执行信息。
根据本申请又一个方面,还提供了一种用于获取应用执行信息的设备,其中,所述设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息,以及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息;
根据所述子应用执行信息确定所述目标应用的应用执行信息。
与现有技术相比,本申请首先获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息;然后根据所述子应用执行信息确定所述目标应用的应用执行信息,从而记录所述目标应用执行过程中(线上)详细的执行信息。进一步地,本申请根据所述应用执行信息确定所述目标应用的性能分析信息,而且本申请的性能分析可以细化到函数粒度,并为后续对所述目标应用的优化提供可靠依据。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种用于获取应用执行信息的方法流程图;
图2示出根据本申请一个实施例的一种用于获取应用执行信息的方法流程图;
图3示出根据本申请另一个实施例的一种用于获取应用执行信息的方法流程图;
图4(a)~(b)示出根据本申请又一个实施例的一种呈现性能分析信息的示意图;
图5示出根据本申请一个优选实施例的一种获取应用执行信息的示意图;
图6示出根据本申请另一个方面的一种用于获取应用执行信息的设备示意图;
图7示出根据本申请一个实施例的一种用于获取应用执行信息的设备示意图;
图8示出根据本申请另一个实施例的一种用于获取应用执行信息的设备示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请一个方面的一种用于获取应用执行信息的方法流程图。
该方法包括步骤S11和步骤S12。具体地,在步骤S11中,设备1获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息,以及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息;在步骤S12中,设备1根据所述子应用执行信息确定所述目标应用的应用执行信息。
在此,所述设备1包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在步骤S11中,设备1获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息,以及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息。
例如,所述目标应用可以包括控制系统、函数、API(应用程序编程接口)等;相应地,所述目标应用对应的子应用可以包括控制系统在执行过程中所调用的子控制系统、函数在执行过程中所调用的子函数、API在执行过程中所调用的子API等。所述目标应用的全局唯一标识信息可以是所述目标应用对应的全局键值;所述子应用标识信息可以包括所述子应用的名称,例如子函数的函数名;所述执行时间信息可以包括所述子应用的执行开始时间及执行结束时间,具体地,可以通过时间戳的方式记录所述子应用的执行开始时间及执行结束时间。此外,所述子应用执行信息还可以包括所述子应用的执行结果。
在优选的实施例中,所述子应用执行信息可以采用表1所示的格式:
表1
其中,全局键值可以是字符串(String)格式,函数名(function_name):Create仅为举例,包括执行开始时间(begin_time)的时间戳(Time_stamp)及执行结束时间(end_time)的时间戳(Time_stamp),还包括函数执行结果(function_result),而且,表1中的函数执行结果(function_result):成功(Ok)仅为举例,实际应用中也可能出现失败的执行结果。
优选地,该方法还包括:设备1在目标应用对应的子应用中插入探针函数;其中,在步骤S11中,设备1通过所述探针函数获取目标应用对应的子应用执行信息。
例如,在所述子应用中都插入探针函数,所述探针函数能够相应地输出所述子应用的子应用执行信息。
在步骤S12中,设备1根据所述子应用执行信息确定所述目标应用的应用执行信息。
例如,假设所述目标应用用于生产一台电脑(producComputer),假设所述目标应用的应用执行信息为:
{computer20160701140301,producComputer、02:07:27,001、02:07:28,031、ok}
{computer20160701140301,producKeyboard、02:07:27,001、02:07:27,031、ok}
{computer20160701140301,producDisplay、02:07:27,032、02:07:27,071、ok}
{computer20160701140301,producMaster、02:07:27,072、02:07:27,101、ok}
……
其中,所述目标应用的全局键值(即全局唯一标识信息)为[computer20160701140301],上例中的producKeyboard(生产键盘)、producDisplay(生产显示器)、producMaster(生产主机)均为producComputer在执行过程中所调用的子应用,并记录各子应用的执行开始时间、执行结束时间以及执行结果。根据所述目标应用对应的若干个子应用执行信息即可确定所述目标应用的执行开始时间、执行结束时间以及执行结果,即确定所述目标应用的应用执行信息。
例如,还可以将所述目标应用的应用执行信息存储至内存中;当内存中所述应用执行信息达到对应阈值,将所述应用执行信息以文件形式存储至磁盘。如此操作具有速度快、性能开销少的优点。
优选地,如图2所示,在步骤S13’中,设备1根据所述应用执行信息确定所述目标应用的性能分析信息,其中,所述性能分析信息包括以下至少任一项:所述目标应用中子应用的执行时长占比信息;所述目标应用中子应用的执行时长信息;所述目标应用中执行时间最长的子应用;所述目标应用中存在执行错误的子应用。
例如,根据所述应用执行信息可以确定:所述目标应用对应的所述子应用的执行时长信息,所述子应用的执行时长在所述目标应用执行时长中的占比信息;并可得到所述目标应用对应的若干个子应用中执行时间最长的子应用,还可以根据所述子应用输出的执行结果确定存在执行错误的子应用。具体地,可以通过查询所述目标应用的全局键值(即全局唯一标识信息),确定所述目标应用的性能分析信息。通过对故障数据(即所述目标应用中存在执行错误的子应用的信息)的二次封装,本申请的性能分析可以细化到函数粒度。而且,后续可以根据所述性能分析信息针对所述目标应用中执行时间最长的子应用进行优化,或者针对所述目标应用中执行时长占比信息最高的子应用进行优化,从而提高所述目标应用的性能。
更优选地,如图3所示,在步骤S14”中,设备1呈现所述性能分析信息。
例如,可以通过柱形图(参照图4(a))、扇形图(参照图4(a))等多种方式形象地呈现所述性能分析信息,其中,图4(a)示出所述子应用的执行时长信息,图4(b)示出所述子应用的执行时长占比信息。
优选地,该方法还包括:设备1根据所述子应用执行信息确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系。
例如,所述调用逻辑关系可以包括所述目标应用在执行过程中从最上层、经过各子应用到底层,其中各个中间环节的调用情况;还可以包括各子应用被调用的次数。
优选地,所述根据所述子应用执行信息确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系包括:确定在所述目标应用的执行过程中所调用的各子应用的执行时间信息间的逻辑顺序关系;根据所述逻辑顺序关系确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系。
例如,所述各子应用的执行时间信息包括执行开始时间及执行结束时间,所述执行时间信息的逻辑顺序关系可以包括时间点的先后顺序,时间段的相交、包含关系等。
优选地,所述根据所述逻辑顺序关系确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系包括:对于在所述目标应用的执行过程中所调用的第一子应用与第二子应用,当所述逻辑顺序关系为所述第一子应用的执行时间信息包含于所述第二子应用的执行时间信息,则所述第一子应用与所述第二子应用间的调用逻辑关系为所述第二子应用嵌套调用所述第一子应用;或者,当所述逻辑顺序关系为所述第一子应用的执行时间信息先于所述第二子应用的执行时间信息,则所述第一子应用与所述第二子应用间的调用逻辑关系为所述第一子应用先于所述第二子应用被调用。
例如,假设第一子应用的执行时间信息包括时间段[t1,t2],所述第二子应用的执行时间信息包括时间段[t3,t4];当所述逻辑顺序关系为所述第一子应用的执行时间信息包含于所述第二子应用的执行时间信息,即t3<t1<t2<t4,则可能所述第二子应用嵌套调用所述第一子应用;或者,当所述逻辑顺序关系为所述第一子应用的执行时间信息先于所述第二子应用的执行时间信息,即t1<t2<t3<t4,则可能所述第一子应用先于所述第二子应用被调用。
优选地,所述目标应用包括目标函数;所述子应用包括子函数。
例如,参照图5,在目标函数的执行过程中调用了若干个子函数(如图5中的Sub1_function、Sub2_function等),并且,通过探针函数输出子函数执行信息(即所述子应用执行信息),然后,根据子函数执行信息确定目标函数的函数执行信息(即所述应用执行信息)。
图6示出根据本申请另一个方面的一种用于获取应用执行信息的设备1,其中,设备1包括子应用执行信息获取装置11和应用执行信息确定装置12。
具体地,所述子应用执行信息获取装置11获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息,以及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息;所述应用执行信息确定装置12根据所述子应用执行信息确定所述目标应用的应用执行信息。
在此,所述设备1包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
所述子应用执行信息获取装置11获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息,以及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息。
例如,所述目标应用可以包括控制系统、函数、API(应用程序编程接口)等;相应地,所述目标应用对应的子应用可以包括控制系统在执行过程中所调用的子控制系统、函数在执行过程中所调用的子函数、API在执行过程中所调用的子API等。所述目标应用的全局唯一标识信息可以是所述目标应用对应的全局键值;所述子应用标识信息可以包括所述子应用的名称,例如子函数的函数名;所述执行时间信息可以包括所述子应用的执行开始时间及执行结束时间,具体地,可以通过时间戳的方式记录所述子应用的执行开始时间及执行结束时间。此外,所述子应用执行信息还可以包括所述子应用的执行结果。
在优选的实施例中,所述子应用执行信息可以采用表2所示的格式:
表2
其中,全局键值可以是字符串(String)格式,函数名(function_name):Create仅为举例,包括执行开始时间(begin_time)的时间戳(Time_stamp)及执行结束时间(end_time)的时间戳(Time_stamp),还包括函数执行结果(function_result),而且,表2中的函数执行结果(function_result):成功(Ok)仅为举例,实际应用中也可能出现失败的执行结果。
优选地,设备1还包括探针函数插入装置(图中未示出);所述探针函数插入装置在目标应用对应的子应用中插入探针函数;其中,所述子应用执行信息获取装置11通过所述探针函数获取目标应用对应的子应用执行信息。
例如,在所述子应用中都插入探针函数,所述探针函数能够相应地输出所述子应用的子应用执行信息。
所述应用执行信息确定装置12根据所述子应用执行信息确定所述目标应用的应用执行信息。
例如,假设所述目标应用用于生产一台电脑(producComputer),假设所述目标应用的应用执行信息为:
{computer20160701140301,producComputer、02:07:27,001、02:07:28,031、ok}
{computer20160701140301,producKeyboard、02:07:27,001、02:07:27,031、ok}
{computer20160701140301,producDisplay、02:07:27,032、02:07:27,071、ok}
{computer20160701140301,producMaster、02:07:27,072、02:07:27,101、ok}
……
其中,所述目标应用的全局键值(即全局唯一标识信息)为[computer20160701140301],上例中的producKeyboard(生产键盘)、producDisplay(生产显示器)、producMaster(生产主机)均为producComputer在执行过程中所调用的子应用,并记录各子应用的执行开始时间、执行结束时间以及执行结果。根据所述目标应用对应的若干个子应用执行信息即可确定所述目标应用的执行开始时间、执行结束时间以及执行结果,即确定所述目标应用的应用执行信息。
例如,还可以将所述目标应用的应用执行信息存储至内存中;当内存中所述应用执行信息达到对应阈值,将所述应用执行信息以文件形式存储至磁盘。如此操作具有速度快、性能开销少的优点。
优选地,如图7所示,设备1还包括性能分析信息确定装置13’;所述性能分析信息确定装置13’根据所述应用执行信息确定所述目标应用的性能分析信息,其中,所述性能分析信息包括以下至少任一项:所述目标应用中子应用的执行时长占比信息;所述目标应用中子应用的执行时长信息;所述目标应用中执行时间最长的子应用;所述目标应用中存在执行错误的子应用。
例如,根据所述应用执行信息可以确定:所述目标应用对应的所述子应用的执行时长信息,所述子应用的执行时长在所述目标应用执行时长中的占比信息;并可得到所述目标应用对应的若干个子应用中执行时间最长的子应用,还可以根据所述子应用输出的执行结果确定存在执行错误的子应用。具体地,可以通过查询所述目标应用的全局键值(即全局唯一标识信息),确定所述目标应用的性能分析信息。通过对故障数据(即所述目标应用中存在执行错误的子应用的信息)的二次封装,本申请的性能分析可以细化到函数粒度。而且,后续可以根据所述性能分析信息针对所述目标应用中执行时间最长的子应用进行优化,或者针对所述目标应用中执行时长占比信息最高的子应用进行优化,从而提高所述目标应用的性能。
更优选地,如图8所示,设备1还包括呈现装置14”;所述呈现装置14”呈现所述性能分析信息。
例如,可以通过柱形图(参照图4(a))、扇形图(参照图4(a))等多种方式形象地呈现所述性能分析信息,其中,图4(a)示出所述子应用的执行时长信息,图4(b)示出所述子应用的执行时长占比信息。
优选地,设备1还包括调用逻辑关系确定装置(图中未示出);所述调用逻辑关系确定装置根据所述子应用执行信息确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系。
例如,所述调用逻辑关系可以包括所述目标应用在执行过程中从最上层、经过各子应用到底层,其中各个中间环节的调用情况;还可以包括各子应用被调用的次数。
优选地,所述调用逻辑关系确定装置确定在所述目标应用的执行过程中所调用的各子应用的执行时间信息间的逻辑顺序关系;根据所述逻辑顺序关系确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系。
例如,所述各子应用的执行时间信息包括执行开始时间及执行结束时间,所述执行时间信息的逻辑顺序关系可以包括时间点的先后顺序,时间段的相交、包含关系等。
优选地,所述根据所述逻辑顺序关系确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系包括:对于在所述目标应用的执行过程中所调用的第一子应用与第二子应用,当所述逻辑顺序关系为所述第一子应用的执行时间信息包含于所述第二子应用的执行时间信息,则所述第一子应用与所述第二子应用间的调用逻辑关系为所述第二子应用嵌套调用所述第一子应用;或者,当所述逻辑顺序关系为所述第一子应用的执行时间信息先于所述第二子应用的执行时间信息,则所述第一子应用与所述第二子应用间的调用逻辑关系为所述第一子应用先于所述第二子应用被调用。
例如,假设第一子应用的执行时间信息包括时间段[t1,t2],所述第二子应用的执行时间信息包括时间段[t3,t4];当所述逻辑顺序关系为所述第一子应用的执行时间信息包含于所述第二子应用的执行时间信息,即t3<t1<t2<t4,则可能所述第二子应用嵌套调用所述第一子应用;或者,当所述逻辑顺序关系为所述第一子应用的执行时间信息先于所述第二子应用的执行时间信息,即t1<t2<t3<t4,则可能所述第一子应用先于所述第二子应用被调用。
优选地,所述目标应用包括目标函数;所述子应用包括子函数。
例如,参照图5,在目标函数的执行过程中调用了若干个子函数(如图5中的Sub1_function、Sub2_function等),并且,通过探针函数输出子函数执行信息(即所述子应用执行信息),然后,根据子函数执行信息确定目标函数的函数执行信息(即所述应用执行信息)。
根据本申请又一个方面,还提供了一种用于获取应用执行信息的设备,其中,所述设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息,以及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息;
根据所述子应用执行信息确定所述目标应用的应用执行信息。
与现有技术相比,本申请首先获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息;然后根据所述子应用执行信息确定所述目标应用的应用执行信息,从而记录所述目标应用执行过程中(线上)详细的执行信息。进一步地,本申请根据所述应用执行信息确定所述目标应用的性能分析信息,而且本申请的性能分析可以细化到函数粒度,并为后续对所述目标应用的优化提供可靠依据。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (17)
1.一种用于获取应用执行信息的方法,其中,所述方法包括:
获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息,以及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息;
根据所述子应用执行信息确定所述目标应用的应用执行信息。
2.根据权利要求1所述的方法,其中,所述方法还包括:
根据所述应用执行信息确定所述目标应用的性能分析信息,其中,所述性能分析信息包括以下至少任一项:
所述目标应用中子应用的执行时长占比信息;
所述目标应用中子应用的执行时长信息;
所述目标应用中执行时间最长的子应用;
所述目标应用中存在执行错误的子应用。
3.根据权利要求2所述的方法,其中,所述方法还包括:
呈现所述性能分析信息。
4.根据权利要求1所述的方法,其中,所述方法还包括:
根据所述子应用执行信息确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系。
5.根据权利要求4所述的方法,其中,所述根据所述子应用执行信息确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系包括:
确定在所述目标应用的执行过程中所调用的各子应用的执行时间信息间的逻辑顺序关系;
根据所述逻辑顺序关系确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系。
6.根据权利要求5所述的方法,其中,所述根据所述逻辑顺序关系确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系包括:
对于在所述目标应用的执行过程中所调用的第一子应用与第二子应用,当所述逻辑顺序关系为所述第一子应用的执行时间信息包含于所述第二子应用的执行时间信息,则所述第一子应用与所述第二子应用间的调用逻辑关系为所述第二子应用嵌套调用所述第一子应用;或者,
当所述逻辑顺序关系为所述第一子应用的执行时间信息先于所述第二子应用的执行时间信息,则所述第一子应用与所述第二子应用间的调用逻辑关系为所述第一子应用先于所述第二子应用被调用。
7.根据权利要求1所述的方法,其中,所述方法还包括:
在目标应用对应的子应用中插入探针函数;
其中,所述获取目标应用对应的子应用执行信息包括:
通过所述探针函数获取目标应用对应的子应用执行信息。
8.根据权利要求1至7中任一项所述的方法,其中,所述目标应用包括目标函数;所述子应用包括子函数。
9.一种用于获取应用执行信息的设备,其中,所述设备包括:
子应用执行信息获取装置,用于获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息,以及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息;
应用执行信息确定装置,用于根据所述子应用执行信息确定所述目标应用的应用执行信息。
10.根据权利要求9所述的设备,其中,所述设备还包括:
性能分析信息确定装置,用于根据所述应用执行信息确定所述目标应用的性能分析信息,其中,所述性能分析信息包括以下至少任一项:
所述目标应用中子应用的执行时长占比信息;
所述目标应用中子应用的执行时长信息;
所述目标应用中执行时间最长的子应用;
所述目标应用中存在执行错误的子应用。
11.根据权利要求10所述的设备,其中,所述设备还包括:
呈现装置,用于呈现所述性能分析信息。
12.根据权利要求9所述的设备,其中,所述设备还包括:
调用逻辑关系确定装置,用于根据所述子应用执行信息确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系。
13.根据权利要求12所述的设备,其中,所述调用逻辑关系确定装置用于:
确定在所述目标应用的执行过程中所调用的各子应用的执行时间信息间的逻辑顺序关系;
根据所述逻辑顺序关系确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系。
14.根据权利要求13所述的设备,其中,所述根据所述逻辑顺序关系确定在所述目标应用的执行过程中所调用的各子应用间的调用逻辑关系包括:
对于在所述目标应用的执行过程中所调用的第一子应用与第二子应用,当所述逻辑顺序关系为所述第一子应用的执行时间信息包含于所述第二子应用的执行时间信息,则所述第一子应用与所述第二子应用间的调用逻辑关系为所述第二子应用嵌套调用所述第一子应用;或者,
当所述逻辑顺序关系为所述第一子应用的执行时间信息先于所述第二子应用的执行时间信息,则所述第一子应用与所述第二子应用间的调用逻辑关系为所述第一子应用先于所述第二子应用被调用。
15.根据权利要求9所述的设备,其中,所述设备还包括:
探针函数插入装置,用于在目标应用对应的子应用中插入探针函数;
其中,所述子应用执行信息获取装置用于:
通过所述探针函数获取目标应用对应的子应用执行信息。
16.根据权利要求9至15中任一项所述的设备,其中,所述目标应用包括目标函数;所述子应用包括子函数。
17.一种用于获取应用执行信息的设备,其中,所述设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取目标应用对应的子应用执行信息,其中,所述子应用执行信息包括所述目标应用的全局唯一标识信息,以及在所述目标应用的执行过程中所调用的对应子应用的子应用标识信息及执行时间信息;
根据所述子应用执行信息确定所述目标应用的应用执行信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610695125.XA CN107766216A (zh) | 2016-08-19 | 2016-08-19 | 一种用于获取应用执行信息的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610695125.XA CN107766216A (zh) | 2016-08-19 | 2016-08-19 | 一种用于获取应用执行信息的方法与设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107766216A true CN107766216A (zh) | 2018-03-06 |
Family
ID=61263302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610695125.XA Pending CN107766216A (zh) | 2016-08-19 | 2016-08-19 | 一种用于获取应用执行信息的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766216A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595313A (zh) * | 2018-03-08 | 2018-09-28 | 北京三快在线科技有限公司 | 应用程序的日志生成方法、装置、电子设备及存储介质 |
CN109783161A (zh) * | 2018-12-11 | 2019-05-21 | 北京三快在线科技有限公司 | iOS系统中应用程序的运行信息确定方法、装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1266223A (zh) * | 1999-03-08 | 2000-09-13 | 英业达股份有限公司 | 应用程序进程监控的方法 |
US20050138021A1 (en) * | 2003-12-23 | 2005-06-23 | Budi Santoso | Performance improvement |
US7386586B1 (en) * | 1998-12-22 | 2008-06-10 | Computer Associates Think, Inc. | System for scheduling and monitoring computer processes |
CN101788949A (zh) * | 2010-03-10 | 2010-07-28 | 中兴通讯股份有限公司 | 一种实现嵌入式系统函数监控的方法及装置 |
CN101876938A (zh) * | 2009-11-11 | 2010-11-03 | 北京神州泰岳软件股份有限公司 | 一种基于消息队列的应用软件响应时间测量方法 |
US20130067487A1 (en) * | 2010-04-14 | 2013-03-14 | International Business Machines Corporation | Runtime Optimization Of An Application Executing On A Parallel Computer |
CN103942141A (zh) * | 2014-03-27 | 2014-07-23 | 北京京东尚科信息技术有限公司 | 一种检测应用程序的性能的方法和装置 |
-
2016
- 2016-08-19 CN CN201610695125.XA patent/CN107766216A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7386586B1 (en) * | 1998-12-22 | 2008-06-10 | Computer Associates Think, Inc. | System for scheduling and monitoring computer processes |
CN1266223A (zh) * | 1999-03-08 | 2000-09-13 | 英业达股份有限公司 | 应用程序进程监控的方法 |
US20050138021A1 (en) * | 2003-12-23 | 2005-06-23 | Budi Santoso | Performance improvement |
CN101876938A (zh) * | 2009-11-11 | 2010-11-03 | 北京神州泰岳软件股份有限公司 | 一种基于消息队列的应用软件响应时间测量方法 |
CN101788949A (zh) * | 2010-03-10 | 2010-07-28 | 中兴通讯股份有限公司 | 一种实现嵌入式系统函数监控的方法及装置 |
US20130067487A1 (en) * | 2010-04-14 | 2013-03-14 | International Business Machines Corporation | Runtime Optimization Of An Application Executing On A Parallel Computer |
CN103942141A (zh) * | 2014-03-27 | 2014-07-23 | 北京京东尚科信息技术有限公司 | 一种检测应用程序的性能的方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595313A (zh) * | 2018-03-08 | 2018-09-28 | 北京三快在线科技有限公司 | 应用程序的日志生成方法、装置、电子设备及存储介质 |
CN108595313B (zh) * | 2018-03-08 | 2021-12-10 | 北京三快在线科技有限公司 | 应用程序的日志生成方法、装置、电子设备及存储介质 |
CN109783161A (zh) * | 2018-12-11 | 2019-05-21 | 北京三快在线科技有限公司 | iOS系统中应用程序的运行信息确定方法、装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200195667A1 (en) | Url attack detection method and apparatus, and electronic device | |
US20200013065A1 (en) | Method and Apparatus of Identifying a Transaction Risk | |
CN107145489B (zh) | 一种基于云平台的客户端应用的信息统计方法和装置 | |
WO2016145993A1 (zh) | 一种用户设备识别方法及系统 | |
CN110020339B (zh) | 基于无埋点的网页数据采集方法及装置 | |
CN104765689B (zh) | 一种接口性能数据实时监制方法和装置 | |
CN105095207B (zh) | 检索、获取应用软件内容的方法和装置 | |
JP2016509300A (ja) | ウェブサイトユーザを識別する方法および装置 | |
CN105607986A (zh) | 用户行为日志数据采集方法及装置 | |
CN104423961B (zh) | 一种生成测试脚本的方法及系统 | |
CN106897141A (zh) | 信息的处理方法及装置 | |
CN107766469A (zh) | 一种缓存处理方法和装置 | |
CN108134812B (zh) | 数据处理方法和装置 | |
CN109033365B (zh) | 一种数据处理方法及相关设备 | |
CN109684052A (zh) | 事务分析方法、装置、设备及存储介质 | |
CN104657435A (zh) | 一种应用数据的存储管理方法和网络管理系统 | |
CN104022913B (zh) | 用于数据集群的测试方法和装置 | |
US20150379112A1 (en) | Creating an on-line job function ontology | |
CN107153702A (zh) | 一种数据处理方法及装置 | |
CN107766216A (zh) | 一种用于获取应用执行信息的方法与设备 | |
US20130318499A1 (en) | Test script generation | |
JP2018133044A (ja) | WebAPI実行フロー生成装置およびWebAPI実行フロー生成方法 | |
CN111241547B (zh) | 一种越权漏洞的检测方法、装置及系统 | |
CN107294766B (zh) | 一种集中管控的方法及系统 | |
CN107515807A (zh) | 一种存储监控数据的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180306 |
|
RJ01 | Rejection of invention patent application after publication |