应用监测方法、装置、系统、终端设备及存储介质
文献发布时间:2023-06-19 09:30:39
技术领域
本申请涉及应用监控技术领域,尤其涉及一种应用监测方法、装置、系统、终端设备及存储介质。
背景技术
随着智能终端技术的发展,智能终端上的各种应用越来越多,给人们的生活带来很多便利与乐趣,尤其是游戏,很多用户都乐在其中。但是,用户在玩游戏过程中,经常会遇到卡顿、温升和功耗等问题,导致游戏体验变差。
目前,通常只能通过用户反馈的方式来发现当前发布的手机游戏版本的问题,并不能及时修复用户玩游戏过程中遇到的卡顿、温升和功耗的问题。而是需要等到大量用户反馈并抓取日志,然后解决问题,发布新的游戏版本。现有的这种解决方案,周期太长,降低了用户黏性。
发明内容
本申请的主要目的在于提供一种应用监测方法、装置、系统、终端设备及存储介质,旨在有效监控应用运行过程中的性能,及时发现应用性能问题,方便快速更新版本,提升用户黏性。
为实现上述目的,本申请实施例提供一种应用监测方法,所述应用监测方法包括以下步骤:
采集应用运行过程中所述应用的性能影响参数;
根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;
根据所述应用运行性能统计结果获得所述应用的异常性能指标;
基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示;或者,将所述应用运行性能统计结果上报给服务器,由所述服务器根据所述应用运行性能统计结果获得所述应用的异常性能指标,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
此外,本申请实施例还提出一种应用监测方法,所述应用监测方法包括以下步骤:
接收终端上报的应用运行性能统计结果,所述应用运行性能统计结果由所述终端根据所述应用运行过程中采集的所述应用的性能影响参数统计获得;
根据所述应用运行性能统计结果计算获得所述应用的异常性能指标;
基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
此外,本申请实施例还提出一种应用监测方法,所述应用监测方法包括以下步骤:
接收终端上报的应用运行过程中所述应用的性能影响参数;
根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;
根据所述应用运行性能统计结果获得所述应用的异常性能指标;
基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
此外,本申请实施例还提出一种应用监测装置,所述应用监测装置包括:
采集模块,用于采集应用运行过程中所述应用的性能影响参数;
统计模块,用于根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;
获取模块,用于根据所述应用运行性能统计结果获得所述应用的异常性能指标;
展示模块,用于基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示;或者,将所述应用运行性能统计结果上报给服务器,由所述服务器根据所述应用运行性能统计结果获得所述应用的异常性能指标,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
此外,本申请实施例还提出一种应用监测装置,所述应用监测装置包括:
接收模块,用于接收终端上报的应用运行性能统计结果,所述应用运行性能统计结果由所述终端根据所述应用运行过程中采集的所述应用的性能影响参数统计获得;
计算模块,用于根据所述应用运行性能统计结果计算获得所述应用的异常性能指标;
绘制展示模块,用于基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
此外,本申请实施例还提出一种应用监测装置,所述应用监测装置包括:
参数接收模块,用于接收终端上报的应用运行过程中所述应用的性能影响参数;
统计模块,用于根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;
计算模块,用于根据所述应用运行性能统计结果获得所述应用的异常性能指标;
展示模块,用于基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。。
此外,本申请实施例还提出一种应用监测系统,包括:终端和与所述终端网络通讯连接的服务器,其中:
所述终端,用于采集应用运行过程中所述应用的性能影响参数;根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;
所述服务器,用于接收所述终端上报的所述应用运行性能统计结果,根据所述应用运行性能统计结果获得所述应用的异常性能指标,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
此外,本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的应用监测程序程序,所述应用监测程序程序被所述处理器执行时实现如上所述的应用监测程序方法的步骤。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有应用监测程序程序,所述应用监测程序程序被处理器执行时实现如上所述的应用监测程序方法的步骤。
本申请实施例提出的应用监测方法、装置、系统、终端设备及存储介质,通过采集应用运行过程中所述应用的性能影响参数;根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;根据所述应用运行性能统计结果获得所述应用的异常性能指标;基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示;或者,将所述应用运行性能统计结果上报给服务器,由所述服务器根据所述应用运行性能统计结果获得所述应用的异常性能指标,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。通过异常性能指标展示图展示的应用(比如游戏)运行过程中的温升、卡顿、功耗等性能数据,实现对应用性能及版本进行监控,可以让产品开发人员更快的发现应用版本问题,从而解决问题,快速更新版本,也可以让开发人员更方便跟踪解决问题,让用户有更好的应用体验,提升用户黏性。
附图说明
图1为本申请应用监测装置所属终端设备的功能模块示意图;
图2为本申请应用监测方法一示例性实施例的流程示意图;
图3为本申请实施例中异常卡顿率/平均帧率曲线示意图;
图4为本申请实施例中异常温升率/平均最高温度曲线示意图;
图5为本申请实施例中异常功耗率/平均电流曲线示意图;
图6为本申请应用监测方法另一示例性实施例的流程示意图;
图7为本申请应用监测方法再一示例性实施例的流程示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例的主要解决方案是:通过采集应用运行过程中所述应用的性能影响参数;根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;根据所述应用运行性能统计结果获得所述应用的异常性能指标;基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示;或者,将所述应用运行性能统计结果上报给服务器,由所述服务器根据所述应用运行性能统计结果获得所述应用的异常性能指标,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。通过异常性能指标展示图展示的应用(比如游戏)运行过程中的温升、卡顿、功耗等性能数据,实现对应用性能及版本进行监控,可以让产品开发人员更快的发现应用版本问题,从而解决问题,快速更新版本,也可以让开发人员更方便跟踪解决问题,让用户有更好的应用体验,提升用户黏性。
本申请实施例涉及的技术术语如下表所示:
本申请实施例考虑到,现有相关方案中,通常只能通过用户反馈的方式来发现当前发布的手机游戏版本的问题,并不能及时修复用户玩游戏过程中遇到的卡顿、温升和功耗的问题,而是需要等到大量用户反馈并抓取日志,然后解决问题,发布新的游戏版本。现有的这种解决方案,周期太长,降低了用户黏性。
因此,本申请实施例提出解决方案,可以有效监控应用运行过程中的性能,及时发现应用性能问题,方便快速更新版本,提升用户黏性。
具体地,参照图1,图1为本申请应用监测装置所属终端设备的功能模块示意图。该应用监测装置可以为独立于终端设备的、能够实现应用相关性能参数监测的装置,其可以通过硬件或软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等智能移动终端,还可以为服务器等网络设备。
在本实施例中,该应用监测装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。
存储器130中存储有操作系统以及应用监测程序,应用监测装置可以将采集的应用运行过程中应用的性能影响参数、统计获得的应用的应用运行性能统计结果、以及根据所述应用运行性能统计结果获得的应用的异常性能指标等信息存储于该存储器130中;输出模块110可为显示屏、扬声器等。通信模块140可以包括WIFI模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。
其中,作为一种实施例方式,存储器130中的应用监测程序被处理器执行时实现以下步骤:
采集应用运行过程中所述应用的性能影响参数;
根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;
根据所述应用运行性能统计结果获得所述应用的异常性能指标;
基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示;或者,将所述应用运行性能统计结果上报给服务器,由所述服务器根据所述应用运行性能统计结果获得所述应用的异常性能指标,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
进一步地,存储器130中的应用监测程序被处理器执行时还实现以下步骤:
在游戏对局开始后,间隔第一预设时间采集所述游戏运行过程中的帧率、帧间隔;
所述根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果包括:
根据采集的所述游戏运行过程中的帧间隔,统计当前对局游戏的平均帧间隔;
根据采集的所述游戏运行过程中的帧率,或者结合帧率和所述平均帧间隔,统计当前游戏对局中的帧率相关参数,所述帧率相关参数包括以下参数中的一种或多种:帧率标准差、低帧率、连续丢预设帧数以上的占比、平均帧率;
根据所述帧率相关参数判断所述当前对局游戏是否出现卡顿,得到卡顿情况。
进一步地,存储器130中的应用监测程序被处理器执行时还实现以下步骤:
判断所述帧率标准差、所述连续丢预设帧数以上的占比、低帧率其中之一是否大于对应的预设阈值,或者判断所述平均帧率是否小于对应的预设阈值;若是,则判定所述当前对局游戏出现卡顿,否则,判定所述当前对局游戏未出现卡顿。
进一步地,存储器130中的应用监测程序被处理器执行时还实现以下步骤:
根据所述卡顿情况,计算所述游戏的异常卡顿率,所述异常卡顿率=出现卡顿的游戏局数/游戏总的局数。
进一步地,存储器130中的应用监测程序被处理器执行时还实现以下步骤:
基于所述异常卡顿率,绘制所述应用在预设时间段的异常卡顿率随时间变化的曲线图并展示,或基于所述异常卡顿率并结合所述平均帧率,绘制所述应用在预设时间段的异常卡顿率及平均帧率随时间变化的曲线图并展示。
进一步地,存储器130中的应用监测程序被处理器执行时还实现以下步骤:
在游戏对局开始后,间隔第二预设时间采集所述游戏运行过程中的温度;
所述根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果包括:
对采集的所述游戏运行过程中的温度进行统计,判断当前对局游戏是否出现发热,得到发热情况。
进一步地,存储器130中的应用监测程序被处理器执行时还实现以下步骤:
统计当前对局游戏在持续预设时间阈值以上的时间内,采集的温度中是否至少有一个温度超过预设温度阈值,若是,则判定所述当前对局游戏出现发热,否则,判定所述当前对局游戏未出现发热。
进一步地,存储器130中的应用监测程序被处理器执行时还实现以下步骤:
根据所述发热情况,计算所述游戏的异常温升率,所述异常温升率=出现发热的游戏局数/游戏总的局数。
进一步地,存储器130中的应用监测程序被处理器执行时还实现以下步骤:
基于所述异常温升率,绘制所述应用在预设时间段的异常温升率随时间变化的曲线图并展示,或基于所述异常温升率并结合平均最高温度,绘制所述应用在预设时间段的异常温升率及平均最高温度随时间变化的曲线图并展示。
进一步地,存储器130中的应用监测程序被处理器执行时还实现以下步骤:
在游戏对局开始后,间隔第三预设时间采集所述游戏运行过程中的开始电流和结束电流;
所述根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果包括:
根据采集的所述游戏运行过程中的开始电流和结束电流,计算得到当前对局游戏的平均电流;
根据所述平均电流,判断所述当前对局游戏是否出现功耗异常,得到功耗异常情况。
进一步地,存储器130中的应用监测程序被处理器执行时还实现以下步骤:
判断所述平均电流是否大于预设电流阈值,若是,则判定所述当前对局游戏出现功耗异常,否则,判定所述当前对局游戏未出现功耗异常。
进一步地,存储器130中的应用监测程序被处理器执行时还实现以下步骤:
根据所述功耗异常情况,计算所述游戏的异常功耗率,所述异常功耗率=出现功耗异常的游戏局数/游戏总的局数。
进一步地,存储器130中的应用监测程序被处理器执行时还实现以下步骤:
基于所述异常功耗率,绘制所述应用在预设时间段的异常功耗率随时间变化的曲线图并展示,或基于所述异常功耗率并结合平均电流,绘制所述应用在预设时间段的异常功耗率及平均电流随时间变化的曲线图并展示。
本实施例通过上述方案,具体通过采集应用运行过程中所述应用的性能影响参数;根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;根据所述应用运行性能统计结果获得所述应用的异常性能指标;基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示;或者,将所述应用运行性能统计结果上报给服务器,由所述服务器根据所述应用运行性能统计结果获得所述应用的异常性能指标,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。通过异常性能指标展示图展示的应用(比如游戏)运行过程中的温升、卡顿、功耗等性能数据,实现对应用性能及版本进行监控,可以让产品开发人员更快的发现应用版本问题,从而解决问题,快速更新版本,也可以让开发人员更方便跟踪解决问题,让用户有更好的应用体验,提升用户黏性。
基于上述终端设备架构但不限于上述架构,提出本申请方法实施例。
本实施例方法的执行主体可以是应用监测装置,该应用监测装置可以为独立于终端设备的、能够实现应用相关性能参数监测的装置,其可以通过硬件或软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等智能移动终端。本实施例以手机进行举例,手机上可以安装各种游戏等应用软件。
参照图2,图2为本申请应用监测方法一示例性实施例的流程示意图。所述应用监测方法包括以下步骤:
步骤S101,采集应用运行过程中所述应用的性能影响参数;
本实施例中,手机上运行的应用可以是游戏或者其他应用软件,以游戏为例,游戏运行性能可能会出现的问题包括:卡顿、温升、功耗等。
其中,游戏的性能影响参数可以包括:帧率、帧间隔,温度、电流等。
在游戏对局开始后,可以间隔第一预设时间采集所述游戏运行过程中的帧率、帧间隔;间隔第二预设时间采集所述游戏运行过程中的温度,间隔第三预设时间采集所述游戏运行过程中的电流,以便根据采集的这些游戏性能影响参数统计得到游戏的性能异常指标。
其中,间隔第一预设时间、第二预设时间、第三预设时间可以根据实际情况进行配置,比如在后台配置2s/次抓取游戏实时帧率、帧间隔;配置6s/次抓取游戏实时温度;配置6s/次抓取游戏实时电流。
需要说明的是,上述各参数的采集,可以在一次对局游戏中采集一个参数,也可以在一次对局游戏中同时采集多个参数。也就是说,可以一次采集游戏的一种性能影响参数,分析一种性能问题,比如单一的卡顿问题,温升问题,或者功耗问题;也可以一次采集游戏的多种性能影响参数,分析多种性能问题,比如同时分析卡顿问题、温升问题及功耗问题。
步骤S102,根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;
步骤S103,根据所述应用运行性能统计结果获得所述应用的异常性能指标;
其中,根据游戏运行的性能问题,对应的应用运行性能统计结果可以包括:卡顿情况、温升情况、功耗情况,对应地,游戏的异常性能指标可以包括:异常卡顿率、异常温升率、异常功耗率。
以下分三种场景分别进行阐述。
具体地,作为一种应用场景,对于游戏卡顿情况,所述采集应用运行过程中所述应用的性能影响参数的步骤可以包括:
在游戏对局开始后,间隔第一预设时间(比如2s/次)采集所述游戏运行过程中的帧率、帧间隔;可以在游戏对局开始后,开启定时器,通过定时器定时抓取数据并缓存在本地(各个指标定时的时间,服务器可配置,方便不同机型的不同需求)。
所述根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果可以包括:
根据采集的所述游戏运行过程中的帧间隔,统计当前对局游戏的平均帧间隔;
根据采集的所述游戏运行过程中的帧率,或者结合帧率和所述平均帧间隔,统计当前游戏对局中的帧率相关参数,所述帧率相关参数包括以下参数中的一种或多种:帧率标准差、低帧率、连续丢预设帧数以上的占比、平均帧率;
其中,连续丢预设帧数以上的占比比如可以是连续丢3帧以上占比。
连续丢3帧以上占比=连续丢3帧以上出帧的次数/总帧数。连续丢3帧以上占比越高,则表明该对局游戏越卡顿。
其中,帧率的标准差(FpsStandardDeviation)反应帧率的稳定性,帧率的标准差越大,帧率的稳定性越差。
低帧率,一般游戏有目标帧率如30/60/90等,低于目标帧率百分多少为低帧率。
作为一种实施方式,服务器可以定义连续丢3帧以上的占比/帧率标准差/低帧率(可以按机型/游戏进行动态配置)的阈值,基于该阈值判断游戏是否卡顿。
在该对局游戏结束后,可以处理采集的数据,获得对局游戏过程中帧率的标准差、连续丢3帧以上的占比、平均帧率(AvgFps)、低帧率等帧率相关参数。
具体的,根据所述帧率相关参数判断所述当前对局游戏是否出现卡顿,得到卡顿情况。具体判断方案如下:
判断所述帧率标准差、所述连续丢预设帧数以上的占比、低帧率其中之一是否大于对应的预设阈值,或者判断所述平均帧率是否小于对应的预设阈值;若是,则判定所述当前对局游戏出现卡顿,否则,判定所述当前对局游戏未出现卡顿。
手机端可以将每局游戏的卡顿情况上报给服务器,由服务器进行数据统计、筛选并展示,服务器可以支持不同机型、应用、时间等维度筛选,更精准的输出数据;在其他方式中,也可以在手机终端本地进行统计筛选展示。
作为一种实施方式,上述根据所述应用运行性能统计结果获得所述应用的异常性能指标的步骤可以包括:
根据所述卡顿情况,计算所述游戏的异常卡顿率,其中:
所述异常卡顿率=出现卡顿的游戏局数/游戏总的局数。
作为另一种应用场景,对于游戏温升情况,所述采集应用运行过程中所述应用的性能影响参数的步骤还包括:
在游戏对局开始后,间隔第二预设时间(比如6s/次)采集所述游戏运行过程中的温度;
所述根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果包括:
对采集的所述游戏运行过程中的温度进行统计,判断当前对局游戏是否出现发热,得到发热情况。具体实现如下:
统计当前对局游戏在持续预设时间阈值以上的时间内,采集的温度中是否至少有一个温度超过预设温度阈值,若是,则判定所述当前对局游戏出现发热,否则,判定所述当前对局游戏未出现发热。
比如,服务器可以定义最高温度ServerMaxThermal(预设温度阈值)、连续时间2min(服务器可以根据机型、游戏等动态配置)。
其中,连续2min的意义是:如果发热后,通过系统温控策略温度降下来,用户感知不强,则本局游戏正常,即低于2min采集的数据不上报。
在当局游戏结束后,处理采集的数据,获得对局过程中,连续温度超标的最高温度MaxTheraml。
比如,在一局游戏过程中,以6s/次采集温度,在持续2min以上的时间内,采集温度大于45度的温度参数,在当局游戏结束后,选择其中温度最高的温度值,如果该温度值大于服务器定义的最高温度,则判断游戏处于发热状态,上报服务器游戏出现发热情况。在服务器统计的数据中,每一局游戏都是发热或者不发热。
然后,根据所述应用运行性能统计结果获得所述应用的异常性能指标,具体包括:
根据所述发热情况,计算所述游戏的异常温升率,所述异常温升率=出现发热的游戏局数/游戏总的局数。
作为再一种应用场景,对于游戏功耗情况,所述应用运行性能统计结果还包括功耗情况,所述采集应用运行过程中所述应用的性能影响参数的步骤还包括:
在游戏对局开始后,间隔第三预设时间采集所述游戏运行过程中的电流;
所述根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果包括:
根据采集的所述游戏运行过程中的电流,计算得到当前对局游戏的平均电流;
根据所述平均电流,判断所述当前对局游戏是否出现功耗异常,得到功耗异常情况。具体方案如下:
判断所述平均电流是否大于预设电流阈值,若是,则判定所述当前对局游戏出现功耗异常,否则,判定所述当前对局游戏未出现功耗异常。
比如,服务器可以定义最高电流ServerMaxCurrent(服务器可以根据机型、游戏等动态配置)。
在当局游戏结束后,处理采集的数据,获得对局过程中开始电流StartBatteryRemain,结束温度EndBatteryRemain,计算一局游戏的平均电流Current=(EndBatteryRemain-StartBatteryRemain)/timeUseage(游戏时长)。
也可以通过采集的多个电流计算平均电流。
其中,如果游戏过程中充电,则本局游戏功耗不上传,丢弃,这是考虑到充电数据可能不准确。
然后,根据所述应用运行性能统计结果获得所述应用的异常性能指标,具体包括:
根据所述功耗异常情况,计算所述游戏的异常功耗率,所述异常功耗率=出现功耗异常的游戏局数/游戏总的局数。
步骤S104,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示;或者,将所述应用运行性能统计结果上报给服务器,由所述服务器根据所述应用运行性能统计结果获得所述应用的异常性能指标,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
作为一种实施方式,可以在手机终端本地基于所述异常卡顿率、异常温升率、异常功耗率等异常性能指标,绘制所述应用在预设时间段的异常卡顿率随时间变化的曲线图并展示。进一步地,可以基于所述异常卡顿率并结合所述平均帧率,绘制所述应用在预设时间段的异常卡顿率及平均帧率随时间变化的曲线图并展示,也可以单独展示平均帧率随时间变化的曲线图。
作为另一种实施方式,还可以由手机将异常卡顿率、异常温升率、异常功耗率等异常性能指标上报给服务器,由所述服务器根据所述应用运行性能统计结果获得所述应用的异常性能指标,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
具体地,以服务器展示为例,对于卡顿情况,作为一种实施方式,可以在服务器上,基于所述异常卡顿率,绘制所述应用在预设时间段的异常卡顿率随时间变化的曲线图并展示,如图3所示,进一步地,可以基于所述异常卡顿率并结合所述平均帧率,绘制所述应用在预设时间段的异常卡顿率及平均帧率随时间变化的曲线图并展示,也可以单独展示平均帧率随时间变化的曲线图。
如图3所示,通过展示的曲线图,可以大盘查看用户游戏过程中卡顿情况,平均帧率情况。
相比现有技术,其优点在于:可以对于游戏的不同版本,对比看大盘卡顿情况,如果某个版本存在问题,则可以快速发现,从而可以快速解决问题。此外,对于手机不同游戏版本,可以对比大盘卡顿情况,如果曲线上扬,表明可能存在问题,可以便于开发人员快速寻找到问题的原因,解决问题并更新版本,使用户有更好的体验。另外,对于高帧率游戏,比如90帧,可以通过大盘查看用户平均帧率的情况,及时处理问题;而对于新上的某些Feature,可以对比新增与否的版本,查看新增项是否对卡顿有影响等。
对于温升情况,作为一种实施方式,可以在服务器上,基于所述异常温升率,绘制所述应用在预设时间段的异常温升率随时间变化的曲线图并展示,或基于所述异常温升率并结合平均最高温度,绘制所述应用在预设时间段的异常温升率及平均最高温度随时间变化的曲线图并展示,如图4所示。
如图4所示可以大盘查看用户游戏过程中发热情况、平均最高温度情况。
相比现有技术,其优点在于:可以对于游戏的不同版本,对比看大盘平均最高温度以及异常温升的情况,如果某个版本存在问题,则可以快速发现,从而可以快速解决问题。此外,对于手机不同游戏版本,可以对比大盘温度情况,如果曲线上扬,表明可能存在问题,可以便于开发人员快速寻找到问题的原因,解决问题并更新版本,使用户有更好的体验。另外,对于新上的某些Feature,可以对比新增与否的版本,查看新增项是否对温升有影响等。
对于功耗情况,作为一种实施方式,可以在服务器上,基于所述异常功耗率,绘制所述应用在预设时间段的异常功耗率随时间变化的曲线图并展示,或基于所述异常功耗率并结合平均电流,绘制所述应用在预设时间段的异常功耗率及平均电流随时间变化的曲线图并展示,如图5所示。
如图5所示,,可以大盘查看用户游戏过程中功耗情况、平均电流的情况。
相比现有技术,其优点在于:可以对于游戏的不同版本,对比看大盘平均电流情况的情况,如果某个版本存在问题,则可以快速发现,从而可以快速解决问题。此外,对于手机不同游戏版本,可以对比大盘平均电流和异常电流情况,如果曲线上扬,表明可能存在问题,可以便于开发人员快速寻找到问题的原因,解决问题并更新版本,使用户有更好的体验。另外,对于新上的某些Feature,可以对比新增与否的版本,查看新增项是否对功耗有影响等。
进一步地,作为技术方案的扩展,可以根据平均最高温度/异常温升率/平均帧率/异常卡顿率/平均电流/异常功耗率进行值的预警,比如,如果展示的大盘数据中,存在某个指标触发到某个值时,可以通过邮件等方式向产品开发人员或系统管理员发出预警通知,方便产品相关人员快速查看问题,提升游戏性能问题的监控有效性。
本实施例通过上述方案,具体通过采集应用运行过程中所述应用的性能影响参数;根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;根据所述应用运行性能统计结果获得所述应用的异常性能指标;基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示;或者,将所述应用运行性能统计结果上报给服务器,由所述服务器根据所述应用运行性能统计结果获得所述应用的异常性能指标,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。通过异常性能指标展示图展示的应用(比如游戏)运行过程中的温升、卡顿、功耗等性能数据,实现对应用性能及版本进行监控,可以让产品开发人员更快的发现应用版本问题,从而解决问题,快速更新版本,也可以让开发人员更方便跟踪解决问题,让用户有更好的应用体验,提升用户黏性。
参照图6,图6为本申请应用监测方法另一示例性实施例的流程示意图。所述应用监测方法包括以下步骤:
步骤S201,接收终端上报的应用运行性能统计结果,所述应用运行性能统计结果由所述终端根据所述应用运行过程中采集的所述应用的性能影响参数统计获得;
步骤S202,根据所述应用运行性能统计结果计算获得所述应用的异常性能指标;
步骤S203,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
相比上述图2所示的实施例,本实施例从服务器侧实现对应用监测的解决方案。
具体地,服务器接收终端上报的应用运行性能统计结果,所述应用运行性能统计结果由所述终端根据所述应用运行过程中采集的所述应用的性能影响参数统计获得。
以终端为手机进行举例,手机采集应用运行过程中所述应用的性能影响参数。本实施例中,手机上运行的应用可以是游戏或者其他应用软件,以游戏为例,游戏运行性能可能会出现的问题包括:卡顿、温升、功耗等。
其中,游戏的性能影响参数可以包括:帧率、帧间隔,温度、电流等。
在游戏对局开始后,可以间隔第一预设时间采集所述游戏运行过程中的帧率、帧间隔;间隔第二预设时间采集所述游戏运行过程中的温度,间隔第三预设时间采集所述游戏运行过程中的电流,以便根据采集的这些游戏性能影响参数统计得到游戏的性能异常指标。
其中,间隔第一预设时间、第二预设时间、第三预设时间可以根据实际情况进行配置,比如在后台配置2s/次抓取游戏实时帧率、帧间隔;配置6s/次抓取游戏实时温度;配置6s/次抓取游戏实时电流。
需要说明的是,上述各参数的采集,可以在一次对局游戏中采集一个参数,也可以在一次对局游戏中同时采集多个参数。也就是说,可以一次采集游戏的一种性能影响参数,分析一种性能问题,比如单一的卡顿问题,温升问题,或者功耗问题;也可以一次采集游戏的多种性能影响参数,分析多种性能问题,比如同时分析卡顿问题、温升问题及功耗问题。
手机根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果,并上报给服务器。
服务器根据所述应用运行性能统计结果获得所述应用的异常性能指标。
其中,根据游戏运行的性能问题,对应的应用运行性能统计结果可以包括:卡顿情况、温升情况、功耗情况,对应地,游戏的异常性能指标可以包括:异常卡顿率、异常温升率、异常功耗率。
以下分三种场景分别进行阐述。
具体地,作为一种应用场景,对于游戏卡顿情况,手机采集应用运行过程中所述应用的性能影响参数,可以包括:
在游戏对局开始后,间隔第一预设时间(比如2s/次)采集所述游戏运行过程中的帧率、帧间隔;可以在游戏对局开始后,开启定时器,通过定时器定时抓取数据并缓存在本地(各个指标定时的时间,服务器可配置,方便不同机型的不同需求)。
手机根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果,可以包括:
根据采集的所述游戏运行过程中的帧间隔,统计当前对局游戏的平均帧间隔;
根据采集的所述游戏运行过程中的帧率,或者结合帧率和所述平均帧间隔,统计当前游戏对局中的帧率相关参数,所述帧率相关参数包括以下参数中的一种或多种:帧率标准差、低帧率、连续丢预设帧数以上的占比、平均帧率;
其中,连续丢预设帧数以上的占比比如可以是连续丢3帧以上占比。
连续丢3帧以上占比=连续丢3帧以上出帧的次数/总帧数。连续丢3帧以上占比越高,则表明该对局游戏越卡顿。
其中,帧率的标准差(FpsStandardDeviation)反应帧率的稳定性,帧率的标准差越大,帧率的稳定性越差。
低帧率,一般游戏有目标帧率如30/60/90等,低于目标帧率百分多少为低帧率。
作为一种实施方式,服务器可以定义连续丢3帧以上的占比/帧率标准差/低帧率(可以按机型/游戏进行动态配置)的阈值,基于该阈值判断游戏是否卡顿。
在该对局游戏结束后,可以处理采集的数据,获得对局游戏过程中帧率的标准差、连续丢3帧以上的占比、平均帧率(AvgFps)、低帧率等帧率相关参数。
具体的,根据所述帧率相关参数判断所述当前对局游戏是否出现卡顿,得到卡顿情况。具体判断方案如下:
判断所述帧率标准差、所述连续丢预设帧数以上的占比、低帧率其中之一是否大于对应的预设阈值,或者判断所述平均帧率是否小于对应的预设阈值;若是,则判定所述当前对局游戏出现卡顿,否则,判定所述当前对局游戏未出现卡顿。
手机端可以将每局游戏的卡顿情况上报给服务器,由服务器进行数据统计、筛选并展示,服务器可以支持不同机型、应用、时间等维度筛选,更精准的输出数据;在其他方式中,也可以在手机终端本地进行统计筛选展示。
作为一种实施方式,服务器根据所述卡顿情况,计算所述游戏的异常卡顿率,其中:
所述异常卡顿率=出现卡顿的游戏局数/游戏总的局数。
作为另一种应用场景,对于游戏温升情况,手机采集应用运行过程中所述应用的性能影响参数,还可以包括:
在游戏对局开始后,间隔第二预设时间(比如6s/次)采集所述游戏运行过程中的温度。
然后,手机对采集的所述游戏运行过程中的温度进行统计,判断当前对局游戏是否出现发热,得到发热情况。具体实现如下:
统计当前对局游戏在持续预设时间阈值以上的时间内,采集的温度中是否至少有一个温度超过预设温度阈值,若是,则判定所述当前对局游戏出现发热,否则,判定所述当前对局游戏未出现发热。
比如,服务器可以定义最高温度ServerMaxThermal(预设温度阈值)、连续时间2min(服务器可以根据机型、游戏等动态配置)。
其中,连续2min的意义是:如果发热后,通过系统温控策略温度降下来,用户感知不强,则本局游戏正常,即低于2min采集的数据不上报。
在当局游戏结束后,处理采集的数据,获得对局过程中,连续温度超标的最高温度MaxTheraml。
比如,在一局游戏过程中,以6s/次采集温度,在持续2min以上的时间内,采集温度大于45度的温度参数,在当局游戏结束后,选择其中温度最高的温度值,如果该温度值大于服务器定义的最高温度,则判断游戏处于发热状态,上报服务器游戏出现发热情况。在服务器统计的数据中,每一局游戏都是发热或者不发热。
然后,服务器根据发热情况,计算所述游戏的异常温升率,所述异常温升率=出现发热的游戏局数/游戏总的局数。
作为再一种应用场景,对于游戏功耗情况,手机采集应用运行过程中所述应用的性能影响参数,还可以包括:
在游戏对局开始后,间隔第三预设时间采集所述游戏运行过程中的电流。
然后,手机根据采集的所述游戏运行过程中的电流,计算得到当前对局游戏的平均电流;
根据所述平均电流,判断所述当前对局游戏是否出现功耗异常,得到功耗异常情况。具体方案如下:
判断所述平均电流是否大于预设电流阈值,若是,则判定所述当前对局游戏出现功耗异常,否则,判定所述当前对局游戏未出现功耗异常。
比如,服务器可以定义最高电流ServerMaxCurrent(服务器可以根据机型、游戏等动态配置)。
在当局游戏结束后,处理采集的数据,获得对局过程中开始电流StartBatteryRemain,结束温度EndBatteryRemain,计算一局游戏的平均电流Current=(EndBatteryRemain-StartBatteryRemain)/timeUseage(游戏时长)。
也可以通过采集的多个电流计算平均电流。
其中,如果游戏过程中充电,则本局游戏功耗不上传,丢弃,这是考虑到充电数据可能不准确。
然后,服务器根据功耗异常情况,计算所述游戏的异常功耗率,其中:
所述异常功耗率=出现功耗异常的游戏局数/游戏总的局数。
之后,服务器基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
具体地,对于卡顿情况,作为一种实施方式,可以在服务器上,基于所述异常卡顿率,绘制所述应用在预设时间段的异常卡顿率随时间变化的曲线图并展示,如图3所示,进一步地,可以基于所述异常卡顿率并结合所述平均帧率,绘制所述应用在预设时间段的异常卡顿率及平均帧率随时间变化的曲线图并展示,也可以单独展示平均帧率随时间变化的曲线图。
如图3所示,通过展示的曲线图,可以大盘查看用户游戏过程中卡顿情况,平均帧率情况。
相比现有技术,其优点在于:可以对于游戏的不同版本,对比看大盘卡顿情况,如果某个版本存在问题,则可以快速发现,从而可以快速解决问题。此外,对于手机不同游戏版本,可以对比大盘卡顿情况,如果曲线上扬,表明可能存在问题,可以便于开发人员快速寻找到问题的原因,解决问题并更新版本,使用户有更好的体验。另外,对于高帧率游戏,比如90帧,可以通过大盘查看用户平均帧率的情况,及时处理问题;而对于新上的某些Feature,可以对比新增与否的版本,查看新增项是否对卡顿有影响等。
对于温升情况,作为一种实施方式,可以在服务器上,基于所述异常温升率,绘制所述应用在预设时间段的异常温升率随时间变化的曲线图并展示,或基于所述异常温升率并结合平均最高温度,绘制所述应用在预设时间段的异常温升率及平均最高温度随时间变化的曲线图并展示,如图4所示。
如图4所示可以大盘查看用户游戏过程中发热情况、平均最高温度情况。
相比现有技术,其优点在于:可以对于游戏的不同版本,对比看大盘平均最高温度以及异常温升的情况,如果某个版本存在问题,则可以快速发现,从而可以快速解决问题。此外,对于手机不同游戏版本,可以对比大盘温度情况,如果曲线上扬,表明可能存在问题,可以便于开发人员快速寻找到问题的原因,解决问题并更新版本,使用户有更好的体验。另外,对于新上的某些Feature,可以对比新增与否的版本,查看新增项是否对温升有影响等。
对于功耗情况,作为一种实施方式,可以在服务器上,基于所述异常功耗率,绘制所述应用在预设时间段的异常功耗率随时间变化的曲线图并展示,或基于所述异常功耗率并结合平均电流,绘制所述应用在预设时间段的异常功耗率及平均电流随时间变化的曲线图并展示,如图5所示。
如图5所示,,可以大盘查看用户游戏过程中功耗情况、平均电流的情况。
相比现有技术,其优点在于:可以对于游戏的不同版本,对比看大盘平均电流情况的情况,如果某个版本存在问题,则可以快速发现,从而可以快速解决问题。此外,对于手机不同游戏版本,可以对比大盘平均电流和异常电流情况,如果曲线上扬,表明可能存在问题,可以便于开发人员快速寻找到问题的原因,解决问题并更新版本,使用户有更好的体验。另外,对于新上的某些Feature,可以对比新增与否的版本,查看新增项是否对功耗有影响等。
进一步地,作为技术方案的扩展,可以根据平均最高温度/异常温升率/平均帧率/异常卡顿率/平均电流/异常功耗率进行值的预警,比如,如果展示的大盘数据中,存在某个指标触发到某个值时,可以通过邮件等方式向产品开发人员或系统管理员发出预警通知,方便产品相关人员快速查看问题,提升游戏性能问题的监控有效性。
本实施例通过上述方案,具体通过接收终端上报的应用运行性能统计结果,所述应用运行性能统计结果由所述终端根据所述应用运行过程中采集的所述应用的性能影响参数统计获得;根据所述应用运行性能统计结果计算获得所述应用的异常性能指标;基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。通过异常性能指标展示图展示的应用(比如游戏)运行过程中的温升、卡顿、功耗等性能数据,实现对应用性能及版本进行监控,可以让产品开发人员更快的发现应用版本问题,从而解决问题,快速更新版本,也可以让开发人员更方便跟踪解决问题,让用户有更好的应用体验,提升用户黏性。
参照图7,图7为本申请应用监测方法再一示例性实施例的流程示意图,所述应用监测方法包括以下步骤:
步骤S301,接收终端上报的应用运行过程中所述应用的性能影响参数;
步骤S302,根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;
步骤S303,根据所述应用运行性能统计结果获得所述应用的异常性能指标;
步骤S304,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
相比上述图6所示的实施例,本实施例中,服务器接收终端上报的应用运行过程中所述应用的性能影响参数,根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果,即应用的应用运行性能统计结果由服务器侧完成,其他与上述实施例相似,详细实现过程,请参照上述各实施例,在此不再赘述。
本实施例通过上述方案,具体通过接收终端上报的应用运行过程中所述应用的性能影响参数;根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;根据所述应用运行性能统计结果获得所述应用的异常性能指标;基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。通过异常性能指标展示图展示的应用(比如游戏)运行过程中的温升、卡顿、功耗等性能数据,实现对应用性能及版本进行监控,可以让产品开发人员更快的发现应用版本问题,从而解决问题,快速更新版本,也可以让开发人员更方便跟踪解决问题,让用户有更好的应用体验,提升用户黏性。
此外,本申请实施例还提出一种应用监测装置,所述应用监测装置包括:
采集模块,用于采集应用运行过程中所述应用的性能影响参数;
统计模块,用于根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;
获取模块,用于根据所述应用运行性能统计结果获得所述应用的异常性能指标;
展示模块,用于基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示;或者,将所述应用运行性能统计结果上报给服务器,由所述服务器根据所述应用运行性能统计结果获得所述应用的异常性能指标,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
本实施例实现应用监测的原理及实施过程,请参照上述各实施例,在此不再赘述。
此外,本申请实施例还提出一种应用监测装置,所述应用监测装置包括:
接收模块,用于接收终端上报的应用运行性能统计结果,所述应用运行性能统计结果由所述终端根据所述应用运行过程中采集的所述应用的性能影响参数统计获得;
计算模块,用于根据所述应用运行性能统计结果计算获得所述应用的异常性能指标;
绘制展示模块,用于基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
本实施例实现应用监测的原理及实施过程,请参照上述各实施例,在此不再赘述。
此外,本申请实施例还提出一种应用监测装置,所述应用监测装置包括:
参数接收模块,用于接收终端上报的应用运行过程中所述应用的性能影响参数;
统计模块,用于根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;
计算模块,用于根据所述应用运行性能统计结果获得所述应用的异常性能指标;
展示模块,用于基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
本实施例实现应用监测的原理及实施过程,请参照上述各实施例,在此不再赘述。
此外,本申请实施例还提出一种应用监测系统,包括:终端和与所述终端网络通讯连接的服务器,其中:
所述终端,用于采集应用运行过程中所述应用的性能影响参数;根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;
所述服务器,用于接收所述终端上报的所述应用运行性能统计结果,根据所述应用运行性能统计结果获得所述应用的异常性能指标,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。
由于本应用监测程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的应用监测程序,所述应用监测程序被所述处理器执行时实现如上述各实施例所述的应用监测方法的步骤。
由于本应用监测程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有应用监测程序,所述应用监测程序被处理器执行时实现如上述各实施例所述的应用监测方法的步骤。
由于本应用监测程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
相比现有技术,本申请实施例提出的应用监测方法、装置、系统、终端设备及存储介质,通过采集应用运行过程中所述应用的性能影响参数;根据所述应用的性能影响参数,统计获得所述应用的应用运行性能统计结果;根据所述应用运行性能统计结果获得所述应用的异常性能指标;基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示;或者,将所述应用运行性能统计结果上报给服务器,由所述服务器根据所述应用运行性能统计结果获得所述应用的异常性能指标,基于所述异常性能指标,绘制所述应用在预设时间段的异常性能指标展示图并展示。通过异常性能指标展示图展示的应用(比如游戏)运行过程中的温升、卡顿、功耗等性能数据,实现对应用性能及版本进行监控,可以让产品开发人员更快的发现应用版本问题,从而解决问题,快速更新版本,也可以让开发人员更方便跟踪解决问题,让用户有更好的应用体验,提升用户黏性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
- 应用监测方法、装置、系统、终端设备及存储介质
- 系统监测方法、装置、终端设备及存储介质