一种性能分析方法、装置、服务器及存储介质与流程

文档序号:18524813发布日期:2019-08-24 10:08阅读:156来源:国知局
一种性能分析方法、装置、服务器及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种性能分析方法、装置、服务器及存储介质。



背景技术:

随着计算机技术的发展,各类应用程序应运而生,为了确定服务器连接应用程序时的运行性能,需要对服务器的运行性能进行测试,例如对服务器连接应用程序运行时的响应耗时、内存占用情况进行测试等。

当前对服务器连接应用程序时的性能测试,主要采用手动测试的方法,例如,在对服务器连接游戏应用进行测试时,可邀请一定数量的游戏用户试用该游戏应用,从而得到服务器连接游戏应用的公测数据,基于该公测数据,可找出导致服务器连接游戏应用时,该服务器出现卡顿的原因,即确定该服务器连接游戏应用时,该服务器的性能,而这种邀请测试用户对应用程序进行试用,以获取公测数据从而对服务器进行测试的方法,降低了服务器连接应用程序时,对该服务器的性能分析效率。



技术实现要素:

本发明实施例提供了一种性能分析方法、装置、服务器及存储介质,能够有效提高服务器连接应用程序时,对服务器性能指标的分析效率。

一方面,本发明实施例提供了一种性能分析方法,所述方法包括:

向用户终端发送图像运行数据,所述图像运行数据包括:在连接图像应用的过程中,在目标监测时段内生成的各帧图像对应的帧率信息;

接收所述用户终端发送的性能查看指令,并确定所述性能查看指令选择的目标图像帧,所述性能查看指令是在所述用户终端的用户界面上显示包括帧率信息的所述图像运行数据后,在用户界面上接收到用户操作时生成的;

根据所述目标图像帧,从目标监测文件中确定被监控服务器连接所述图像应用生成所述目标图像帧时的指示信息,并将所述指示信息发送到所述用户终端;其中,所述指示信息用于表示所述被监控服务器的逻辑性能,所述指示信息包括:在所述目标监测文件中记录的函数调用信息,所述图像应用在所述目标监测时段内生成的每一帧图像对应有一组函数调用信息。

另一方面,本发明实施例提供了一种性能分析装置,所述装置包括:

发送单元,用于向用户终端发送图像运行数据,所述图像运行数据包括:在连接图像应用的过程中,在目标监测时段内生成的各帧图像对应的帧率信息;

接收单元,用于接收所述用户终端发送的性能查看指令,并确定所述性能查看指令选择的目标图像帧,所述性能查看指令是在所述用户终端的用户界面上显示包括帧率信息的所述图像运行数据后,在用户界面上接收到用户操作时生成的;

确定单元,用于根据所述目标图像帧,从目标监测文件中确定被监控服务器连接所述图像应用生成所述目标图像帧时的指示信息,并将所述指示信息发送到所述用户终端;其中,所述指示信息用于表示所述被监控服务器的逻辑性能,所述指示信息包括:在所述目标监测文件中记录的函数调用信息,所述图像应用在所述目标监测时段内生成的每一帧图像对应有一组函数调用信息。

再一方面,本发明实施例提供了一种服务器,包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口相互连接,其中,所述存储器用于存储计算机程序指令,所述处理器被配置用于执行所述程序指令,执行如下步骤:

向用户终端发送图像运行数据,所述图像运行数据包括:在连接图像应用的过程中,在目标监测时段内生成的各帧图像对应的帧率信息;

接收所述用户终端发送的性能查看指令,并确定所述性能查看指令选择的目标图像帧,所述性能查看指令是在所述用户终端的用户界面上显示包括帧率信息的所述图像运行数据后,在用户界面上接收到用户操作时生成的;

根据目标图像帧,从目标监测文件中确定被监控服务器连接所述图像应用生成所述目标图像帧时,用于表示所述被监控服务器的逻辑性能的指示信息,并将所述指示信息发送到所述用户终端;其中,所述指示信息包括:在所述目标监测文件中记录的函数调用信息,所述图像应用在所述目标监测时段内生成的每一帧图像对应有一组函数调用信息。

再一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。

在本发明实施例中,分析服务器在接收到用户终端发送的性能查看指令时,可基于在用户界面显示的帧率信息,确定该性能查看指令选择的目标图像帧,从而可基于确定的目标图像帧,从目标监测文件中获取用于表示被监控服务器在连接图像应用生成目标图像帧时,表示该被监控服务器逻辑性能的指示信息,并可将该指示信息显示在用户界面中,以反映该被监控服务器在连接图像应用时的性能。由于分析服务器直观地将被监控服务器连接图像应用时的图像运行数据,以及连接图像应用生成目标图像帧时的指示信息展示到了用户界面,基于分析服务器对被监控服务器的性能分析结果的直观展示,增强了对被监控服务器的性能分析结果的可读性,而且基于在用户界面直接展示的表示该被监控服务器的指示信息,使得不需要技术人员人工地对测试数据进行二次分析,而是可直接基于展示的指示信息确定出被监控服务器的性能,有效提升了被监控服务器在连接图像应用生成各帧图像时,对所述被监控服务器的性能进行分析的效率。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本发明实施例提供的一种性能分析系统的示意性框图;

图1b是本发明实施例提供的一种性能分析系统的数据交换流程示意图;

图2是本发明实施例提供的一种性能分析方法的流程示意图;

图3a是本发明实施例提供的一种图像运行数据的界面示意图;

图3b是本发明实施例提供的一种输出指示信息的界面示意图;

图3c是本发明实施例提供的一种展开函数的调用性能参数的界面示意图;

图3d是本发明实施例提供的一种函数的平均耗时的界面示意图;

图3e是本发明实施例提供的一种组合分析的界面示意图;

图3f是本发明实施例提供的一种函数异常分析的界面示意图;

图4是本发明另一实施例提供的一种性能分析方法的流程示意图;

图5a是本发明实施例提供的一种被监控服务器生成函数统计文件的流程示意图;

图5b是本发明实施例提供的一种被监控服务器推送函数统计文件和日志文件的流程示意图;

图6a是本发明实施例提供的一种性能概述界面的界面示意图;

图6b是本发明实施例提供的一种性能日流水查看搜索界面的界面示意图;

图6c是本发明实施例提供的一种上报监测文件的数量随日期的变化曲线的界面示意图;

图6d是本发明实施例提供的一种目标线程耗时数据随日期的变化曲线的界面示意图;

图6e是本发明实施例提供的一种内存随日期变化的曲线的界面示意图;

图6f是本发明实施例提供的一种目标线程耗时随游戏内真人玩家数量的变化曲线的界面示意图;

图6g是本发明实施例提供的一种服务器性能随日期的变化曲线的界面示意图;

图7a是本发明实施例提供的一种版本分析概述的界面示意图;

图7b是本发明实施例提供的一种上报监测文件的数量随版本的变化曲线的界面示意图;

图7c是本发明实施例提供的一种目标线程耗时数据随版本的变化趋势的界面示意图;

图7d是本发明实施例提供的一种内存随版本的变化趋势的界面示意图;

图8a是本发明实施例提供的一种基于场景分析指标下的分析信息的界面示意图;

图8b是本发明实施例提供的一种告警列表的界面示意图;

图8c是本发明实施例提供的一种用户界面的日志文件显示区域的界面示意图;

图8d是本发明实施例提供的一种将基线文件和对比文件进行对比的界面示意图;

图9是本发明实施例提供的一种性能分析装置的示意性框图;

图10是本发明实施例提供的一种服务器的示意性框图。

具体实施方式

在应用程序(如游戏应用等图像应用)运行过程中,会通过运行该应用程序的用户终端连接到被监控服务器,并与该服务器进行数据交互,如在运行游戏应用时,可通过运行该游戏应用的客户端实现和被监控服务器之间的游戏数据交互。所以,在应用程序连接到被监控服务器时,可对被监控服务器的性能进行监控和分析。具体地,分析服务器可在被监控服务器连接图像应用的过程中,将所述图像应用在目标监测时段内生成的各帧图像对应的帧率信息发送到用户终端,从而可在所述用户终端的用户界面中进行显示。其中,所述用户终端是和所述分析服务器建立通信连接的终端,例如可以是移动终端或者是个人计算机(personalcomputer,pc)端等,如果接收到用户终端发送的性能查看指令,则可基于该性能查看指令选择的目标图像帧,从目标监测文件中确定该被监控服务器在指示所述图像应用生成该目标图像帧时的逻辑性能的指示信息,从而可将该指示信息发送到用户终端,基于在用户终端展示的指示信息,用户可直接确定被监控服务器的性能。

用户终端在接收到指示信息后,可将该指示信息包括的被监控服务器连接图像应用生成该目标图像帧的过程中,对函数的调用信息展示到用户界面,在用户界面展示的函数调用信息包括:被监控服务器连接图像应用时,生成该目标图像帧所调用函数的函数名,以及所述函数名对应的调用性能参数,其中,该调用性能参数具体包括:调用耗时,耗时占用比以及调用次数等。用户基于在用户界面展示的调用性能参数,可直接确定被监控服务器连接图像应用的过程中,所述被监控服务器的运行性能,有效提升了对被监控服务器运行图像应用时性能分析效率,而且由于不再需要技术人员人工地对性能参数进行二次分析,有效降低了对被监控服务器进行性能分析的成本。

本发明实施例提出的性能分析方法可应用在如图1a所示的性能分析系统中,在一个实施例中,所述性能分析系统包括:被监控服务器10,分析服务器11,解析服务器12以及用户终端13。在一个实施例中,所述被监控服务器10例如可以是独立服务器(dedicatedserver,ds),在本发明实施例中,以ds服务器是游戏服务器为例进行详细说明,在所述ds服务器为其他服务器时,可参见本申请的具体实施方式。其中,被监控服务器10在应用程序连接运行时,可对自身中央处理器(centralprocessingunit,cpu)的性能进行监听,从而可基于对cpu的监听触发监测文件的录制。进一步地,可将录制得到的监测文件发送到所述分析服务器11,使得分析服务器11可基于接收到的监测文件确定所述被监控服务器10在图像应用连接运行的过程中,该被监控服务器的运行性能。

分析服务器11、被监控服务器10以及解析服务器12分别建立有通信连接,所述分析服务器11通过检测所述被监控服务器10录制上传的监测文件的文件状态,确定处于未解析状态的监测文件,并将所述处于未解析状态的监测文件发送到解析服务器12。进一步地,可获取所述解析服务器12对未解析的监测文件进行解析后的解析文件,从而可基于用户在用户终端13中输入的性能查看指令,将解析后的监测文件(即解析文件)的相关信息在所述用户终端13的显示界面中进行展示。在一个实施例中,所述分析服务器11和被监控服务器10以及解析服务器12之间的通信连接,例如可以是通过套接字(socket)建立的连接,所述分析服务器11在接收到所述解析服务器12解析得到监测文件的相关信息后,可将该解析得到的监测文件的相关信息进行本地存储,也可将该解析文件存储在其他存储系统中。

在一个实施例中,为了减轻分析服务器11的数据存储压力,可外接一个或多个存储系统,该存储系统例如可以是关系型数据库管理系统(mysql),也可以是远程字典服务器(remotedictionaryserver,redis)支持的存储系统,该外接的存储系统、分析服务器和解析服务器之间的数据交换过程可如图1b所示。分析服务器和解析服务器之间,以及分析服务器和存储系统之间,均可通过socket建立连接,可确定被监控服务器上传的监测文件中,处于未解析状态的监测文件,从而可将处于未解析状态的监测文件的文件信息存储到存储系统中,其中,该文件信息包括被监控服务器上传该检测文件的时间信息等。

进一步地,可对该处于未解析状态的监测文件包括的日志文件进行解析,从而得到日志信息,并将该日志信息存储到存储系统中,在一个实施例中,分析服务器在将文件信息和日志信息进行存储时,可存储在同一存储系统中,也可存储在不同存储系统中,在分析服务器通过特定接口获取到被监控服务器的服务器信息后,可将该服务器信息也存储到存储系统中,其中,该服务器信息包括该被监控服务器的机型等,从而可将该未解析的监测文件包括的函数统计文件发送到解析服务器,以便于解析服务器对该函数统计文件解析得到被监控服务器对函数的调用信息。

在一个实施例中,所述解析服务器12中部署有对未解析的监测文件进行解析的解析工具,所述解析工具例如可以是优化的虚拟前端(unrealfrontend,ufe),所述用户终端13用于接收用户输入的性能查看指令,分析服务器11可基于所述性能查看指令在用户终端13中展示所述分析服务器11接收的解析得到的监测文件的相关信息,其中,所述用户终端13可以是移动终端,也可以是个人电脑(personalcomputer,pc)端,所述用户终端13和运行图像应用的客户端可以是同一终端,也可以是不同终端。

本发明实施例提出的一种针对被监控服务器的性能分析方法,可应用于上述的分析系统,在一个实施例中,所述性能分析方法主要用于分析上述系统中的被监控服务器10,在所述被监控服务器10在图像应用连接运行的过程中,可对所述被监控服务器的运行性能进行分析。由于被监控服务器会调用相应的函数,以保证该图像应用生成各帧图像,所以,在分析该被监控服务器10连接图像应用时的性能时,可基于该被监控服务器10连接所述图像应用运行过程中,检测到该被监控服务器10出现性能故障时录制的监测文件进行,该录制的监测文件记录了该被监控服务器连接图像应用过程中,所述被监控服务器出现性能故障时对函数的调用信息。

被监控服务器10在收集得到监测文件后,可将所述监测文件发送到分析服务器11,以便于分析服务器11基于接收到的监测文件分析所述被监控服务器10的性能,在分析服务器11接收到用户在用户终端13的显示界面中输入的性能查看指令时,可将对被监控服务器10的性能分析结果展示到用户界面上,从而实现对性能分析结果的直观展示。

在一个实施例中,在用户界面中展示的性能分析结果例如可以是函数的调用信息等,所以用户可基于展示的性能分析结果,直接确定出被监控服务器10在连接图像应用的过程中,所述被监控服务器10出现性能故障的原因,导致该被监控服务器10出现性能故障例如可以是函数调用信息中函数调用耗时、调用耗时占比或者调用次数中的一项或多项导致,从而可确定该图像应用在运行过程中,导致该被监控服务器10发生卡顿或者长时间延迟的函数,使用户可基于确定的导致被监控服务器10卡顿的函数,确定对被监控服务器10的函数调用进行优化的方案,从而可实现对被监控服务器10在连接图像应用时的性能优化。

本发明实施例提出的对服务器性能的分析方法,由于能将被监控服务器发生性能故障时对函数的调用信息展示到用户界面上,使得用户可通过用户界面快速确定出被监控服务器连接图像应用时的运行性能,提升了对被监控服务器的性能进行分析的效率。此外,由于在用户界面直观地展示了被监控服务器在运行图像应用过程中,对函数的调用信息,增强了对被监控服务器进行性能分析时数据的可读性,而且,基于显示的函数调用信息,用户可直接确定出影响被监控服务器连接图像应用性能的函数,也可在一定程度上降低对被监控服务器的性能分析成本。

请参见图2,是本发明实施例提出的一种性能分析方法的示意流程图,该方法可应用于上述的性能分析系统,具体可应用于所述性能分析系统的分析服务器11中,如图2所示,该方法包括:

s201,向用户终端发送图像运行数据。

在一个实施例中,所述图像运行数据包括:被监控服务器在连接图像应用的过程中,在目标监测时段内生成的各帧图像对应的帧率信息,所述帧率信息是根据图像应用每渲染(或生成)一帧图像的耗时计算得到的。在一个实施例中,所述图像应用在运行过程中是在连接到被监控服务器,且具有图像渲染功能的应用程序,该图像应用例如可以是游戏应用或者视频应用等,对应的该游戏应用具有的对图像的渲染功能例如是对游戏地图或者游戏人物图像的渲染功能,视频应用具有的对图像的渲染功能例如是对视频画面的渲染功能。

在本发明实施例中,以所述被监控服务器连接的应用程序为游戏应用为例,对被监控服务器连接图像应用时的性能分析进行具体说明,在该被监控服务器连接的应用程序为其他应用程序时,可参见本实施的实施方式。在一个实施例中,该目标监测时段是基于所述被监控服务器连接图像应用发生数据交换,所述被监控服务器发生性能故障的时间点确定的,该性能故障包括卡顿故障,该目标监测时段是从该被监控服务器发生性能故障的时间点作为计时起始点的时间段。

在一个实施例中,所述分析服务器可先获取图像运行数据,并在获取到该图像运行数据后,将所述图像运行数据发送到用户终端,使得所述用户终端可在对应的显示界面(用户界面)中进行展示。其中,可将所述图像运行数据包括的帧率信息展示到用户终端,所述用户终端可将所述图像运行数据包括的帧率信息展示在如图3a所示用户界面中,所述分析服务器在将所述图像运行数据包括的帧率信息发送到用户终端的同时,还可将被监控服务器连接图像应用时,该被监控服务器目标线程的耗时曲线和生成每个帧对应的耗时(帧时间)展示到所述用户界面中,在一个实施例中,在所述图像应用为游戏应用时,所述目标线程可以是游戏线程(gamethread)。

在一个实施例中,分析服务器在将所述包括帧率信息的图像运行数据发送到用户终端,并将所述图像运行数据展示到用户界面后,可执行步骤s202。

s202,接收所述用户终端发送的性能查看指令,并确定所述性能查看指令选择的目标图像帧。

在一个实施例中,所述性能查看指令是在所述用户终端的用户界面上显示包括帧率信息的所述图像运行数据后,在用户界面上接收到用户操作时生成的,分析服务器可确定所述用户操作在所述图像运行数据上作用的焦点,从而可根据所述焦点,确定用户选择的目标图像帧。

分析服务器在将图像运行数据发送到用户终端,并展示到用户界面后,用户可基于在用户界面展示的帧率信息,发出所述被监控服务器在连接图像应用生成图像帧时,对该被监控服务器生成该图像帧时的性能查看指令,例如,用户可通过点击用户界面展示的图像运行数据中的帧率变化曲线的任一点,发出被监控服务器在连接图像应用生成该任一点对应图像帧时,所述被监控服务器的性能查看指令,所以,当所述分析服务器接收到用户发送的性能查看指令时,可基于所述性能查看指令,确定选择的目标图像帧。

如图3a所示,当用户点击波谷a点时,则发出被监控服务器在运行图像应用生成a点对应图像帧时的性能查看指令,在一个实施例中,所述用户还可基于在用户界面展示的目标线程耗时和帧时间,发出被监控服务器在连接图像应用生成目标图像帧时的性能查看指令,其中,用户可将所述目标线程耗时和/或帧时间大于或等于预设耗时阈值的点对应的图像帧作为目标图像帧,并发出被监控服务器在连接该图像应用生成该目标图像帧时的性能查看指令,在一个实施例中,所述预设耗时阈值例如可以是图3a中虚线指示的400毫秒(ms),所以当分析服务器接收到用户点击a点的性能查看指令时,可基于该性能查看指令确定目标图像帧为a点对应的图像帧。

在确定所述性能查看指令选择的目标图像帧后,可根据所述目标监测文件确定图像应用在生成目标图像帧时的逻辑性能的指示信息,从而可执行步骤s203。在一个实施例中,所述目标监测文件是所述被监控服务器在连接图像应用的过程中,检测到服务信息满足录制条件时录制生成的,所述服务信息包括:内存占用数据,所述服务资源满足录制条件是指:所述内存占用数据所指示的值大于或等于预设的占用阈值,或所述内存占用数据所指示的值大于或等于所述占用阈值的次数超过预设次数阈值,所述内存占用数据是指被监控服务器在连接图像应用的过程中cpu的内存占用量或者内存占比大小。

s203,根据目标图像帧,从目标监测文件中确定被监控服务器连接所述图像应用生成所述目标图像帧时的指示信息,并将所述指示信息发送到所述用户终端。

在一个实施例中,所述指示信息用于表示所述被监控服务器的逻辑性能,所述目标监测文件记录了被监控服务器在所述目标监测时段内连接图像应用生成各帧图像时,对函数的调用信息,所述图像应用在所述目标监测时段内生成的每一帧图像对应有一组函数调用信息。所述函数调用信息包括:被监控服务器在连接所述图像应用生成所述目标图像帧时,所述被监控服务器所调用函数的函数名,以及所述函数名对应的调用性能参数,所述调用性能参数包括:各调用函数对应的调用耗时、调用耗时占用比以及调用次数中的一项或多项。所述目标监测文件中记录的函数调用信息用于指示所述被监控服务器连接图像应用生成目标图像帧时的逻辑性能,所以,基于所述被监控服务器在连接图像应用生成所述目标图像帧时对函数的调用情况,可确定被监控服务器在连接图像应用生成目标图像帧时,所述被监控服务器的逻辑性能。

在一个实施例中,如果在用户界面展示的图像运行数据如图3a所示,可在如图3a所示的用户界面中的图像运行数据的下部展示所述被监控服务器在连接图像应用生成所述目标图像帧时,所述被监控服务器的逻辑性能的指示信息。如果所述性能查看指令选择的目标图像帧为如图3a所示的a点所指示的图像帧,则在响应所述性能查看指令后,可在所述图像运行数据的下部输出对应的用于指示所述被监控服务器的逻辑性能的指示信息,其中,输出所述指示信息后的用户界面可如图3b所示,输出的指示信息包括函数调用信息,所述函数调用信息可在如图3b所示的函数调用关系表中输出。

在所述用户界面的函数调用关系表中展示用于表示所述被监控服务器在连接图像应用生成所述目标图像帧时对函数的调用情况后,可接收针对所述函数调用关系表中目标函数的查看指令,其中,所述目标函数可以是所述函数调用关系表中的任一函数,分析服务器接收到的对函数调用关系表中目标函数的查看指令,例如可以是对如图3b所示的函数调用关系表中目标函数对应名称的点击指令,响应于对所述目标函数的查看指令,可展示该目标函数在全局范围内的调用性能参数,所述全局范围内的调用性能参数包括:所述目标函数在全局范围内的平均耗时和每帧耗时,例如,若基于如图3b所示的函数调用关系表,接收到针对所述函数调用关系表中函数a的点击指令,则可展开所述函数a在全局范围内的调用性能参数,基于函数a展开的在全局范围内的调用性能参数如图3c所示。

在一个实施例中,在如图3b所示的用户界面中,若接收到对所述用户界面中平均耗时选项的选择指令,可在如图3d的用户界面中展示所述目标监测文件中所有函数的全局平均耗时和平均调用次数。

在一个实施例中,在如图3b所示的用户界面中,若接收到对所述用户界面中组合分析选项的选择指令,可在如图3e的用户界面中展示预先设置的关注函数组合的名称和各组下关注的函数,每组关注函数用于表示一个关注模块,其中,每组关注函数中可包含多个函数,用户可通过点击输出的关注函数组中的查看按钮30,查看该组关注函数(即该模块)下所有函数进行图像渲染时的函数调用性能参数,如查看该组关注函数下的所有函数进行图像渲染时的耗时趋势,此外,用户还可通过点击修改按钮31对关注函数组中的函数名称进行修改。

在一个实施例中,在如图3b所示的用户界面中,若接收到对所述用户界面中函数异常分析选项的选择指令,可在如图3f的用户界面中输出用于获取用户输入的函数树的深度筛选界面,并基于用户在所述筛选界面输入的筛选深度确定输出目标线程的函数树的深度,从而可根据所述函数树的深度输出目标线程中耗时最高的一个或多个函数,以及每个函数对应在所有帧中出现的次数、平均调用次数以及平均耗时。进一步地,若接收到针对查看调用路径的选择指令,可将该函数在函数树中的调用过程展示在用户界面上,在一个实施例中,所述目标线程包括gamethread和传递线程(renderthread)中的一种或多种。

例如,假设用户在函数树的深度筛选界面中输入的深度为x,则根据所述筛选深度x从目标线程中筛选出耗时最高的8个函数,并将该8个函数在所有帧中的平均耗时、平均调用次数和出现次数展示到用户界面,如果接收到针对函数2的查看调用路径的选择指令,则可将第m帧在函数2中的调用过程显示在用户界面上。

在本发明实施例中,分析服务器在接收到用户终端发送的性能查看指令时,可基于在用户界面显示的帧率信息,确定该性能查看指令选择的目标图像帧,从而可基于确定的目标图像帧,从目标监测文件中获取用于表示被监控服务器在连接图像应用生成目标图像帧时,表示该被监控服务器逻辑性能的指示信息,并可将该指示信息显示在用户界面中,以反映该被监控服务器在连接图像应用时的性能。由于分析服务器直观地将被监控服务器连接图像应用时的图像运行数据,以及连接图像应用生成目标图像帧时的指示信息展示到了用户界面,基于分析服务器对被监控服务器的性能分析结果的直观展示,增强了对被监控服务器的性能分析结果的可读性,而且基于在用户界面直接展示的表示该被监控服务器的指示信息,使得不需要技术人员人工地对测试数据进行二次分析,而是可直接基于展示的指示信息确定出被监控服务器的性能,有效提升了被监控服务器在连接图像应用生成各帧图像时,对所述被监控服务器的性能进行分析的效率。

请参见图4,是本发明另一实施例提出的一种性能分析方法的示意流程图,如图4所示,该方法包括:

s401,被监控服务器生成函数统计文件,并将所述函数统计文件和所述函数统计文件对应的日志文件发送到分析服务器。

s402,所述分析服务器接收到所述函数统计文件和所述对应的日志文件后,将所述函数统计文件和所述对应的日志文件关联为监测文件。

在步骤s401-步骤s402中,所述被监控服务器可对自身的服务器性能进行监控,在对所述服务器性能进行监控时,主要是对所述被监控服务器连接图像应用时,对所述被监控服务器cpu的监控,从而可确定所述被监控服务器cpu的内存占用量(或内存占比)。进一步地,可确定所述被监控服务器cpu的内存占用量是否超过预设占用量阈值,并基于所述被监控服务器cpu的内存占用量超过所述预设占用量阈值的次数,触发对函数调用情况的录制,在一个实施例中,在所述被监控服务器确定自身cpu的内存占用量大于或等于预设次数阈值时,可触发录制对函数的调用情况,从而生成函数统计文件(statsfile)。

所述被监控服务器录制生成所述函数统计文件时,可参见图5a所示的流程示意图,具体包括步骤:

s11,初始化被监控服务器cpu的内存占比大于或等于预设内存占比阈值的超过次数n;

s12,计算第一时间范围内cpu的内存占比,并确定处于所述第一时间范围内的所述内存占比是否大于或等于所述预设内存占比阈值p;

s13,若是,则更新所述超过次数n,并在所述超过次数n大于或等于预设次数阈值时,录制生成函数统计文件。

在步骤s11-s13中,所述被监控服务器可按照预设的时间间隔对服务器cpu的内存占比大于或等于预设内存占比阈值的超过次数进行初始化,也可以在录制生成一个函数统计文件后,自动对所述超过次数进行初始化,在一个实施例中,初始化是指将cpu的内存占比大于或等于预设内存占比阈值的超过次数置0,即使cpu的内存占比大于或等于预设内存占比阈值的超过次数n=0。

在初始化被监控服务器cpu的内存占比大于或等于预设内存占比阈值的超过次数后,可对所述被监控服务器cpu的内存占用情况进行监控,并计算处于第一时间范围内cpu的内存占比,所述第一时间范围例如可以是10秒。所述被监控服务器cpu的内存占用情况,可表示所述被监控服务器连接图像应用生成各帧图像的能力,具体地,可由所述被监控服务器连接所述图像应用生成每个图像帧的时间表示,其中,处于第一时间范围内cpu的内存占比=当前帧时间/期望帧时间,其中,当前帧时间是指被监控服务器连接图像应用生成每个帧所需的时间,期望帧时间是指预设的所述被监控服务器连接所述图像应用生成每个帧的时间。

在计算所述被监控服务器在第一时间范围内cpu的内存占比后,如果确定cpu的内存占比大于或等于预设内存占比阈值,则对所述超过次数进行更新,具体地,可基于所述内存占比大于或等于预设内存占比阈值的次数,对所述超过次数进行更新,并在所述超过次数大于或等于预设次数阈值时,触发录制一定时间范围的函数统计文件,也就是说,在所述超过次数大于或等于所述预设次数阈值时,可从当前时间开始录制服务器在第二时间范围内对函数的调用信息,并基于对函数的调用信息生成函数统计文件。在一个实施例中,所述第二时间范围例如可以是10分钟。

所述被监控服务器在生成函数统计文件后,可确定生成所述函数统计文件过程对应的日志文件(logfile),并将所述生成的函数统计文件和对应的日志文件推送到分析服务器,所述被监控服务器在将所述函数统计文件和对应的日志文件推送到分析服务器的流程示意图可如图5b所示,具体包括步骤:

s21,检测在第三时间范围内是否生成新的函数统计文件;

s22,若是,则获取所述新的函数统计文件对应的日志文件,并将所述函数统计文件和所述对应的日志文件推送到分析服务器。

在步骤s21-步骤s22中,所述第三时间范围例如可以是5分钟,如果所述服务器在所述第三时间范围内未检测到新的函数统计文件,则在下一个第三时间范围到达时,检测是否生成新的函数统计文件。

s403,若检测到所述目标监测文件中包括的函数统计文件为未解析的文件,则分析服务器将所述函数统计文件发送到解析服务器,并解析所述目标监测文件中的日志文件。

在一个实施例中,所述目标监测文件记录了:被监控服务器在目标监测时段内连接图像应用生成各帧图像时的函数调用信息,所述目标监测文件记录的函数调用信息,可表示在所述被监控服务器连接图像应用生成目标图像帧时,所述被监控服务器的逻辑性能,其中,所述目标监测文件是根据从用户界面接收的性能查看指令所选择的目标图像帧确定的。

分析服务器在接收到被监控服务器上传的函数统计文件和日志文件后,可将接收到的所述函数统计文件和所述日志文件关联为监测文件,在一个实施例中,可为所述函数统计文件和所述监测文件添加相同的标签,以将所述函数统计文件和所述监测文件进行关联。进一步地,可确定所述监测文件的文件状态。具体地,所述分析服务器可通过监控监测文件中函数统计文件的文件状态,确定所述监测文件的文件状态,所述文件状态包括解析状态和未解析状态。

在所述分析服务器确定目标监测文件中的函数统计文件为处于未解析状态的文件时,可将所述函数统计文件发送到解析服务器,以便于所述解析服务器对所述函数统计文件进行解析后得到函数调用信息,并执行步骤s404。

在一个实施例中,解析服务器在对函数统计进行解析时,可基于优化后的ufe对该函数统计文件进行解析,以得到函数调用信息,所述函数调用信息为所述被监控服务器在目标监测时段连接图像应用生成目标图像帧时,所述被监控服务器调用的函数名以及所述函数名对应的调用性能参数,其中,所述调用性能参数包括:各调用函数对应的调用耗时、调用占用比以及调用次数中的一项或多项。

同时,所述分析服务器可对所述目标监测文件中处于未解析状态的函数统计文件对应的日志文件进行解析,以得到所述日志文件中的日志信息。在一个实施例中,所述日志信息记录了被监控服务器的服务器信息,所述服务器信息包括所述被监控服务器的内存信息,若所述被监控服务器连接的图像应用为游戏应用,所述日志信息还包括所述被监控服务器连接所述游戏应用时的游戏指示信息,所述游戏指示信息包括:游戏场景信息、游戏玩家信息以及游戏地图信息等。

在所述分析服务器解析所述日志文件得到日志信息后,可将所述日志信息存储在存储系统中,所述存储系统可以是所述分析服务器的内部存储系统,也可以是所述分析服务器外接的存储系统,所述外接的存储系统可以是关系型数据库管理系统(mysql),所述分析服务器可通过基于超文本预处理器(hypertextpreprocessor,php)的网络进程,将解析得到的日志信息存储到mysql中。

s404,所述分析服务器接收所述解析服务器解析所述函数统计文件得到的函数调用信息。

在所述解析服务器将未解析的函数统计文件解析后,可将解析所述函数统计文件得到的函数调用信息发送到分析服务器,以使得所述分析服务器可基于所述函数统计文件包括的函数调用信息,确定所述被监控服务器的逻辑性能。所述分析服务器在接收到所述解析服务器发送的用于指示被监控服务器逻辑性能的函数调用信息后,还可将所述函数调用信息和对应的日志文件关联存储在所述目标监测文件中,即执行步骤s405,此外,所述分析服务器还可将所述函数调用信息通过php的网络进程存储到mysql中。

s405,所述分析服务器将接收的函数调用信息和解析所述日志文件得到的日志信息存储在所述目标监测文件中。

所述分析服务器在获取到函数调用信息和日志信息后,可将所述函数调用信息和日志信息存储在目标监测文件中,进一步地,可将所述目标监测文件存储在mysql,或者其自身的存储系统中,以便所述分析服务器在接收到用户界面的性能查看指令时,基于所述性能查看指令选择的目标图像帧,从所述目标监测文件中获取被监控服务器支撑运行的所述图像应用在渲染所述目标图像帧时的函数调用信息。

s406,分析服务器向用户终端发送图像运行数据,所述图像运行数据包括:在连接图像应用的过程中,在目标监测时段内生成的各帧图像对应的帧率信息。

s407,所述分析服务器接收所述用户终端发送的性能查看指令,并确定所述性能查看指令选择的目标图像帧,所述性能查看指令是在所述用户终端的用户界面上显示包括帧率信息的所述图像运行数据后,在用户界面上接收到用户操作时生成的。

s408,所述分析服务器根据目标图像帧,从目标监测文件中确定被监控服务器连接所述图像应用生成所述目标图像帧时的指示信息,并将所述指示信息发送到所述用户终端。

在一个实施例中,步骤s406-步骤s408的具体实施方式可参见上述实施例中步骤s201-步骤s203的叙述,在此不再赘述。

在一个实施例中,所述目标监测文件包括:日志文件和函数统计文件,所述函数统计文件中记录了所述服务器在所述目标监测时段内,连接图像应用生成各帧图像时的函数调用信息,所述日志文件包括日志信息,所述日志信息记录了所述被监控服务器的服务器信息。

s409,分析服务器根据预设的分析指标、所述函数调用信息和所述日志信息,确定分析数据。

s410,分析服务器根据所述分析数据生成通知消息,所述通知消息用于指示所述用户终端将所述分析数据显示在对应的图表显示界面。

在步骤s409-步骤s410中,所述预设的分析指标包括:基于日流水的分析指标、基于版本的分析指标、基于场景的分析指标和基于机型的分析指标中的一种或多种,所述分析服务器根据分析数据生成的通知消息用于在所述分析服务器将分析数据发送到用户终端后,触发所述用户终端显示分析数据对应的显示图表界面。在一个实施例中,所述通知消息可以是分析服务器在将分析数据发送到用户终端时自动生成的,也可以是在接收到用户通过用户界面发出的界面展示操作时生成的。

在一个实施例中,当预设的分析指标为基于日流水的分析指标时,在所述用户终端显示的图表显示界面包括:上传的监测文件的数量随日期变化的图表界面,目标线程耗时随日期变化的显示图表界面,内存占用量随日期变化的图表界面,目标线程耗时随真人玩家变化的图表界面,被监控服务器性能随日期变化的图表界面;其中,所述目标线程耗时是基于所述函数调用信息确定的,所述内存占用量是基于所述日志信息确定的。

在一个实施例中,当预设的分析指标为基于版本的分析指标时,在所述用户终端显示的图表显示界面包括:上传的监测文件的数量随版本变化的图表界面,目标线程耗时随版本变化的图表界面,内存占用量随版本变化的图表界面;或者,当预设的分析指标为基于场景的分析指标时,在所述用户终端显示的图表显示界面包括:上传的监测文件的数量随场景变化的图表界面,目标线程耗时随场景变化的图表界面,内存占用量随场景变化的图表界面;或者,当预设的分析指标为基于机型的分析指标时,在所述用户终端显示的图表显示界面包括:上传的监测文件的数量随机型变化的图表界面,目标线程耗时随机型变化的图表界面,内存占用量随机型变化的图表界面;其中,所述目标线程耗时是基于所述函数调用信息确定的,所述内存占用量是基于所述日志信息确定的。

分析服务器可基于所述函数调用信息和所述日志信息将如图6a所示的性能概述界面发送到用户终端,在所述分析服务器接收到对性能概述的选择指令时,可向用户终端发送用于在用户界面展示该性能概述界面的通知消息,并由所述用户终端对所述性能概述界面进行显示,其中,所述性能概述界面是所述分析服务器基于接收的来自被监控服务器在第四时间范围内上传的监测文件生成的,所述性能概述界面主要从目标线程(如游戏线程)耗时、内存大小以及上报的函数统计文件的数量,对所述被监控的服务器的性能进行概述,其中,所述第四时间范围例如可以是7天或者一个月等,在本发明实施例不做限定。在用户界面中显示所述性能概述界面后,所述分析服务器可接收到针对所述性能概述界面中对性能选项的选择指令,并输出所述选择指令作用的性能选项对应的详情内容。

在一个实施例中,所述性能概述界面在对比被监控服务器基于机型的不同而存在的性能差异时,可对比a、b和c三种不同机型的被监控服务器的性能。其中,a机型例如可以是m10机型,b机型例如可以是cg1-10g机型,c机型例如可以是m10c机型。所述分析服务器在对比基于不同机型的被监控服务器的目标线程耗时以及cpu的内存占用差异时,主要基于所述分析服务器最后处理的监测文件的数据与上一周前同日数据进行对比(即版本一周环比),或者,也可基于所述分析服务器最后处理的监测文件的数据与上一版本最后一个运营日的监测文件的数据进行对比(即版本间环比),其中,所述当前版本例如可以被监控服务器当前支撑的游戏应用的版本,例如可以是游戏x对应的版本号为:0.13.3.7708的版本,所述上一版本对应的可以是游戏对应的版本号为:0.13.3.7707的版本。

在所述分析指标为基于日流水的分析指标时,基于所述函数调用信息和所述日志信息确定的基于日流水的分析指标下的分析信息包括:上报监测文件的数量随日期的变化曲线,平均(或最大)目标线程随日期变化的曲线,平均(或最大)物理内存或虚拟内存随日期变化的曲线,平均目标线程耗时随游戏内真人数量的变化曲线,服务器性能随日期的变化曲线。

当所述分析服务器接收到在如图6a针对性能日流水选项的选择指令时,可输出如图6b中的性能日流水查看搜索界面,在所述日流水查看搜索界面可选择查看性能日流水的日期范围,被监控服务器连接图像应用进行图像渲染的场景、所述被监控服务器的运行机型和运行的图像应用的版本等。在接收到用户对筛选按钮的选择指令后,可基于用户在所述性能日流水查看搜索界面的输入,筛选出满足用户查看需求的分析信息,并将所述分析信息输出到用户界面,所述分析信息包括:如图6c中所示的上报监测文件的数量随日期的变化曲线,图6d中所示的目标线程耗时数据随日期的变化曲线,图6e中所示的内存随日期变化的曲线,图6f中所示的目标线程耗时随游戏内真人玩家数量的变化曲线,以及图6g中服务器性能随日期的变化曲线中的一种或多种。在一个实施例中,输出的如图6c~6g的变化曲线可输出到用户终端对应的同一用户界面中,也可输出到不同用户界面中,在本发明实施例中不做限定。

图6c所示的上报监测文件的数量随日期的变化曲线用于反应在所述被监控服务器连接图像应用进行图像渲染的全部场景,所有的运行机型号以及全部的运行版本的基础上,在不同时间上报到所述分析服务器的监测文件的数量,其中,上报的监测文件的数量越多,可认为在对应时间所述被监控服务器出现性能故障(如卡顿)的次数越多。图6d所示的目标线程耗时数据随日期的变化曲线是基于在所述被监控服务器进行图像渲染的全部场景,所有的运行机型号以及全部的运行版本的基础上,在不同时间时所述目标线程的平均耗时或者所述目标线程的耗时最大值,其中,图6d反映的是目标线程随日期变化的平均耗时曲线,用户可通过点击图示中的“平均/最大值”切换按钮,切换查看目标线程随日期变化的耗时最大值,其中,所述目标线程的平均耗时或者耗时最大值越大,说明该线程下调用的函数有较大可能影响被监控服务器连接图像应用运行的性能。

图6e所示的内存随日期的变化曲线用于反应:物理内存和虚拟内存在所述被监控服务器连接图像应用进行图像渲染的全部场景,所有的运行机型号以及全部的运行版本的基础上,在不同时间占用内存的大小,其中,占用的内存值越大,可认为在对应时间对被监控的服务器的性能影响越大,同样的图6e中反应的是内存随日期变化的平均耗时曲线,可通过点击图示中的“平均/最大值”切换按钮,切换查看内存随日期变化的最大耗时曲线。图6f所示的目标线程耗时数据随真人数量的变化曲线,用于反映在所述被监控服务器在连接图像应用进行图像渲染的全部场景,所有的运行机型号以及全部的运行版本的基础上,在真人玩家数不同时,目标线程的耗时变化以及上报的监测文件的数量变化,其中,当目标线程的耗时越大和/或上报的监测文件的数量越多时,可认为对应的真人玩家数对服务器性能的影响较大。

图6g所示的服务器性能随日期的变化曲线,用于反映在所述被监控服务器连接图像应用进行图像渲染的全部场景,所有的运行机型号以及全部的运行版本的基础上,所述被监控服务器在不同时间的性能表现。在一个实施例中,所述被监控服务器的性能表现可分别从:所述被监控服务器承载的游戏房间数量,开发设置的负载系数,被监控服务器的整机处理器,所述被监控服务器的整机内存和所述被监控服务器的现有玩家数中的一项或多项中确定,在一个实施例中,在计算开发设置的负载系数时可基于预设的计算公式进行计算,该计算公式为:game_count*one_room_load+player_count*2+ai_count,其中,game_count表示游戏数量,one_room_load表示一个游戏房间的负载,player_count现有真人玩家数,ai_count表示虚拟玩家数。

在一个实施例中,当所述分析服务器接收到在如图6a针对版本分析选项的选择指令时,可将版本分析界面输出到用户终端并在用户界面中进行显示,输出的所述版本分析界面包括如图7a所示的版本分析概述,在所述版本分析概述界面,包括被监控服务器连接的图像应用的当前运行版本x,在连接运行当前版本x时上传的检测文件数量(数据量),以及所述当前运行版本x的运行状态,所述当前运行版本的版本号例如可以是0.13.5.7720,还描述了所述被监控服务器近期连接的图像应用的三个版本所上传的数据量,以及对应的运行状态,其中,近期三个版本对应的版本号包括:版本y,对应版本号可以是0.13.5.7719;版本z,对应版本号可以是0.13.5.7719。其中,版本x上传的数据量a例如可以是757,其对应的运行状态为运营状态;版本y上传的数据量b例如可以是33,其运行状态为下线状态;版本z上传的数据量c例如可以是72,其运行状态为下线状态。在一个实施例中,可根据被监控服务器连接的图像应用对应的版本号所上传的数据量,确定被监控服务器运行该版本时的性能。此外,所述版本分析概述界面还包括不同版本下目标线程的耗时均值。

在一个实施例中,输出的所述版本分析界面还包括如图7b所示的上报监测文件的数量随版本的变化曲线,所述上报监测文件的数量随版本的变化曲线用于反映在指定机型的被监控服务器(如b机型)在连接不同版本的图像应用渲染全部场景的图像时,上报到分析服务器的监测文件的数量,其中,上报的监测文件数量越多,则可认为对应版本在连接到所述指定机型的被监控服务器中时,所述被监控服务器出现卡顿的次数越多。输出的所述版本分析界面还包括如图7c所示的目标线程耗时数据(包括平均耗时数据和最大耗时数据)随版本的变化趋势,以及如图7d所示的内存随版本的变化趋势,具体描述了物理/虚拟内存均值随版本的变化趋势,物理/虚拟内存最大值随版本的变化趋势。

在一个实施例中,当分析服务器接收到的针对分析指标的显示指令是:在如图6a所示的用户界面中选择的针对场景分析指标的选择指令时,可输出如图8a所述的基于场景分析指标下的分析信息,该界面也包括场景分析概述,上报监测文件的数量随场景的变化曲线,目标线程耗时数据(包括平均耗时数据和最大耗时数据)随场景的变化趋势,以及内存随场景的变化趋势。在一个实施例中,该场景例如可以是在进行游戏过程中的训练场景,或者比赛场景中的一种或多种。

在一个实施例中,当分析服务器接收到的针对分析指令的显示指令是在用户界面中选择的对被监控服务器的机型的分析指令时,也可输出在分析指标为机型分析时的至少一个维度的分析信息。其中,在分析指标为机型分析时的至少一个维度的分析信息包括:上报监测文件的数量随机型的变化趋势,目标线程耗时随机型的变化趋势,内存随机型的变化趋势以及服务器性能随机型的变化趋势。

在一个实施例中,分析服务器还可根据监测文件计算的目标线程的平均耗时,确定目标线程的耗时均值大于或等于预设耗时阈值的监测文件,并基于所述监测文件生成告警列表,其中,所述预设耗时阈值例如可以是80ms或者100ms等,在所述分析服务器接收到如图6a所示的用户界面中对告警列表的选择指令时,可输出如图8b所示的告警列表,所述告警列表中显示了目标线程的平均耗时大于或等于预设耗时阈值的监测文件的测试名,该测试名例如可以是分析服务器将日志文件和函数统计文件进行关联存储时的关联id等。当所述分析服务器在接收到针对如图8b所示的告警列表中对操作项的查看详情的选择指令时,可从日志文件中读取日志信息,并将所述日志信息发送到用户终端,在接收到所述用户终端发送的性能查看指令时,在所述用户终端的用户界面对应的日志显示区域中读取得到的所述日志信息,在一个实施例中,可将所述日志文件中的日志信息显示到如图8c所示的用户界面的日志文件显示区域中,显示的日志信息包括:内存信息、测试信息、服务器信息、游戏信息以及帧率信息中的一种或多种。其中,在图8c的下部,可输出如图3a所示的性能报告的概述界面。

在一个实施例中,用户可基于如图8b所示的告警列表选择一个监测文件作为基线文件,并选择一个或多个监测文件作为对比文件,如图8d所述,如果分析服务器确定将第一个监测文件选择为基线文件,将第二个和第三个监测文件选择为对比文件,可响应于用户在如图8d所示的用户界面的对比指令,从而输出基线文件和对比文件之间全局函数耗时的对比结果,该对比结果包括对比文件相比基线文件新增的函数,相同函数的耗时对比差值,以及调用次数对比差值等。

在本发明实施例中,分析服务器可将被监控服务器发送的函数统计文件和日志文件关联为监测文件,如果检测到目标监测文件未解析,则将该目标监测文件包括的函数统计文件发送到解析服务器,并对该目标监测文件中的日志文件进行解析,在接收到解析服务器对该未解析的函数统计文件进行解析得到的函数调用信息后,可将该函数调用信息和解析日志文件得到的日志信息存储在目标监测文件中,从而可向用户终端发送图像运行数据,并接收来自用户终端的性能查看指令,基于所述性能查看指令确定选择的目标图像帧后,确定被监控服务器连接图像应用生成目标图像帧时的逻辑性能的指示信息。进一步地,可将基于指示一个分析维度的分析信息发送到用户终端,并基于用户的选择指令,在用户界面中进行展示,从而可将对被监控服务器的性能直观地展示到用户界面上,并可基于用户的查看需求对性能分析结果进行展示,可提高对被监控服务器的性能分析效率,由于分析结果比较直观,所以可有效对被监控服务器的节省分析成本。

基于上述性能分析方法实施例的描述,本发明实施例还提供了一种性能分析装置,该性能分析装置可以是运行于上述性能分析系统中分析服务器11中的一个计算机程序(包括程序代码)。该性能分析装置可执行如图2和图4所述的性能分析方法,请参见图9,该性能分析装置包括:发送单元901、接收单元902和确定单元903。

发送单元901,用于向用户终端发送图像运行数据,所述图像运行数据包括:在连接图像应用的过程中,在目标监测时段内生成的各帧图像对应的帧率信息;

接收单元902,用于接收所述用户终端发送的性能查看指令,并确定所述性能查看指令选择的目标图像帧,所述性能查看指令是在所述用户终端的用户界面上显示包括帧率信息的所述图像运行数据后,在用户界面上接收到用户操作时生成的;

确定单元903,用于根据所述目标图像帧,从目标监测文件中确定被监控服务器连接所述图像应用生成所述目标图像帧时的指示信息,并将所述指示信息发送到所述用户终端;其中,所述指示信息用于表示所述被监控服务器的逻辑性能,所述指示信息包括:在所述目标监测文件中记录的函数调用信息,所述图像应用在所述目标监测时段内生成的每一帧图像对应有一组函数调用信息。

在一个实施例中,所述函数调用信息包括:被监控服务器连接所述图像应用时,生成所述目标图像帧时所调用函数的函数名,以及所述函数名对应的调用性能参数;其中,所述调用性能参数包括:各调用函数对应的调用耗时、调用耗时占用比、以及调用次数中的一项或多项。

在一个实施例中,所述目标监测文件是所述被监控服务器在运行图像应用的过程中检测到服务信息满足录制条件时录制生成的;所述服务信息包括:内存占用数据,所述服务资源满足录制条件是指:所述内存占用数据所指示的值大于或等于预设的占用阈值,或所述内存占用数据所指示的值大于或等于所述占用阈值的次数超过预设次数阈值。

在一个实施例中,所述目标监测文件包括:日志文件和函数统计文件,所述函数统计文件中记录了所述被监控服务器在所述目标监测时段内,连接所述图像应用生成各帧图像时的函数调用信息,所述日志文件包括日志信息,所述日志信息中记录了所述被监控服务器的服务器信息。

在一个实施例中,所述装置还包括:读取单元904和显示单元905。

读取单元904,用于:从所述日志文件中读取所述日志信息,并将所述日志信息发送到所述用户终端;

显示单元905,用于当接收到所述用户终端发送的性能查看指令时,在所述用户终端的用户界面对应的日志文件显示区域中显示读取得到的所述日志信息。

在一个实施例中,所述装置还包括:存储单元906。

所述发送单元901,还用于若检测到所述目标监测文件中包括的函数统计文件为未解析的文件,则将所述函数统计文件发送到解析服务器,并解析所述目标监测文件中的日志文件;

所述接收单元902,还用于接收所述解析服务器解析所述函数统计文件得到的函数调用信息;

存储单元906,用于将接收的函数调用信息和解析所述日志文件得到的日志信息存储在所述目标监测文件中。

在一个实施例中,所述装置还包括:生成单元907。

所述确定单元903,还用于根据预设的分析指标、所述函数调用信息和所述日志信息,确定分析数据;

生成单元907,用于根据所述分析数据生成通知消息,所述通知消息用于指示所述用户终端将所述分析数据显示在对应的图表显示界面。

在一个实施例中,当预设的分析指标为基于日流水的分析指标时,在所述用户终端显示的图表显示界面包括:上传的监测文件的数量随日期变化的图表界面,目标线程耗时随日期变化的显示图表界面,内存占用量随日期变化的图表界面,目标线程耗时随真人玩家变化的图表界面,被监控服务器性能随日期变化的图表界面;

其中,所述目标线程耗时是基于所述函数调用信息确定的,所述内存占用量是基于所述日志信息确定的。

在一个实施例中,当预设的分析指标为基于版本的分析指标时,在所述用户终端显示的图表显示界面包括:上传的监测文件的数量随版本变化的图表界面,目标线程耗时随版本变化的图表界面,内存占用量随版本变化的图表界面;

其中,所述目标线程耗时是基于所述函数调用信息确定的,所述内存占用量是基于所述日志信息确定的。

在一个实施例中,当预设的分析指标为基于场景的分析指标时,在所述用户终端显示的图表显示界面包括:上传的监测文件的数量随场景变化的图表界面,目标线程耗时随场景变化的图表界面,内存占用量随场景变化的图表界面;

其中,所述目标线程耗时是基于所述函数调用信息确定的,所述内存占用量是基于所述日志信息确定的。

在一个实施例中,当预设的分析指标为基于机型的分析指标时,在所述用户终端显示的图表显示界面包括:上传的监测文件的数量随机型变化的图表界面,目标线程耗时随机型变化的图表界面,内存占用量随机型变化的图表界面;

其中,所述目标线程耗时是基于所述函数调用信息确定的,所述内存占用量是基于所述日志信息确定的。

在本发明实施例中,接收单元901在接收到用户终端发送的性能查看指令时,确定单元903可基于在用户界面显示的帧率信息,确定该性能查看指令选择的目标图像帧,从而可基于确定的目标图像帧,从目标监测文件中获取用于表示被监控服务器在连接图像应用生成目标图像帧时,表示该被监控服务器逻辑性能的指示信息,并可将该指示信息显示在用户界面中,以反映该被监控服务器在连接图像应用时的性能。由于分析服务器直观地将被监控服务器连接图像应用时的图像运行数据,以及连接图像应用生成目标图像帧时的指示信息展示到了用户界面,基于分析服务器对被监控服务器的性能分析结果的直观展示,增强了对被监控服务器的性能分析结果的可读性,对性能进行数据的可读性,而且基于在用户界面直接展示的表示该被监控服务器的指示信息,使得不需要技术人员人工地对测试数据进行二次分析,而是可直接基于展示的指示信息确定出被监控服务器的性能,有效提升了被监控服务器在连接图像应用生成各帧图像时,对所述被监控服务器的性能进行分析的效率。

请参见图10,是本发明实施例提供的一种服务器的结构示意性框图,该服务器可以是上述提及的分析服务器。如图10所示的本实施例中的服务器可包括:一个或多个处理器101;一个或多个输入设备102,一个或多个输出设备103和存储器104。上述处理器101、输入设备102、输出设备103和存储器104通过总线105连接。存储器104用于存储计算机程序,所述计算机程序包括程序指令,处理器101用于执行所述存储器104存储的程序指令。

所述存储器104可以包括易失性存储器(volatilememory),如随机存取存储器(random-accessmemory,ram);存储器104也可以包括非易失性存储器(non-volatilememory),如快闪存储器(flashmemory),固态硬盘(solid-statedrive,ssd)等;存储器104还可以包括上述种类的存储器的组合。

所述处理器101可以是中央处理器(centralprocessingunit,cpu)。所述处理器101还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)等。该pld可以是现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)等。所述处理器101也可以为上述结构的组合。

本发明实施例中,所述存储器104用于存储计算机程序,所述计算机程序包括程序指令,处理器101用于执行存储器104存储的程序指令,用来实现上述实施例中的相应方法的步骤。

在一个实施例中,所述处理器101被配置调用所述程序指令,用于执行:

向用户终端发送图像运行数据,所述图像运行数据包括:在连接图像应用的过程中,在目标监测时段内生成的各帧图像对应的帧率信息;

接收所述用户终端发送的性能查看指令,并确定所述性能查看指令选择的目标图像帧,所述性能查看指令是在所述用户终端的用户界面上显示包括帧率信息的所述图像运行数据后,在用户界面上接收到用户操作时生成的;

根据目标图像帧,从目标监测文件中确定被监控服务器连接所述图像应用生成所述目标图像帧时的指示信息,并将所述指示信息发送到所述用户终端;其中,所述指示信息用于表示所述被监控服务器的逻辑性能,所述指示信息包括:在所述目标监测文件中记录的函数调用信息,所述图像应用在所述目标监测时段内生成的每一帧图像对应有一组函数调用信息。

在一个实施例中,所述函数调用信息包括:被监控服务器连接所述图像应用时,生成所述目标图像帧时所调用函数的函数名,以及所述函数名对应的调用性能参数;

其中,所述调用性能参数包括:各调用函数对应的调用耗时、调用耗时占用比、以及调用次数中的一项或多项。

在一个实施例中,所述目标监测文件是所述被监控服务器在运行图像应用的过程中检测到服务信息满足录制条件时录制生成的;

所述服务信息包括:内存占用数据,所述服务资源满足录制条件是指:所述内存占用数据所指示的值大于或等于预设的占用阈值,或所述内存占用数据所指示的值大于或等于所述占用阈值的次数超过预设次数阈值。

在一个实施例中,所述目标监测文件包括:日志文件和函数统计文件,所述函数统计文件中记录了所述被监控服务器在所述目标监测时段内,连接所述图像应用生成各帧图像时的函数调用信息,所述日志文件包括日志信息,所述日志信息中记录了所述被监控服务器的服务器信息。

在一个实施例中,所述处理器101被配置调用所述程序指令,用于执行:

从所述日志文件中读取所述日志信息,并将所述日志信息发送到所述用户终端;

当接收到所述用户终端发送的性能查看指令时,在所述用户终端的用户界面对应的日志文件显示区域中显示读取得到的所述日志信息。

在一个实施例中,所述处理器101被配置调用所述程序指令,用于执行:

若检测到所述目标监测文件中包括的函数统计文件为未解析的文件,则将所述函数统计文件发送到解析服务器,并解析所述目标监测文件中的日志文件;

接收所述解析服务器解析所述函数统计文件得到的函数调用信息;

将接收的函数调用信息和解析所述日志文件得到的日志信息存储在所述目标监测文件中。

在一个实施例中,所述处理器101被配置调用所述程序指令,用于执行:

根据预设的分析指标、所述函数调用信息和所述日志信息,确定分析数据;

根据所述分析数据生成通知消息,所述通知消息用于指示所述用户终端将所述分析数据显示在对应的图表显示界面。

在一个实施例中,当预设的分析指标为基于日流水的分析指标时,在所述用户终端显示的图表显示界面包括:上传的监测文件的数量随日期变化的图表界面,目标线程耗时随日期变化的显示图表界面,内存占用量随日期变化的图表界面,目标线程耗时随真人玩家变化的图表界面,被监控服务器性能随日期变化的图表界面;

其中,所述目标线程耗时是基于所述函数调用信息确定的,所述内存占用量是基于所述日志信息确定的。

在一个实施例中,当预设的分析指标为基于版本的分析指标时,在所述用户终端显示的图表显示界面包括:上传的监测文件的数量随版本变化的图表界面,目标线程耗时随版本变化的图表界面,内存占用量随版本变化的图表界面;

其中,所述目标线程耗时是基于所述函数调用信息确定的,所述内存占用量是基于所述日志信息确定的。

在一个实施例中,当预设的分析指标为基于场景的分析指标时,在所述用户终端显示的图表显示界面包括:上传的监测文件的数量随场景变化的图表界面,目标线程耗时随场景变化的图表界面,内存占用量随场景变化的图表界面;

其中,所述目标线程耗时是基于所述函数调用信息确定的,所述内存占用量是基于所述日志信息确定的。

在一个实施例中,当预设的分析指标为基于机型的分析指标时,在所述用户终端显示的图表显示界面包括:上传的监测文件的数量随机型变化的图表界面,目标线程耗时随机型变化的图表界面,内存占用量随机型变化的图表界面;

其中,所述目标线程耗时是基于所述函数调用信息确定的,所述内存占用量是基于所述日志信息确定的。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1