CN110232008A - 一种应用性能数据的采集方法及装置 - Google Patents
一种应用性能数据的采集方法及装置 Download PDFInfo
- Publication number
- CN110232008A CN110232008A CN201910468790.9A CN201910468790A CN110232008A CN 110232008 A CN110232008 A CN 110232008A CN 201910468790 A CN201910468790 A CN 201910468790A CN 110232008 A CN110232008 A CN 110232008A
- Authority
- CN
- China
- Prior art keywords
- performance data
- functional module
- target application
- subclass
- data collection
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000013480 data collection Methods 0.000 claims abstract description 144
- 238000012544 monitoring process Methods 0.000 claims abstract description 44
- 230000006870 function Effects 0.000 claims description 28
- 230000000875 corresponding effect Effects 0.000 description 75
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000000750 progressive effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000002513 implantation Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- 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/3409—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 for performance assessment
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了一种应用性能数据的采集方法及装置。一种应用性能数据的采集方法,配置独立于目标应用运行的性能数据采集服务,所述采集服务执行以下方法:预先确定与目标应用相匹配的性能数据采集策略的集合;所述集合中包括至少一个子集合,每个子集合对应目标应用中的一个功能模块,每个子集合中包括至少一条性能数据采集策略;在所述目标应用运行期间,监测所述目标应用对功能模块的调用情况;当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略;分别记录并汇总每个子集合的采集结果,得到所述目标应用运行时的性能数据。
Description
技术领域
本说明书实施例涉及数据处理技术领域,尤其涉及一种应用性能数据的采集方法及装置。
背景技术
随着智能终端的普及,各种应用逐渐被迁移至智能终端上,移动终端上拥有的应用越来越丰富,例如Native应用,可操控智能终端内部的硬件或其它应用,给用户带来不错的体验。
但应用对于网络环境、硬件等要求较高,且应用可能涉及复杂的逻辑处理,导致性能不佳,例如存在页面卡顿、页面加载耗时、弱网络环境下页面展示不友好等现象,影响用户体验。故需要对应用进行性能数据采集,以此来优化应用,提升用户体验。
目前对应用进行性能数据采集,大都通过埋点的方式。由于通过埋点的方式进行性能数据采集,需要在应用各个功能模块中植入性能数据采集代码,当各个功能模块被调用时,植入的性能数据采集代码也会被自动执行。一方面,执行这些性能数据采集代码可能会影响应用本身的稳定性,另一方面,此时采集的性能数据实际体现的是“应用本身”以及“性能数据采集代码”共同运行的结果,并不能准确的反应应用本身的运行情况。
发明内容
针对上述技术问题,本说明书实施例提供一种应用性能数据的采集方法及装置,技术方案如下:
根据本说明书实施例的第一方面,提供一种应用性能数据的采集方法,配置独立于目标应用运行的性能数据采集服务,所述采集服务执行以下方法:
预先确定与目标应用相匹配的性能数据采集策略的集合;所述集合中包括至少一个子集合,每个子集合对应目标应用中的一个功能模块,每个子集合中包括至少一条性能数据采集策略;
在所述目标应用运行期间,监测所述目标应用对功能模块的调用情况;
当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略;
分别记录并汇总每个子集合的采集结果,得到所述目标应用运行时的性能数据。
优选的,所述在所述目标应用运行期间,监测所述目标应用对功能模块的调用情况,包括:
在所述目标应用运行期间,对事件的触发情况进行监测;
根据预设的事件与功能模块的对应关系,确定所述目标应用对功能模块的调用情况。
优选的,所述每个子集合中的性能数据采集策略,用于采集对应功能模块在当前时刻的性能数据。
优选的,所述每个子集合中的性能数据采集策略,用于实时采集对应功能模块在被调用期间的性能数据。
优选的,该方法还包括:
当监测到该功能模块结束被调用时,停止执行与该功能模块对应的子集合中的性能数据采集策略。
优选的,所述每个子集合中的每条性能数据采集策略用于采集一种或者多种性能指标对应的性能数据。
根据本说明书实施例的第二方面,提供一种应用性能数据的采集装置,所述装置独立于目标应用运行,所述装置包括:
集合确定模块,用于预先确定与目标应用相匹配的性能数据采集策略的集合;所述集合中包括至少一个子集合,每个子集合对应目标应用中的一个功能模块,每个子集合中包括至少一条性能数据采集策略;
监测模块,用于在所述目标应用运行期间,监测所述目标应用对功能模块的调用情况;
策略执行模块,用于当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略;
数据汇总模块,用于分别记录并汇总每个子集合的采集结果,得到所述目标应用运行时的性能数据。
优选的,所述监测模块具体用于:
在所述目标应用运行期间,对事件的触发情况进行监测;
根据预设的事件与功能模块的对应关系,确定所述目标应用对功能模块的调用情况。
优选的,所述每个子集合中的性能数据采集策略,用于采集对应功能模块在当前时刻的性能数据。
优选的,所述每个子集合中的性能数据采集策略,用于实时采集对应功能模块在被调用期间的性能数据。
优选的,所述装置还包括:
策略停止执行模块,用于当监测到该功能模块结束被调用时,停止执行与该功能模块对应的子集合中的性能数据采集策略。
优选的,所述每个子集合中的每条性能数据采集策略用于采集一种或者多种性能指标对应的性能数据。
根据本说明书实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述的应用性能数据的采集方法。
本说明书实施例所提供的技术方案,通过配置独立于目标应用运行的性能数据采集服务,利用该性能数据采集服务预先确定与目标应用相匹配的性能数据采集策略的集合,在目标应用运行期间,监测目标应用对功能模块的调用情况,当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略,分别记录并汇总每个子集合的采集结果,得到目标应用运行时的性能数据。如此通过配置独立于目标应用运行的性能数据采集服务,以得到目标应用运行时的性能数据,一方面,无需在应用各个功能模块中植入性能数据采集代码,避免影响应用本身的稳定性,另一方面,此时采集的性能数据实际体现的是“应用本身”的运行结果,可以真实的反应应用本身的运行情况。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书实施例示出的一种传统的H5应用性能数据采集效果示意图;
图2是本说明书实施例示出的一种本说明书中H5应用性能数据采集效果示意图;
图3是本说明书实施例示出的一种应用性能数据的采集方法的实施流程示意图;
图4是本说明书实施例示出的一种与H5应用相匹配的性能数据采集策略的集合;
图5是本说明书实施例示出的一种目标应用中各个功能模块对应的性能数据的离散示意图;
图6是本说明书实施例示出的一种目标应用中各个功能模块对应的性能数据的连续示意图;
图7是本说明书实施例示出的一种应用性能数据的采集装置的结构示意图;
图8是用于配置本说明书实施例装置的一种设备的结构示意图。
具体实施方式
目前对应用进行性能数据采集,大都通过埋点的方式,意味着需要在应用各个功能模块中植入性能数据采集代码。由于通过埋点的方式进行性能数据采集,需要在应用各个功能模块中植入性能数据采集代码,如图1所示的一示例性H5(HTML5)应用性能数据采集效果示意图,在H5应用中包括功能模块1、功能模块2、功能模块3、功能模块4,在各个功能模块中分别植入对应性能数据采集代码,当H5应用中功能模块1、功能模块2、功能模块3、功能模块4分别被调用时,植入的性能数据采集代码也会被自动执行。
但是传统的埋点方式存在以下问题:一方面,执行这些性能数据采集代码可能会影响应用本身的稳定性;另一方面,此时采集的性能数据实际体现的是“应用本身”以及“性能数据采集代码”共同运行的结果,并不能准确的反应应用本身的运行情况。以内存利用率为例,此时采集的内存利用率为55%,该内存利用率实际体现的是“应用本身”以及“性能数据采集代码”共同运行的结果,而应用本身实际运行时的内存利用率为50%,另外执行这些性能数据采集代码时的内存利用率为5%,如此可以看出,通过目前埋点的方式采集应用性能数据,并不能准确的反应应用本身的运行情况。
针对上述技术问题,本说明书实施例提供一种技术方案,如图2所示的一示例性H5(HTML5)应用性能数据采集效果示意图,在H5应用中包括功能模块1、功能模块2、功能模块3、功能模块4,通过配置独立于目标应用(H5应用)运行的性能数据采集服务,利用该性能数据采集服务预先确定与目标应用相匹配的性能数据采集策略的集合,在目标应用运行期间,监测目标应用对功能模块的调用情况,当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略,分别记录并汇总每个子集合的采集结果,得到目标应用运行时的性能数据。
如此通过配置独立于目标应用(H5应用)运行的性能数据采集服务,以得到目标应用运行时的性能数据,一方面,无需在应用各个功能模块中植入性能数据采集代码,避免影响应用本身的稳定性,另一方面,此时采集的性能数据实际体现的是“应用本身”的运行结果,可以真实的反应应用本身的运行情况。以内存利用率为例,此时采集的内存利用率为50%,实际体现的是“应用本身”的运行结果,对于执行与该功能模块对应的子集合中的性能数据采集策略所消耗的内存(5%内存利用率),则不再计算在“应用本身”的运行结果之内,可以真实的反应应用本身的运行情况。
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
如图3所示,为本发明实施例提供的一种应用性能数据的采集方法的实施流程示意图,配置独立于目标应用运行的性能数据采集服务,其中可以通过脚本等实现自动配置独立于目标应用运行的性能数据采集服务,也可以手工实现配置独立于目标应用运行的性能数据采集服务,本说明书实施例对此不作限定,该采集服务执行以下方法:
S301,预先确定与目标应用相匹配的性能数据采集策略的集合;所述集合中包括至少一个子集合,每个子集合对应目标应用中的一个功能模块,每个子集合中包括至少一条性能数据采集策略;
在本发明实施例中,目标应用可以是当前智能终端上任一类型的应用,例如目标应用可以是Native应用,可以是Hybrid应用,可以是Web应用,也可以是H5应用等,本说明书实施例对此不作限定。
针对目标应用,性能数据采集服务可以预先确定与其相匹配的性能数据采集策略的集合,对于不同类型的目标应用,其可以对应不同的性能数据采集策略的集合。例如对于Native应用,性能数据采集服务可以确定与其相匹配的性能数据采集策略的集合A,对于H5应用,性能数据采集服务可以确定与其相匹配的性能数据采集策略的集合B,对于不同类型的目标应用,可根据实际需求设置对应的性能数据采集策略的集合,本说明书实施例对此不作限定。
另外,对于目标应用,可以通过以下方式确定:性能数据采集服务接收用户输入的应用标识,确定该应用标识对应的应用为目标应用,预先确定与该目标应用相匹配的性能数据采集策略的集合。
对于智能终端上不同类型的目标应用,其存在各自对应的标识,该标识可以是应用ID、应用名称、应用版本等,当然应用标识还可以是其它表现形式,本说明书实施例在此不再一一赘述。用户可以选择某一应用作为待采集性能数据的对象,用户可以通过输入应用标识的方式,确定待采集性能数据的对象,性能数据采集服务可以接收用户输入的该应用标识,确定该应用标识对应的应用为目标应用,即待采集性能数据的对象,预先确定与该目标应用相匹配的性能数据采集策略的集合。
另外,对于与该目标应用相匹配的性能数据采集策略的集合,其中包括至少一个子集合,每个子集合对应目标应用中的一个功能模块,即子集合与目标应用中的功能模块一一对应,每个子集合中包括至少一条性能数据采集策略。对于性能数据采集策略的集合中包括的子集合,其可以存在一定顺序,该顺序由目标应用调用功能模块的顺序决定。
如图4所示,与H5应用相匹配的性能数据采集策略的集合,其中包括四个子集合,分别为子集合A、子集合B、子集合C、子集合D,子集合A、子集合B、子集合C、子集合D分别对应于H5应用中的功能模块1、功能模块2、功能模块3、功能模块4,子集合A中包括性能数据采集策略1、性能数据采集策略2,子集合B中包括性能数据采集策略1、性能数据采集策略2、性能数据采集策略3,子集合C中包括性能数据采集策略1、性能数据采集策略2、性能数据采集策略4,子集合D中包括性能数据采集策略1、性能数据采集策略2、性能数据采集策略5。
对于各个子集合中包括的性能数据采集策略,可以存在相同的性能数据采集策略,例如上述的性能数据采集策略1、性能数据采集策略2,也可以存在不同的性能数据采集策略,例如上述的性能数据采集策略3、性能数据采集策略4、性能数据采集策略5,本说明书实施例对此不作限定。意味着对于目标应用的功能模块,每个功能模块对应的相同性能数据,例如内存利用率以及CPU利用率等,每个功能模块对应各自独有的性能数据,例如数据加载耗时、页面渲染耗时等,由实际情况而定。
对于每个子集合中的每条性能数据采集策略(其实质是一段性能数据采集代码),用于采集一种或者多种性能指标对应的性能数据。对于目标应用的性能数据,例如内存利用率以及CPU利用率,可以使用子集合中的一条性能数据采集策略,采集内存利用率以及CPU利用率,又例如页面渲染耗时,可以使用子集合中的一条性能数据采集策略,采集页面渲染耗时,对于每个子集合中的每条性能数据采集策略的用途,可以根据实际需求设置,本说明书实施例对此不作限定。
S302,在所述目标应用运行期间,监测所述目标应用对功能模块的调用情况;
针对目标应用,在本说明书实施例中,可以注册事件,当事件触发,表示目标应用被运行,在该目标应用运行期间,监测该目标应用对功能模块的调用情况。
例如,对于H5应用,注册H5应用打开/切换等事件,当上述事件触发,表示H5应用被运行,在该H5应用运行期间,监测该H5应用对功能模块的调用情况。
其中,为了便于监测该目标应用对功能模块的调用情况,针对该目标应用中各个功能模块注册对应的事件,事件与目标应用中的功能模块一一对应,在该目标应用运行期间,对事件的触发情况进行监测,根据预设的事件与功能模块的对应关系,确定该目标应用对功能模块的调用情况。
例如,在H5应用运行期间,对事件1、事件2、事件3、事件4的触发情况进行监测,其中上述事件与H5应用中功能模块的对应关系如下表1所示。
事件编号 | 功能模块编号 |
事件1 | 功能模块1 |
事件2 | 功能模块2 |
事件3 | 功能模块3 |
事件4 | 功能模块4 |
表1
根据上述表1中事件与H5应用中功能模块的对应关系,可以确定该H5应用对功能模块的调用情况。例如,上述表1中的事件1触发,根据上述表1中事件1与功能模块1的对应关系,可以确定该H5应用调用功能模块1,上述表1中的事件2触发,根据上述表1中事件2与功能模块2的对应关系,可以确定该H5应用调用功能模块2……,以此类推。
S303,当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略;
针对上述步骤S302中的监测结果,当监测到该目标应用中任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略,以采集该功能模块对应的性能数据。
例如,对于H5应用,当监测到H5应用中功能模块1被调用时,执行与该功能模块1对应的子集合A中的性能数据采集策略1以及性能数据采集策略2,以采集该功能模块1对应的性能数据。
其中,对于每个子集合中的性能数据采集策略,可以用于采集对应功能模块在当前时刻的性能数据,属于单点采集。则当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略,以采集该功能模块在当前时刻对应的性能数据。
例如,对于H5应用,当监测到H5应用中功能模块1被调用时,执行与该功能模块1对应的子集合A中的性能数据采集策略1以及性能数据采集策略2,以采集该功能模块1在当前时刻(例如,该当前时刻可以是性能数据采集策略被执行时刻)对应的性能数据,当监测到H5应用中功能模块2被调用时,执行与该功能模块2对应的子集合A中的性能数据采集策略1、性能数据采集策略2、性能数据采集策略3,以采集该功能模块2在当前时刻(例如,该当前时刻可以是性能数据采集策略被执行时刻)对应的性能数据……,以此类推,可以得到多个离散的性能数据。以内存利用率为例,如图5所示的离散的内存利用率,每个内存利用率表示当前时刻对应功能模块的内存利用率,如图5所示的离散图可以表示该H5应用运行期间,各个功能模块在当前时刻对应的间断性能数据(内存利用率)。
再者,对于每个子集合中的性能数据采集策略,也可以用于实时采集对应功能模块在被调用期间的性能数据,属于实时采集。则当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略,以采集该功能模块在被调用期间的性能数据。
例如,对于H5应用,当监测到H5应用中功能模块1被调用时,执行与该功能模块1对应的子集合A中的性能数据采集策略1以及性能数据采集策略2,以采集该功能模块1在被调用期间的性能数据,当监测到H5应用中功能模块2被调用时,执行与该功能模块2对应的子集合A中的性能数据采集策略1、性能数据采集策略2、性能数据采集策略3,以采集该功能模块2在被调用期间的性能数据……,以此类推,可以得到随时间变化的连续的性能数据。以内存利用率为例,如图6所示,每段时间对应的连续的性能数据,表示对应功能模块在被调用期间的性能数据,不同时间段对应的连续的性能数据可以在时域上连接起来,如图6所示的连续曲线图可以表示该H5应用运行期间,各个功能模块在被调用期间对应的连续性能数据(内存利用率)。
对于实时采集对应功能模块在被调用期间的性能数据的情况,当监测到该功能模块结束被调用时,停止执行与该功能模块对应的子集合中的性能数据采集策略。
为了便于监测目标应用对功能模块的调用情况,还可以注册与目标应用中各个功能模块对应的另一事件,在目标应用运行期间,对另一事件的触发情况进程监测,根据预设的事件与功能模块的对应关系,确定该功能模块是否结束被调用,进而确定是否停止执行与该功能模块对应的子集合中的性能数据采集策略。
如此,当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略,此时采集的性能数据实际体现的是“应用本身”的运行结果,可以真实的反应应用本身的运行情况,另外还可以根据实际需要采集目标应用中各个功能模块对应的间断性能数据,或者目标应用中各个功能模块对应的连续性能数据。
S304,分别记录并汇总每个子集合的采集结果,得到所述目标应用运行时的性能数据。
记录每个子集合中性能数据采集策略的采集结果,并汇总每个子集合中性能数据采集策略的采集结果,以得到该目标应用运行时的性能数据,如图5、图6所示。在本说明实施例中,该目标应用运行时的性能数据可以是内存利用率、CPU利用率、数据加载耗时、页面渲染耗时等,可以根据实际需求设置,本说明书实施例对此不作限定。
另外,对于上述汇总的每个子集合中性能数据采集策略的采集结果,将其发送至性能数据平台,以使性能数据平台对该目标应用中运行时的性能数据进行输出显示,如图5、图6所示,便于后续对该目标应用进行优化。
通过上述对本发明实施例提供的技术方案的描述,通过配置独立于目标应用运行的性能数据采集服务,利用该性能数据采集服务预先确定与目标应用相匹配的性能数据采集策略的集合,在目标应用运行期间,监测目标应用对功能模块的调用情况,当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略,分别记录并汇总每个子集合的采集结果,得到目标应用运行时的性能数据。
如此通过配置独立于目标应用运行的性能数据采集服务,以得到目标应用运行时的性能数据,一方面,无需在应用各个功能模块中植入性能数据采集代码,避免影响应用本身的稳定性,另一方面,此时采集的性能数据实际体现的是“应用本身”的运行结果,可以真实的反应应用本身的运行情况。
另外本发明实施例提供的技术方案还可以采集到目标应用中各个功能模块对应的间断性能数据,或者目标应用中各个功能模块对应的连续性能数据。
相应于上述方法实施例,本说明书实施例还提供一种应用性能数据的采集装置,参见图7所示,该装置独立于目标应用运行,该装置可以包括:集合确定模块710、监测模块720、策略执行模块730、数据汇总模块740。
集合确定模块710,用于预先确定与目标应用相匹配的性能数据采集策略的集合;所述集合中包括至少一个子集合,每个子集合对应目标应用中的一个功能模块,每个子集合中包括至少一条性能数据采集策略;
监测模块720,用于在所述目标应用运行期间,监测所述目标应用对功能模块的调用情况;
策略执行模块730,用于当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略;
数据汇总模块740,用于分别记录并汇总每个子集合的采集结果,得到所述目标应用运行时的性能数据。
在本说明书实施例的一种具体实施方式中,所述监测模块720具体用于:
在所述目标应用运行期间,对事件的触发情况进行监测;
根据预设的事件与功能模块的对应关系,确定所述目标应用对功能模块的调用情况。
在本说明书实施例的一种具体实施方式中,所述每个子集合中的性能数据采集策略,用于采集对应功能模块在当前时刻的性能数据。
在本说明书实施例的一种具体实施方式中,所述每个子集合中的性能数据采集策略,用于实时采集对应功能模块在被调用期间的性能数据。
在本说明书实施例的一种具体实施方式中,所述装置还包括:
策略停止执行模块750,用于当监测到该功能模块结束被调用时,停止执行与该功能模块对应的子集合中的性能数据采集策略。
在本说明书实施例的一种具体实施方式中,所述每个子集合中的每条性能数据采集策略,用于采集一种或者多种性能指标对应的性能数据。
(此外,)上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
通过上述对本发明实施例提供的技术方案的描述,通过配置独立于目标应用运行的性能数据采集服务,利用该性能数据采集服务预先确定与目标应用相匹配的性能数据采集策略的集合,在目标应用运行期间,监测目标应用对功能模块的调用情况,当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略,分别记录并汇总每个子集合的采集结果,得到目标应用运行时的性能数据。
如此通过配置独立于目标应用运行的性能数据采集服务,以得到目标应用运行时的性能数据,一方面,无需在应用各个功能模块中植入性能数据采集代码,避免影响应用本身的稳定性,另一方面,此时采集的性能数据实际体现的是“应用本身”的运行结果,可以真实的反应应用本身的运行情况。
另外本发明实施例提供的技术方案还可以采集到目标应用中各个功能模块对应的间断性能数据,或者目标应用中各个功能模块对应的连续性能数据。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述的应用性能数据的采集方法,该方法至少包括:
预先确定与目标应用相匹配的性能数据采集策略的集合;所述集合中包括至少一个子集合,每个子集合对应目标应用中的一个功能模块,每个子集合中包括至少一条性能数据采集策略;
在所述目标应用运行期间,监测所述目标应用对功能模块的调用情况;
当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略;
分别记录并汇总每个子集合的采集结果,得到所述目标应用运行时的性能数据。
图8示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器810、存储器820、输入/输出接口830、通信接口840和总线850。其中处理器810、存储器820、输入/输出接口830和通信接口840通过总线850实现彼此之间在设备内部的通信连接。
处理器810可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器820可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器820可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器820中,并由处理器810来调用执行。
输入/输出接口830用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口840用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线850包括一通路,在设备的各个组件(例如处理器810、存储器820、输入/输出接口830和通信接口840)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器810、存储器820、输入/输出接口830、通信接口840以及总线850,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的应用性能数据的采集方法,该方法至少包括:
预先确定与目标应用相匹配的性能数据采集策略的集合;所述集合中包括至少一个子集合,每个子集合对应目标应用中的一个功能模块,每个子集合中包括至少一条性能数据采集策略;
在所述目标应用运行期间,监测所述目标应用对功能模块的调用情况;
当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略;
分别记录并汇总每个子集合的采集结果,得到所述目标应用运行时的性能数据。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。
Claims (10)
1.一种应用性能数据的采集方法,配置独立于目标应用运行的性能数据采集服务,所述采集服务执行以下方法:
预先确定与目标应用相匹配的性能数据采集策略的集合;所述集合中包括至少一个子集合,每个子集合对应目标应用中的一个功能模块,每个子集合中包括至少一条性能数据采集策略;
在所述目标应用运行期间,监测所述目标应用对功能模块的调用情况;
当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略;
分别记录并汇总每个子集合的采集结果,得到所述目标应用运行时的性能数据。
2.根据权利要求1所述的方法,所述在所述目标应用运行期间,监测所述目标应用对功能模块的调用情况,包括:
在所述目标应用运行期间,对事件的触发情况进行监测;
根据预设的事件与功能模块的对应关系,确定所述目标应用对功能模块的调用情况。
3.根据权利要求1所述的方法,所述每个子集合中的性能数据采集策略,用于采集对应功能模块在当前时刻的性能数据。
4.根据权利要求1所述的方法,所述每个子集合中的性能数据采集策略,用于实时采集对应功能模块在被调用期间的性能数据。
5.根据权利要求4所述的方法,所述方法还包括:
当监测到该功能模块结束被调用时,停止执行与该功能模块对应的子集合中的性能数据采集策略。
6.根据权利要求1至5任一项所述的方法,所述每个子集合中的每条性能数据采集策略,用于采集一种或者多种性能指标对应的性能数据。
7.一种应用性能数据的采集装置,所述装置独立于目标应用运行,所述装置包括:
集合确定模块,用于预先确定与目标应用相匹配的性能数据采集策略的集合;所述集合中包括至少一个子集合,每个子集合对应目标应用中的一个功能模块,每个子集合中包括至少一条性能数据采集策略;
监测模块,用于在所述目标应用运行期间,监测所述目标应用对功能模块的调用情况;
策略执行模块,用于当监测到任一功能模块被调用时,执行与该功能模块对应的子集合中的性能数据采集策略;
数据汇总模块,用于分别记录并汇总每个子集合的采集结果,得到所述目标应用运行时的性能数据。
8.根据权利要求7所述的装置,所述每个子集合中的性能数据采集策略,用于采集对应功能模块在当前时刻的性能数据。
9.根据权利要求7所述的装置,所述每个子集合中的性能数据采集策略,用于实时采集对应功能模块在被调用期间的性能数据。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910468790.9A CN110232008A (zh) | 2019-05-31 | 2019-05-31 | 一种应用性能数据的采集方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910468790.9A CN110232008A (zh) | 2019-05-31 | 2019-05-31 | 一种应用性能数据的采集方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110232008A true CN110232008A (zh) | 2019-09-13 |
Family
ID=67858313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910468790.9A Pending CN110232008A (zh) | 2019-05-31 | 2019-05-31 | 一种应用性能数据的采集方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110232008A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881139A (zh) * | 2020-07-29 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种数据获取的方法、系统、设备及可读存储介质 |
CN114785784A (zh) * | 2022-04-14 | 2022-07-22 | 中国第一汽车股份有限公司 | 数据处理方法、装置、电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080228755A1 (en) * | 2007-03-14 | 2008-09-18 | Futoshi Haga | Policy creation support method, policy creation support system, and program therefor |
US20140310561A1 (en) * | 2013-04-11 | 2014-10-16 | Nec Laboratories America, Inc. | Dynamic function-level hardware performance profiling for application performance analysis |
CN106681882A (zh) * | 2015-11-06 | 2017-05-17 | 上海瑞致软件有限公司 | 基于Apriori算法的IT服务集中监控管理系统 |
CN107819623A (zh) * | 2017-11-08 | 2018-03-20 | 平安科技(深圳)有限公司 | 应用性能分析方法及装置 |
CN108334440A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种获取应用性能测试结果的处理方法及装置、客户端 |
CN109032916A (zh) * | 2017-06-08 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 对应用程序中功能模块进行评测的方法、装置及系统 |
CN109062802A (zh) * | 2018-08-13 | 2018-12-21 | 深圳壹账通智能科技有限公司 | 一种软件测试方法、计算机可读存储介质及终端设备 |
-
2019
- 2019-05-31 CN CN201910468790.9A patent/CN110232008A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080228755A1 (en) * | 2007-03-14 | 2008-09-18 | Futoshi Haga | Policy creation support method, policy creation support system, and program therefor |
US20140310561A1 (en) * | 2013-04-11 | 2014-10-16 | Nec Laboratories America, Inc. | Dynamic function-level hardware performance profiling for application performance analysis |
CN106681882A (zh) * | 2015-11-06 | 2017-05-17 | 上海瑞致软件有限公司 | 基于Apriori算法的IT服务集中监控管理系统 |
CN108334440A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种获取应用性能测试结果的处理方法及装置、客户端 |
CN109032916A (zh) * | 2017-06-08 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 对应用程序中功能模块进行评测的方法、装置及系统 |
CN107819623A (zh) * | 2017-11-08 | 2018-03-20 | 平安科技(深圳)有限公司 | 应用性能分析方法及装置 |
CN109062802A (zh) * | 2018-08-13 | 2018-12-21 | 深圳壹账通智能科技有限公司 | 一种软件测试方法、计算机可读存储介质及终端设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881139A (zh) * | 2020-07-29 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种数据获取的方法、系统、设备及可读存储介质 |
CN111881139B (zh) * | 2020-07-29 | 2022-07-08 | 北京浪潮数据技术有限公司 | 一种数据获取的方法、系统、设备及可读存储介质 |
CN114785784A (zh) * | 2022-04-14 | 2022-07-22 | 中国第一汽车股份有限公司 | 数据处理方法、装置、电子设备 |
CN114785784B (zh) * | 2022-04-14 | 2023-10-24 | 中国第一汽车股份有限公司 | 数据处理方法、装置、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647089A (zh) | 资源配置方法、装置、终端及存储介质 | |
CN105045611B (zh) | 一种升级方法及装置 | |
CN108512695A (zh) | 监控应用卡顿的方法及装置 | |
CN104156225B (zh) | 一种安装包的下载方法、系统及服务器 | |
CN110515628A (zh) | 应用部署方法及装置 | |
CN111901385B (zh) | 一种云硬盘限速方法、系统、装置及计算机可读存储介质 | |
CN110232008A (zh) | 一种应用性能数据的采集方法及装置 | |
CN105615832A (zh) | 医疗影像数据采集方法及装置 | |
CN103885865A (zh) | 一种传感器管理方法及装置 | |
CN105260082A (zh) | 一种测试数据展示方法及开发终端 | |
CN109800204A (zh) | 数据分配方法及相关产品 | |
CN107888717A (zh) | 一种域名确定方法、装置及电子设备 | |
CN106547870A (zh) | 数据库的分表方法及装置 | |
CN109582418A (zh) | 用户行为数据收集方法、装置、计算机装置、存储介质 | |
CN112202829A (zh) | 基于微服务的社交机器人调度系统和调度方法 | |
CN106528156A (zh) | 一种页面数据处理方法和装置 | |
CN109828840A (zh) | 资源编排方法、装置、存储介质及电子设备 | |
CN110502232A (zh) | 页面应用的路由地址配置方法及配置装置 | |
EP3855689A1 (en) | Method, apparatus, and system for providing service, storage medium, and electronic device | |
CN110134380A (zh) | 一种基于模板引擎的代码生成方法、装置及电子设备 | |
CN110347497A (zh) | 一种将多个存储设备划分设备组的方法及装置 | |
CN111104281B (zh) | 一种游戏性能监控方法、装置、系统及存储介质 | |
CN110795202A (zh) | 一种虚拟化集群资源管理系统的资源分配方法以及装置 | |
CN104378682A (zh) | 一种基于安卓系统的按键统计方法和智能电视 | |
CN109150567A (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: 20190913 |
|
RJ01 | Rejection of invention patent application after publication |