一种用于获得应用的场景性能信息方法、装置和系统制造方法及图纸

技术编号:12393060 阅读:62 留言:0更新日期:2015-11-26 00:50
本发明专利技术提供了一种用于在用户设备中辅助网络设备获得场景性能信息的方法,其中,该方法包括:在所述用户设备中运行已在编译时织入性能监控代码的应用,其中,所述性能监控代码用于指示所述应用中需要监控的至少一个函数;通过运行所述性能监控代码,获得所述至少一个函数的函数性能信息,并将所述函数性能信息发送至网络设备。根据本发明专利技术的方案,在编译应用时织入性能监控代码,该性能监控代码不影响应用的原业务代码的运行,与原业务代码的耦合度极低,接入成本极低,便于扩展和移植。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种用于获得应用的场景性能信息的方法、装置和系统。
技术介绍
目前,随着移动互联网时代的到来,以及智能用户设备的普及,应用产品层出不穷且更新速度较快,这使得用户对应用的性能(如运行时长、占用的内存、消耗的CPU等)要求越来越高,从而使得应用的性能测试越来越重要,严重影响了用户对应用的满意度以及应用本身的稳定性和发展。现有技术中,通常采用以下手段进行测试:1)通过人工秒表统计或工具(如高度摄像头等)观察等人工方式来测试应用中的一些功能的性能,如通过人工秒表统计获得应用启动所需要的时间,又如通过观察用户设备CPU占用率的变化情况来获得应用所占用的CPU等。2)在应用的业务代码中增加用于监控的代码,之后,打印该应用的日志,并通过人工统计来获得应用的接口级别的性能。上述方案具有以下问题:方案I)中的测试粒度较粗(仅能测试功能级别的性能)、准确性低且使用成本较高;方案2)中用于监控的代码与应用的原业务代码耦合度高,容易对应用的正常运行产生影响,且对不同应用进行测试时代码重复性大,测试结果需要人工统计,且不便于扩展和移植。并且,上述两种方案通常需要人工建立测试环境,仅能测试应用在特定用户设备中的性能。
技术实现思路
本专利技术的目的是提供一种用于获得应用的场景性能信息的方法、装置和系统。根据本专利技术的一个方面,提供一种用于在用户设备中辅助网络设备获得场景性能信息的方法,其中,该方法包括:在所述用户设备中运行已在编译时织入性能监控代码的应用,其中,所述性能监控代码用于指示所述应用中需要监控的至少一个函数;通过运行所述性能监控代码,获得所述至少一个函数的函数性能信息,并将所述函数性能信息发送至网络设备。根据本专利技术的另一个方面,还提供了一种在网络设备中获得应用的场景性能信息的方法,其中,该方法包括:接收来自用户设备的、已在编译时织入性能监控代码的应用的至少一个函数的函数性能信息;根据所述函数性能信息,以及所述应用的函数与场景之间的对应关系,确定与所述应用中的至少一个场景对应的场景性能信息,其中,所述应用中的一个场景对应所述应用中的一个或多个函数。根据本专利技术的另一方面,还提供了一种用于在用户设备中辅助网络设备获得场景性能信息的第一装置,其中,该第一装置包括:运行装置,用于在所述用户设备中运行已在编译时织入性能监控代码的应用,其中,所述性能监控代码用于指示所述应用中需要监控的至少一个函数;获得装置,用于通过运行所述性能监控代码,获得所述至少一个函数的函数性能信息,并将所述函数性能信息发送至网络设备。根据本专利技术的另一方面,还提供了一种在网络设备中获得应用的场景性能信息的第二装置,其中,该第二装置包括:接收装置,用于接收来自用户设备的、已在编译时织入性能监控代码的应用的至少一个函数的函数性能信息;确定装置,用于根据所述函数性能信息,以及所述应用的函数与场景之间的对应关系,确定与所述应用中的至少一个场景对应的场景性能信息,其中,所述应用中的一个场景对应所述应用中的一个或多个函数。根据本专利技术的另一方面,还提供了一种用户设备,包括本专利技术所述的第一装置。根据本专利技术的另一方面,还提供了一种网络设备,包括本专利技术所述的第二装置。根据本专利技术的另一方面,还提供了一种系统,包括至少一个本专利技术所述的用户设备,以及本专利技术所述的网络设备。与现有技术相比,本专利技术具有以下优点:1)在编译应用时织入性能监控代码,该性能监控代码不影响应用的原业务代码的运行,与原业务代码的耦合度极低,且由于是在编译时织入,使得针对同一个版本的应用,仅需一次织入操作,便能实时获得该应用中函数的函数性能信息,并实时上传至网络设备,减少了人力投入,接入成本极低;2)仅需完成一份性能数据采集代码便可集成到绝大部分应用中,开发商仅需针对不同的应用配置需要监控的至少一个函数的函数名称,便能极方便地完成性能监控代码,便于扩展和移植,灵活性较高;3)能够在网络设备端实时呈现应用的场景性能信息,且由于场景性能信息是根据函数性能信息所确定的,使得场景性能信息的准确性较高,且无需人工统计,也不需要人工搭建测试环境,并且,测试人员可在网络设备中根据测试需求来配置应用的函数与场景之间的对应关系,灵活度极高,能实现对各种层次场景的测试;4)能够将针对多个用户设备所获得的、与所述应用中的同一场景对应的场景性能信息进行比对,获得比对结果信息,并在网络设备端进行直观地呈现,方便问题定位;5)能够提供同一版本同一场景不同机型的纵向对比,以及同一场景同一机型不同版本的横向对比等;不仅适用于对应用进行性能测试,还可获得用户的实际体验数据。【附图说明】通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术一个实施例的用于获得应用的场景信息的方法的流程示意图;图2为本专利技术一个实施例的用于呈现比对结果信息的方法的流程示意图;图3为本专利技术一个示例的应用的函数与场景的对应关系示意图;图4为本专利技术一个示例的比对结果信息的示意图。附图中相同或相似的附图标记代表相同或相似的部件。【具体实施方式】下面结合附图对本专利技术作进一步详细描述。图1为本专利技术一个实施例的用于获得应用的场景信息的方法的流程示意图。其中,本实施例的方法主要通过网络设备和用户设备来实现。所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机;所述网络设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。所述用户设备包括但不限于PC机、平板电脑、智能手机、PDA、IPTV等。需要说明的是,所述用户设备、网络设备和网络仅为举例,其他现有的或今后可能出现的用户设备和网络设备如可适用于本专利技术,也应包含在本专利技术保护范围以内,并以引用方式包含于此。 根据本实施例的方法包括步骤S1、步骤S2、步骤S3和步骤S4。在步骤SI中,用户设备在该用户设备中运行已在编译时织入性能监控代码的应用。其中,所述性能监控代码用于指示所述应用中需要监控的至少一个函数。所述性能监控代码用于对所述至少一个函数进行监控,且所述性能监控代码中定义有获得至少一个函数的函数性能信息的逻辑(所述逻辑可通过一个或多个函数来实现)、以及将所获得函数性能信息上传至网络设备的逻辑等。需要说明的是,当已定义获得函数性能信息的一个逻辑后,仅需指定需要监控的至少一个函数的函数名称,便可通过调用该逻辑来获得至少一个函数的该函数性能信息。其中,所述函数性能信息将在后续步骤中予以详述。需要说明的是,所述性能监控代码由应用的开发商在编译该应用时织入,开发商可自行配置应用中需要监控的至少一个函数(如在性能监控代码中配置该至少一个函数的函数名称),且不同的应用中所配置的、需要监控的至少一个函数也可以是不同的;并且,开发商仅需在编译应用时织入一次性能监控代码,便能对该应用进行实时监控。其中,开发商可采用多种技术手段在编译应用时织入性能监控代码,如开发商采用AspectJ技术来在编译应用时织入性能监控代码。优选地,应用的开发商通过引入支持编译时织入本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/CN105095071.html" title="一种用于获得应用的场景性能信息方法、装置和系统原文来自X技术">用于获得应用的场景性能信息方法、装置和系统</a>

【技术保护点】
一种用于在用户设备中辅助网络设备获得应用的场景性能信息的方法,其中,该方法包括:在所述用户设备中运行已在编译时织入性能监控代码的应用,其中,所述性能监控代码用于指示所述应用中需要监控的至少一个函数;通过运行所述性能监控代码,获得所述至少一个函数的函数性能信息,并将所述函数性能信息发送至网络设备。

【技术特征摘要】

【专利技术属性】
技术研发人员:林荣文李露李向燕郑烨翰王磊
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1