CN113010414A - 基于字节码插桩技术的应用程序性能管理方法和装置 - Google Patents
基于字节码插桩技术的应用程序性能管理方法和装置 Download PDFInfo
- Publication number
- CN113010414A CN113010414A CN202110209987.8A CN202110209987A CN113010414A CN 113010414 A CN113010414 A CN 113010414A CN 202110209987 A CN202110209987 A CN 202110209987A CN 113010414 A CN113010414 A CN 113010414A
- Authority
- CN
- China
- Prior art keywords
- secondary container
- alarm information
- current secondary
- application program
- fault
- 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
- 238000005516 engineering process Methods 0.000 title claims abstract description 29
- 238000007726 management method Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims description 43
- 238000004590 computer program Methods 0.000 claims description 10
- 230000010365 information processing Effects 0.000 claims description 4
- 230000015556 catabolic process Effects 0.000 claims description 3
- 238000006731 degradation reaction Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000012827 research and development Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 235000011888 snacks Nutrition 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了基于字节码插桩技术的应用程序性能管理方法,包括:接收用户端上报的故障报警信息,所述故障报警信息包括应用程序发生故障时当前二级容器对应的界面的名称和故障信息;提取所述故障报警信息中所述当前二级容器对应的界面的名称和所述故障信息中包含的故障类型;根据所述当前二级容器对应的界面的名称确定所述当前二级容器对应的界面类型;根据所述界面类型对所述故障报警信息进行分类存储;基于所存储的故障报警信息,进行不同页面间、不同版本间的性能比较。通过本公开的基于字节码插桩技术的应用程序性能管理方法,能够基于页面维度,将不同性能指标数据建立联系,进而建立应用程序的性能指标体系。
Description
技术领域
本公开的实施例一般涉及互联网技术领域,并且更具体地,涉及基于字节码插桩技术的应用程序性能管理方法和装置。
背景技术
随着智能终端的日益普及、网络宽带化的高速发展,以移动应用与服务不断丰富为标志的移动互联网时代为人们带来了更便捷与智能的数字生活。在这种大环境下,线上商城应用而生,用户可有通过线上商城应用程序(移动APP)购买物品。在用户使用应用程序中,难以避免的会存在一些故障,例如卡顿、程序崩溃等。
现有技术中,当应用程序发生故障时,通常是由开发人员对整个程序的行为日志进行分析,进而确定应用程序发生故障的原因,在确定应用程序的故障原因后,对应用程序的代码进行修改。
现有技术中开发人员分析的行为日志是针对整个应用程序的,而不是针对应用程序的单个界面的,对于应用程序整体而言,性能管理系统的各个性能指标是彼此割裂的,无法对应的具体地研发人员,从而使得根据应用程序难以实现对研发人员的技能考核和监督。
发明内容
根据本公开的实施例,提供了一种能够基于应用程序的页面维度建立的应用程序性能指标体系的基于字节码插桩技术的应用程序性能管理方案,从而能够基于页面维度,将不同性能指标数据建立联系,进而建立应用程序的性能指标体系,并且每个指标可以对应到具体的研发人员。
在本公开的第一方面,提供了一种基于字节码插桩技术的应用程序性能管理方法,包括:
接收用户端上报的故障报警信息,所述故障报警信息包括应用程序发生故障时当前二级容器对应的界面的名称和故障信息;
提取所述故障报警信息中所述当前二级容器对应的界面的名称和所述故障信息中包含的故障类型;
根据所述当前二级容器对应的界面的名称确定所述当前二级容器对应的界面类型;
根据所述界面类型对所述故障报警信息进行分类存储;
基于所存储的故障报警信息,进行不同页面间、不同版本间的性能比较。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述当前二级容器对应的界面的名称为预先基于字节码插桩技术对应用程序的底层代码进行修改,并在所述应用程序的运行过程中,输出的当前二级容器对应的界面的名称。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述故障类型包括应用程序崩溃,和/或,应用程序页面性能下降,和/或,应用程序网络错误。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述故障报警信息还包括发生故障时的时间信息;
在所述提取所述故障报警信息中所述当前二级容器对应的界面的名称和所述故障信息中包含的故障类型之后,还包括:
提取所述对应所述时间信息的所述应用程序的运行日志,从所述运行日志中提取当前二级容器对应的界面的参数。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述从所述运行日志中提取当前二级容器对应的界面的参数,包括:
从所述运行日志中提取当前二级容器对应的界面的运行参数,以及所述当前二级容器对应的界面中的子控件的运行参数。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,基于所存储的故障报警信息,进行不同页面间的性能比较,包括:
获取所述应用程序的其他二级容器对应的界面的运行参数,将所述当前二级容器对应的界面的运行参数与所述其他二级容器对应的界面的运行参数进行对比,生成第一性能指标图。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,基于所存储的故障报警信息,进行不同版本间的性能比较,包括:
获取所述应用程序的其他版本的与所述当前二级容器对应的二级容器所对应的界面的运行参数,将所述当前二级容器对应的界面的运行参数与所述其他版本的与所述当前二级容器对应的二级容器所对应的界面的运行参数进行对比,生成第二性能指标图。
在本公开的第二方面,提供了一种基于字节码插桩技术的应用程序性能管理装置,包括:
故障报警信息接收模块,用于接收用户端上报的故障报警信息,所述故障报警信息包括应用程序发生故障时当前二级容器对应的界面的名称和故障信息;
信息提取模块,用于提取所述故障报警信息中所述当前二级容器对应的界面的名称和所述故障信息中包含的故障类型;
页面类型确定模块,用于根据所述当前二级容器对应的界面的名称确定所述当前二级容器对应的界面类型;
存储模块,用于根据所述界面类型对所述故障报警信息进行分类存储,基于所存储的故障报警信息,进行不同页面间、不同版本间的性能比较。
在本公开的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
通过本公开的基于字节码插桩技术的应用程序性能管理方法,能够基于页面维度,将不同性能指标数据建立联系,进而建立应用程序的性能指标体系,并且每个指标可以对应到具体的研发人员。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开实施例一的基于字节码插桩技术的应用程序性能管理方法的流程图;
图2示出了本公开实施例二的基于字节码插桩技术的应用程序性能管理方法的流程图;
图3示出了本公开实施例三的基于字节码插桩技术的应用程序性能管理装置的功能结构示意图;
图4示出了本公开实施例四的基于字节码插桩技术的应用程序性能管理方法设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本公开实施例的基于字节码插桩技术的应用程序故障诊断方法,通过在应用程序开发前期,利用字节码插桩技术在底层代码中插入监听字节码,使得在应用程序运行的过程中能够输出类参数,或者对已有应用程序的底层代码进行修改,利用字节码插桩技术插入监听字节码,使得在应用程序运行的过程中能够输出类参数,相对于现有技术中的应用程序在运行过程中只能够输出活动页面(Activity)的类参数而言,本公开实施例的方法可以输出活动页面中元素(Fragment)的类参数,从而提升应用程序页面的获取粒度,当应用程序发生故障时,后台服务器可以获取故障报警信息,由于故障报警信息是基于活动页面中元素(Fragment)的类参数的,因此可以基于页面维度,将不同性能指标数据建立联系,进而建立应用程序的性能指标体系,并且每个指标可以对应到具体的研发人员,可以进一步形成对研发人员的技能考核和监督系统。
具体地,如图1所示,为本公开实施例一的基于字节码插桩技术的应用程序性能管理方法的流程图。从图1中可以看出,本实施例的方法,可以包括以下步骤:
S101:接收用户端上报的故障报警信息,所述故障报警信息包括应用程序发生故障时当前二级容器对应的界面的名称和故障信息。
本实施例的应用程序是指经过字节码插桩技术处理过底层代码的应用程序。通常情况下,应用程序的底层代码中包括多个一级容器,每个一级容器中又包含多个二级容器。现有技术中,应用程序的底层代码只能调用一级容器的类函数输出一级容器的参数,而本实施例对应用程序的底层代码进行字节码插桩,在应用程序的运行过程中,调用二级容器的类函数输出对应二级容器的参数,本实施例及后续实施例中的参数一般是指名称,此外,在其他实施例中,根据实际需要,还可以输出其他参数。在应用程序的运行过程中,当用户切换界面时,其在底层实际切换的是一级容器,即显示的一级容器中的函数和堆栈。
本实施例中的应用程序可以是线上商城APP,用户可以通过该应用程序实现支付和购买商品。在本实施例中,当应用程序发生故障时,安装有应用程序的用户端会生成故障报警信息并上报至后台服务器,所述故障报警信息包括应用程序发生故障时当前二级容器对应的界面的名称和故障信息。而在应用程序的运行过程中,会时时获取一级容器的参数以及一级容器中包括的二级容器的参数。对于一级容器中的一个二级容器(即当前二级容器),时时获取该二级容器的界面的名称。该二级容器的界面例如可以是应用程序的某个页面的图标、按钮、显示框或者文字信息等。
S102:提取所述故障报警信息中所述当前二级容器对应的界面的名称和所述故障信息中包含的故障类型。
后台服务器在接收到用户端上报的故障报警信息后,可以基于时间先后顺序对接收到的多个故障报警信息进行排序。而对于后台服务器接收到的故障报警信息中的一个,提取该故障报警信息中的当前二级容器对应的界面的名称和所述故障信息中包含的故障类型。所述当前二级容器对应的界面的名称例如可以是生鲜、饮料、零食等,所述故障类型例如可以是页面崩溃、应用性能下降(页面卡顿)和/或网络错误等。
现有技术中,后台服务器接收到的用户端上报的故障报警信息是针对一级容器的,所以统计到的故障报警信息数量较少,故障报警信息针对的目标的粒度(即一级容器)较粗。而本申请中,后台服务器接收到的用户端上报的故障报警信息是针对二级容器的,所以统计到的故障报警信息数量较多,更具有统计意义,故障报警信息针对的目标的粒度(即二级容器)较细,从而有助于建立系统性的应用程序性能管理系统。
S103:根据所述当前二级容器对应的界面的名称确定所述当前二级容器对应的界面类型。
在本实施例中,当确定所述故障报警信息中所述当前二级容器对应的界面的名称和所述故障信息中包含的故障类型后,可以进一步确定所述当前二级容器对应的界面类型。例如,确定所述当前二级容器对应的界面是支付界面、还是商品展示界面,或者是功能界面等,从而形成一个新的维度,对所述故障类型进行分类,进而便于进行更细分类的统计。
S104:根据所述界面类型对所述故障报警信息进行分类存储。
在本实施例中,当确定所述当前二级容器对应的界面类型后,可以按照类型对所述界面类型对所述故障报警信息进行分类存储,以便于在对应用程序的性能进行管理时,进行数据提取。并且在数据提取后,可以多个维度的对比和分析,确定二级容器对应的研发人员,进而可以对研发人员进行技能考核和监督。
S105:基于所存储的故障报警信息,进行不同页面间、不同版本间的性能比较。
具体地,可以获取所述应用程序的其他二级容器对应的界面的运行参数,将所述当前二级容器对应的界面的运行参数与所述其他二级容器对应的界面的运行参数进行对比,生成第一性能指标图。
当然,也可以获取所述应用程序的其他版本的与所述当前二级容器对应的二级容器所对应的界面的运行参数,将所述当前二级容器对应的界面的运行参数与所述其他版本的与所述当前二级容器对应的二级容器所对应的界面的运行参数进行对比,生成第二性能指标图。
本公开实施例的基于字节码插桩技术的应用程序性能管理方法,能够基于页面维度,将不同性能指标数据建立联系,进而建立应用程序的性能指标体系,并且每个指标可以对应到具体的研发人员。
如图2所示,为本实施例二的基于字节码插桩技术的应用程序性能管理方法的流程图。本实施例的方法,可以包括以下步骤:
S201:基于字节码插桩技术对应用程序的底层代码进行修改,并在所述应用程序的运行过程中,输出的当前二级容器对应的界面的名称。
需要说明的是,在应用程序开发时直接基于字节码插桩技术对应用程序的底层代码进行编写或者是基于字节码插桩技术对已有应用程序的底层代码进行修改,都能够取得本公开的技术方案的效果。本实施针对利用基于字节码插桩技术对应用程序的底层代码进行修改的技术方案对本公开的技术方案的原理进行说明。
对于已有的应用程序,基于字节码插桩技术对所述应用程序的底层代码进行修改。
S202:接收用户端上报的故障报警信息,所述故障报警信息包括应用程序发生故障时当前二级容器对应的界面的名称和故障信息。
S203:提取所述故障报警信息中所述当前二级容器对应的界面的名称和所述故障信息中包含的故障类型。
S204:根据所述当前二级容器对应的界面的名称确定所述当前二级容器对应的界面类型。
S205:根据所述界面类型对所述故障报警信息进行分类存储。
本实施例中的步骤S202至步骤S205的具体实现过程参见上述实施例一,本实施例不再重复赘述。此外,本实施例还包括以下步骤:
S206:获取所述应用程序的其他二级容器对应的界面的运行参数,将所述当前二级容器对应的界面的运行参数与所述其他二级容器对应的界面的运行参数进行对比,生成第一性能指标图。
在本实施例中,可以进一步获取所述应用程序的其他二级容器对应的界面的运行参数,将所述当前二级容器对应的界面的运行参数与所述其他二级容器对应的界面的运行参数进行对比,生成第一性能指标图。例如,可以比较当前二级容器对应的界面与其他二级容器对应的界面发生故障的次数,具体地,该发生故障的次数可以是页面崩溃次数和/或页面卡顿次数和/或网络错误次数等,进而确定框架更稳定的二级容器。
S207:获取所述应用程序的其他版本的与所述当前二级容器对应的二级容器所对应的界面的运行参数,将所述当前二级容器对应的界面的运行参数与所述其他版本的与所述当前二级容器对应的二级容器所对应的界面的运行参数进行对比,生成第二性能指标图。
并其,还可以进一步获取所述应用程序的其他版本的与所述当前二级容器对应的二级容器所对应的界面的运行参数,将所述当前二级容器对应的界面的运行参数与所述其他版本的与所述当前二级容器对应的二级容器所对应的界面的运行参数进行对比,生成第二性能指标图。例如,可以比较当前二级容器对应的界面与其他版本的与所述当前二级容器对应的二级容器所对应的界面发生故障的次数,具体地,该发生故障的次数可以是页面崩溃次数和/或页面卡顿次数和/或网络错误次数等,进而确定框架更稳定的二级容器对应的版本。
在本实施例中,通过横向对比其他二级容器对应的界面的运行参数,可以作为对研发人员的技能考核和监督的参考,通过纵向对比其他版本对应二级容器对应的界面的运行参数,可以确定框架更稳定的二级容器对应的版本,从而形成应用程序性能管理系统。
本公开实施例的基于字节码插桩技术的应用程序性能管理方法,能够基于页面维度,将不同性能指标数据建立联系,进而建立应用程序的性能指标体系,并且每个指标可以对应到具体的研发人员。
此外,作为本公开的一个可选实施例,上述实施例中的故障报警信息还包括发生故障时的时间信息;在所述提取所述故障报警信息中所述当前二级容器对应的界面的名称和所述故障信息中包含的故障类型之后,还可以进一步包括:提取所述对应所述时间信息的所述应用程序的运行日志,从所述运行日志中提取当前二级容器对应的界面的参数。并且,还可以进一步提取所述当前二级容器对应的界面中的子控件的运行参数。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
如图3所示,为本公开实施例三的基于字节码插桩技术的应用程序性能管理装置的功能结构示意图,本实施例的基于单向传输的安全运维系统,包括:
在本公开的第二方面,提供了一种基于字节码插桩技术的应用程序性能管理装置,包括:
故障报警信息接收模块301,用于接收用户端上报的故障报警信息,所述故障报警信息包括应用程序发生故障时当前二级容器对应的界面的名称和故障信息。
信息提取模块302,用于提取所述故障报警信息中所述当前二级容器对应的界面的名称和所述故障信息中包含的故障类型。
页面类型确定模块303,用于根据所述当前二级容器对应的界面的名称确定所述当前二级容器对应的界面类型。
存储模块304,用于根据所述界面类型对所述故障报警信息进行分类存储,基于所存储的故障报警信息,进行不同页面间、不同版本间的性能比较。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图4示出了本公开实施例四的基于字节码插桩技术的应用程序性能管理设备的结构示意图。图4示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统包括中央处理单元(CPU)401,其可以基于存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有系统操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也基于需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,基于需要安装在驱动器410上,以便于从其上读出的计算机程序基于需要被安装入存储部分408。
特别地,基于本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的方法中限定的上述功能。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种基于字节码插桩技术的应用程序性能管理方法,其特征在于,包括:
接收用户端上报的故障报警信息,所述故障报警信息包括应用程序发生故障时当前二级容器对应的界面的名称和故障信息;
提取所述故障报警信息中所述当前二级容器对应的界面的名称和所述故障信息中包含的故障类型;
根据所述当前二级容器对应的界面的名称确定所述当前二级容器对应的界面类型;
根据所述界面类型对所述故障报警信息进行分类存储;
基于所存储的故障报警信息,进行不同页面间、不同版本间的性能比较。
2.根据权利要求1所述的基于字节码插桩技术的应用程序性能管理方法,其特征在于,所述当前二级容器对应的界面的名称为预先基于字节码插桩技术对应用程序的底层代码进行修改,并在所述应用程序的运行过程中,输出的当前二级容器对应的界面的名称。
3.根据权利要求2所述的基于字节码插桩技术的应用程序性能管理方法,其特征在于,所述故障类型包括应用程序崩溃,和/或,应用程序页面性能下降,和/或,应用程序网络错误。
4.根据权利要求3所述的基于字节码插桩技术的应用程序性能管理方法,其特征在于,所述故障报警信息还包括发生故障时的时间信息;
在所述提取所述故障报警信息中所述当前二级容器对应的界面的名称和所述故障信息中包含的故障类型之后,还包括:
提取所述对应所述时间信息的所述应用程序的运行日志,从所述运行日志中提取当前二级容器对应的界面的参数。
5.根据权利要求4所述的基于字节码插桩技术的应用程序性能管理方法,其特征在于,所述从所述运行日志中提取当前二级容器对应的界面的参数,包括:
从所述运行日志中提取当前二级容器对应的界面的运行参数,以及所述当前二级容器对应的界面中的子控件的运行参数。
6.根据权利要求5所述的基于字节码插桩技术的应用程序性能管理方法,其特征在于,基于所存储的故障报警信息,进行不同页面间的的性能比较,包括:
获取所述应用程序的其他二级容器对应的界面的运行参数,将所述当前二级容器对应的界面的运行参数与所述其他二级容器对应的界面的运行参数进行对比,生成第一性能指标图。
7.根据权利要求6所述的基于字节码插桩技术的应用程序性能管理方法,其特征在于,基于所存储的故障报警信息,进行不同版本间的性能比较,包括:
获取所述应用程序的其他版本的与所述当前二级容器对应的二级容器所对应的界面的运行参数,将所述当前二级容器对应的界面的运行参数与所述其他版本的与所述当前二级容器对应的二级容器所对应的界面的运行参数进行对比,生成第二性能指标图。
8.一种基于字节码插桩技术的应用程序性能管理装置,其特征在于,包括:
故障报警信息接收模块,用于接收用户端上报的故障报警信息,所述故障报警信息包括应用程序发生故障时当前二级容器对应的界面的名称和故障信息;
信息提取模块,用于提取所述故障报警信息中所述当前二级容器对应的界面的名称和所述故障信息中包含的故障类型;
页面类型确定模块,用于根据所述当前二级容器对应的界面的名称确定所述当前二级容器对应的界面类型;
存储模块,用于根据所述界面类型对所述故障报警信息进行分类存储,基于所存储的故障报警信息,进行不同页面间、不同版本间的性能比较。
9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110209987.8A CN113010414A (zh) | 2021-02-24 | 2021-02-24 | 基于字节码插桩技术的应用程序性能管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110209987.8A CN113010414A (zh) | 2021-02-24 | 2021-02-24 | 基于字节码插桩技术的应用程序性能管理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113010414A true CN113010414A (zh) | 2021-06-22 |
Family
ID=76385746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110209987.8A Pending CN113010414A (zh) | 2021-02-24 | 2021-02-24 | 基于字节码插桩技术的应用程序性能管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113010414A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681913A (zh) * | 2016-12-08 | 2017-05-17 | 武汉斗鱼网络科技有限公司 | 一种应用卡顿定位系统及方法 |
CN107622000A (zh) * | 2017-09-19 | 2018-01-23 | 北京京东尚科信息技术有限公司 | 一种应用程序崩溃信息的收集和上报方法、装置 |
WO2019042294A1 (zh) * | 2017-08-31 | 2019-03-07 | Oppo广东移动通信有限公司 | 资源配置方法及相关产品 |
CN109992454A (zh) * | 2017-12-31 | 2019-07-09 | 中国移动通信集团江西有限公司 | 故障定位的方法、装置和存储介质 |
CN110389891A (zh) * | 2018-04-23 | 2019-10-29 | 北京京东尚科信息技术有限公司 | 测试应用程序的方法和装置 |
CN110941554A (zh) * | 2019-11-25 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 一种复现故障的方法及装置 |
CN111026566A (zh) * | 2019-12-17 | 2020-04-17 | 北京美鲜科技有限公司 | 一种客户端业务错误场景立体监控方法及装置 |
CN111858382A (zh) * | 2020-08-03 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 应用程序测试方法、装置、服务器、系统及存储介质 |
-
2021
- 2021-02-24 CN CN202110209987.8A patent/CN113010414A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681913A (zh) * | 2016-12-08 | 2017-05-17 | 武汉斗鱼网络科技有限公司 | 一种应用卡顿定位系统及方法 |
WO2019042294A1 (zh) * | 2017-08-31 | 2019-03-07 | Oppo广东移动通信有限公司 | 资源配置方法及相关产品 |
CN107622000A (zh) * | 2017-09-19 | 2018-01-23 | 北京京东尚科信息技术有限公司 | 一种应用程序崩溃信息的收集和上报方法、装置 |
CN109992454A (zh) * | 2017-12-31 | 2019-07-09 | 中国移动通信集团江西有限公司 | 故障定位的方法、装置和存储介质 |
CN110389891A (zh) * | 2018-04-23 | 2019-10-29 | 北京京东尚科信息技术有限公司 | 测试应用程序的方法和装置 |
CN110941554A (zh) * | 2019-11-25 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 一种复现故障的方法及装置 |
CN111026566A (zh) * | 2019-12-17 | 2020-04-17 | 北京美鲜科技有限公司 | 一种客户端业务错误场景立体监控方法及装置 |
CN111858382A (zh) * | 2020-08-03 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 应用程序测试方法、装置、服务器、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113326247A (zh) | 云端数据的迁移方法、装置及电子设备 | |
CN113535577B (zh) | 基于知识图谱的应用测试方法、装置、电子设备和介质 | |
US11886296B2 (en) | Inhibiting recommendation of driver installations for drivers that are likely to cause a system failure | |
CN116483888A (zh) | 程序评估方法及装置、电子设备和计算机可读存储介质 | |
CN110716859A (zh) | 自动为修改的代码推送测试用例的方法及相关装置 | |
CN113010414A (zh) | 基于字节码插桩技术的应用程序性能管理方法和装置 | |
CN110795308A (zh) | 一种服务器检验方法、装置、设备及存储介质 | |
CN110704614A (zh) | 对应用中的用户群类型进行预测的信息处理方法及装置 | |
CN114706856A (zh) | 故障处理方法及装置、电子设备和计算机可读存储介质 | |
CN114546839A (zh) | 冗余代码分析方法、装置、电子设备、存储介质及产品 | |
CN114312930A (zh) | 基于日志数据的列车运行异常诊断方法和装置 | |
CN114218313A (zh) | 数据管理方法、装置、电子设备、存储介质及产品 | |
CN109901983B (zh) | 自动化测试方法及装置、存储介质、电子设备 | |
CN111737129A (zh) | 服务控制方法、装置、计算机可读介质及电子设备 | |
CN110750563A (zh) | 多模型数据处理方法、系统、装置、电子设备及存储介质 | |
CN113010415A (zh) | 基于字节码插桩技术的应用程序故障诊断方法和装置 | |
CN113835893B (zh) | 数据处理的方法、装置、设备、存储介质及程序产品 | |
CN114003248B (zh) | 一种模型管理方法、装置、电子设备及存储介质 | |
CN116578583B (zh) | 异常语句识别方法、装置、设备、存储介质 | |
US20220004986A1 (en) | Logistics node tracing method and apparatus | |
CN116954975A (zh) | 软件产品的故障处理方法、系统、装置以及存储介质 | |
CN114116519A (zh) | 接口测试方法、装置、电子设备和存储介质 | |
CN115687284A (zh) | 信息处理方法、装置、设备及存储介质 | |
Bavand | The Impact of Parallel and Batch Testing in Continuous Integration Environments | |
CN116860886A (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: 20210622 |