CN109491907A - 一种卡顿检测方法、装置、电子设备和存储介质 - Google Patents

一种卡顿检测方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN109491907A
CN109491907A CN201811308498.2A CN201811308498A CN109491907A CN 109491907 A CN109491907 A CN 109491907A CN 201811308498 A CN201811308498 A CN 201811308498A CN 109491907 A CN109491907 A CN 109491907A
Authority
CN
China
Prior art keywords
caton
detection
time
run
testing result
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
Application number
CN201811308498.2A
Other languages
English (en)
Inventor
陈继军
薛栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201811308498.2A priority Critical patent/CN109491907A/zh
Publication of CN109491907A publication Critical patent/CN109491907A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software 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

一种卡顿检测方法、装置、电子设备和存储介质
技术领域
本发明涉及信息科学技术领域,特别是涉及一种卡顿检测方法、装置、电子设备和存储介质。
背景技术
随着智能终端的发展,智能终端越来越渗透于人们的日常生活中。而在人们使用智能终端时,一般都是通过运行安装在智能终端上的应用程序,而满足自己的需求。
基于应用程序的优化策略、智能终端的硬件性能等原因,应用程序在运行期间可能会出现卡顿的情况。现在的技术中,只能通过查看应用程序的日志信息,获取应用程序中不同方法的执行时间,通过人工的方式判断方法的执行过程中是否发生了卡顿。如果上述现有的方案对应用程序中的所有方法进行卡顿检测,效率极低,不利于开发人员对应用程序进行卡顿检测。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种卡顿检测方法、装置、电子设备和存储介质。
为了解决上述问题,本发明实施例公开了一种卡顿检测方法,应用于应用程序,所述应用程序包括运行对象;所述方法包括:
在所述运行对象中插入检测代码;
采用所述检测代码,确定所述运行对象的卡顿检测信息;
依据所述卡顿检测信息和预置的卡顿时间阈值,生成与所述运行对象匹配的卡顿检测结果;
展示所述卡顿检测结果。
优选地,所述在所述运行对象中插入检测代码的步骤,包括:
遍历所述应用程序中的运行对象;
按照预设规则,确定目标运行对象;
生成与所述目标对象唯一匹配的标识码;
在所述目标运行对象中添加所述检测代码,以及所述标识码。
优选地,所述检测代码包括开始时间检测代码以及结束时间检测代码;所述目标运行对象设置有运行起始点和运行结束点;所述在所述目标运行对象添加所述检测代码的步骤,包括:
在所述运行起始点处添加所述开始时间检测代码;
在所述运行结束点处添加所述结束时间检测代码。
优选地,所述卡顿检测信息包括开始时间戳和结束时间戳;所述采用所述检测代码,确定所述运行对象的卡顿检测信息的步骤,包括:
当所述目标运行对象运行至所述运行起始点时,所述开始时间检测代码确定与当前时刻对应的开始时间戳;
当所述目标运行对象运行至所述运行结束点时,所述结束时间检测代码确定与当前时刻对应的结束时间戳。
优选地,所述依据所述卡顿检测信息和预置的卡顿时间阈值,生成与所述运行对象匹配的卡顿检测结果的步骤,包括:
计算所述结束时间戳与所述开始时间戳的差值;
确定所述结束时间戳与所述开始时间戳的差值为运行时间;
当所述运行时间大于所述卡顿时间阈值时,提取所述运行对象的特征信息;所述特征信息包括所述标识符;
基于所述运行时间和所述特征信息,生成所述卡顿检测结果。
优选地,所述应用程序与预置的数据存储介质连接;在所述展示所述卡顿检测结果之前,所述方法还包括:
将所述卡顿检测结果保存至所述数据存储介质。
优选地,所述展示所述卡顿检测结果的步骤,包括:
提取所述数据存储介质中的多个卡顿检测结果;
对所述卡顿检测结果中的运行时间进行依次排序;
基于对所述运行时间的排序,展示所述卡顿检测结果。
本发明实施例还公开了一种卡顿检测装置,应用于应用程序,所述应用程序包括运行对象;所述装置包括:
插桩模块,用于在所述运行对象中插入检测代码;
确定模块,用于采用所述检测代码,确定所述运行对象的卡顿检测信息;
生成模块,用于依据所述卡顿检测信息和预置的卡顿时间阈值,生成与所述运行对象匹配的卡顿检测结果;
展示模块,用于展示所述卡顿检测结果。
优选地,所述插桩模块包括:
遍历子模块,用于遍历所述应用程序中的运行对象;
目标确定子模块,用于按照预设规则,确定目标运行对象;
标识码子模块,用于生成与所述目标对象唯一匹配的标识码;
添加子模块,用于在所述目标运行对象中添加所述检测代码,以及所述标识码。
优选地,所述检测代码包括开始时间检测代码以及结束时间检测代码;所述目标运行对象设置有运行起始点和运行结束点;添加子模块包括:
第一添加单元,用于在所述运行起始点处添加所述开始时间检测代码;
第二添加单元,用于在所述运行结束点处添加所述结束时间检测代码。
优选地,所述卡顿检测信息包括开始时间戳和结束时间戳;所述确定模块包括:
开始时间子模块,用于当所述目标运行对象运行至所述运行起始点时,所述开始时间检测代码确定与当前时刻对应的开始时间戳;
结束时间子模块,用于当所述目标运行对象运行至所述运行结束点时,所述结束时间检测代码确定与当前时刻对应的结束时间戳。
优选地,所述生成模块包括:
差值计算子模块,用于计算所述结束时间戳与所述开始时间戳的差值;
运行时间子模块,用于确定所述结束时间戳与所述开始时间戳的差值为运行时间;
特征提取子模块,用于当所述运行时间大于所述卡顿时间阈值时,提取所述运行对象的特征信息;所述特征信息包括所述标识符;
结果生成子模块,用于基于所述运行时间和所述特征信息,生成所述卡顿检测结果。
优选地,所述应用程序与预置的数据存储介质连接;所述装置还包括:
存储模块,用于将所述卡顿检测结果保存至所述数据存储介质。
优选地,所述展示模块包括:
结果提取子模块,用于提取所述数据存储介质中的多个卡顿检测结果;
时间排序子模块,用于对所述卡顿检测结果中的运行时间进行依次排序;
结果展示子模块,用于基于对所述运行时间的排序,展示所述卡顿检测结果。
本发明实施例还公开了电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的卡顿检测方法的步骤。
本发明实施例还公开了计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的卡顿检测方法的步骤。
本发明实施例包括以下优点:通过在编译应用程序时,在运行对象中插入检测代码。在运行应用程序时,采用检测代码确定运行对象的卡顿检测信息,并根据确定的卡顿检测信息和预置的卡顿时间阈值,生成卡顿检测结果,并展示所述卡顿检测结果,从而实现对应用程序中的运行对象进行卡顿检测,并且可以在检测到运行对象卡顿后,展示与运行对象匹配的卡顿检测结果。
附图说明
图1是本发明的一种卡顿检测方法实施例一的步骤流程图;
图2是本发明的一种卡顿检测方法实施例二的步骤流程图;
图3是本发明的一种卡顿检测装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种卡顿检测方法实施例一的步骤流程图,所述方法可以应用于应用程序,所述应用程序包括运行对象;所述方法具体可以包括如下步骤:
步骤101,在所述运行对象中插入检测代码;
运行对象可以是指应用程序中的方法信息,方法信息是应用程序中的类信息的一部分。可以在编译所述应用程序时,在运行对象中插入检测代码。
步骤102,采用所述检测代码,确定所述运行对象的卡顿检测信息;
在运行所述应用程序时,可以通过插入在运行对象中的检测代码,获取与该运行对象对应的卡顿检测信息。
步骤103,依据所述卡顿检测信息和预置的卡顿时间阈值,生成与所述运行对象匹配的卡顿检测结果;
通过与运行对象对应的卡顿检测信息和阈值的卡顿时间阈值进行对比,生产与运行对象匹配的卡顿检测结果。
步骤104,展示所述卡顿检测结果。
将生产的卡顿检测结果进行展示。
在本发明实施例中,通过在编译应用程序时,在运行对象中插入检测代码。在运行应用程序时,采用检测代码确定运行对象的卡顿检测信息,并根据确定的卡顿检测信息和预置的卡顿时间阈值,生成卡顿检测结果,并展示所述卡顿检测结果,从而实现对应用程序中的运行对象进行卡顿检测,并且可以在检测到运行对象卡顿后,展示与运行对象匹配的卡顿检测结果。
参照图2,示出了本发明的一种卡顿检测方法实施例二步骤流程图,所述方法可以应用于应用程序,所述应用程序包括运行对象;所述方法具体可以包括如下步骤:
步骤201,在所述运行对象中插入检测代码;
可以在编译应用程序时,为筛选后的一个或多个运行对象,插入检测代码。
在本发明的一种优选实施例中,步骤201可以包括
子步骤S11,遍历所述应用程序中的运行对象;
可以采用Javassist框架,获取该应用程序的所有类信息(即类文件),所述类信息包括一个或多个方法信息(即运行对象)。可以通过遍历类信息,从而遍历每个运行对象。
子步骤S12,按照预设规则,确定目标运行对象;
可以按照预设规则,在应用程序中的运行对象中,筛选出需要进行卡顿检测的目标运行对象。例如:一般地,每一个运行对象包含有唯一的方法名信息,可以通过在遍历运行对象时,提取运行对象中的方法名信息。当方法名信息与预置的目标方法名信息一致时,则确定该运行对象为目标运行对象。
子步骤S13,生成与所述目标对象唯一匹配的标识码;
可以为每一个目标运行对象生成唯一的标识码,标识码可以由多个有序的字符组成。字符的类型包括字母、数字、符号中的一种或多种。
子步骤S14,在所述目标运行对象中添加所述检测代码,以及所述标识码。
可以在目标运行对象的指定位置处插入检测代码和子步骤S13中生成的标识码。
在一种优选示例中,可以在子步骤S13之前,生成与目标运行对象唯一匹配的标识码。在子步骤S13中,对目标运行对象添加检测代码的同时,为目标运行对象生成唯一匹配的运行对象标识符。
在本发明的一种优选优选实施例中,所述检测代码包括开始时间检测代码以及结束时间检测代码;所述目标运行对象设置有运行起始点和运行结束点;子步骤S13可以包括:
子步骤S131,在所述运行起始点处添加所述开始时间检测代码;
运行对象可以由多行有序的代码构成,运行起始点是运行对象中的第一行代码的位置。
在一种示例示例中,开始运行时间检测代码可以是:
methoStartTime=System.currentTimeMillis。
子步骤S132,在所述运行结束点处添加所述结束时间检测代码。
运行结束点是运行对象中的最后一行代码的位置。
在一种示例示例中,结束运行时间检测代码可以是:
methodEndTime=System.currentTimeMillis。
步骤202,采用所述检测代码,确定所述运行对象的卡顿检测信息;
当执行运行代码所述检测代码时,检测代码会生产一个执行结果,将检测代码生产的执行结果为卡顿检测信息。
在本发明的一种优选实施例中,所述卡顿检测信息包括开始时间戳和结束时间戳;步骤202可以包括:
子步骤S21,当所述目标运行对象运行至所述运行起始点时,所述开始时间检测代码确定与当前时刻对应的开始时间戳;
子步骤S22,当所述目标运行对象运行至所述运行结束点时,所述结束时间检测代码确定与当前时刻对应的结束时间戳。
应用程序安装在软件系统中,该软件系统中设置有时间组件,时间组件用于记录确定当前时刻。
当所述目标运行对象运行至所述运行起始点时,所述开始时间检测代码通过检测系统中时间组件的信息,确定软件系统当前时刻,也即应用程序所述当前时刻,并将当前时刻确定为与目标运行对象对应的开始时间戳。
当所述目标运行对象运行至所述运行结束点时,所述结束时间检测代码通过检测系统中时间组件的信息,确定软件系统当前时刻,也即应用程序所述当前时刻,并将当前时刻确定为与目标运行对象对应的结束时间戳。
步骤203,依据所述卡顿检测信息和预置的卡顿时间阈值,生成与所述运行对象匹配的卡顿检测结果;
当卡顿检测信息与预置的卡顿时间阈值满足一定条件时,生成与目标运行对象匹配的卡顿检测结果。
在本发明的一种优选实施例中,步骤203可以包括:
子步骤S31,计算所述结束时间戳与所述开始时间戳的差值;
可以通过采用methodEndTime-methoStartTime的公式,计算结束时间戳与开始时间戳的差值。
子步骤S32,确定所述结束时间戳与所述开始时间戳的差值为运行时间;
在子步骤S31中计算得到的差值为运行时间,则运行时间为应用程序运行所述目标运行对象时所消耗的时间。
子步骤S33,当所述运行时间大于所述卡顿时间阈值时,提取所述运行对象的特征信息;所述特征信息包括所述标识符;
特征信息除了标识符之外,特征信息还可以包括类信息、方法名信息、运行对象在类信息中的位置、结束时间戳、开始时间戳中的一个或多个。
子步骤S34,基于所述运行时间和所述特征信息,生成所述卡顿检测结果。
组合目标运行对象的运行时间和特征信息,生成与目标运行对象匹配的卡顿检测结果。
步骤204,将所述卡顿检测结果保存至所述数据存储介质;
所述应用程序与预置的数据存储介质连接,应用程序可以在生成卡顿检测结果后,自动将卡顿检测结果存储只数据存储介质中。其中,数据存储介质包括但不限于SD(Secure Digital Memory,安全数码)卡、硬盘、内存、光盘等。
在一种示例中,应用程序还可以将卡顿检测结果存储至预置的服务器中。
步骤205,展示所述卡顿检测结果。
应用程序可以与显示组件连接,可以将卡顿检测结果发送至所述显示组件,然后采用所述显示组件显示所述卡顿检测结果。显示组件可以是显示屏、显示器等。
在本发明的一种优选实施例中,步骤205可以包括:
子步骤S51,提取所述数据存储介质中的多个卡顿检测结果;
在数据存储介质中,提前一个或多个卡顿检测结果。
在实际应用中,可以根据特征信息中的至少一个,或者运行时间作为筛选条件,筛选出需要进行展示的卡顿检测结果。
子步骤S52,对所述卡顿检测结果中的运行时间进行依次排序;
可以根据卡顿检测结果中的运行时间进行排序,例如:按照运行时间从小到大的方式,对运行时间进行排序。
子步骤S53,基于对所述运行时间的排序,展示所述卡顿检测结果。
可以按照运行时间的排序,展示排序后的卡顿检测结果。例如:卡顿检测结果A对应的运行时间是8秒,卡顿检测结果B对应的运行时间是12秒,卡顿检测结果C对应的运行时间是11秒,则可以按照运行时间从小到大的方式,对各个检测结果的运行时间进行排序,最终按照卡顿检测结果A、卡顿检测结果C、卡顿检测结果B的顺序展示上述三个卡顿检测结果。
在本发明实施例中,通过在编译应用程序时,遍历所述应用程序中的运行对象,并确定目标运行对象,然后在目标运行对象中插入检测代码。在运行应用程序时,采用检测代码确定目标运行对象的开始运行时间和结束运行时间,并依据卡顿时间预置生成目标运行对象的卡顿检测结果。从而实现对应用程序中指定的运行对象进行自动化卡顿检测,并且提高了应用程序中对运行对象进行卡顿检测的覆盖率。
进一步地,应用程序将卡顿检测结果存储至数据存储介质中,从而实现对卡顿检测结果进行存储。
进一步地,可以从数据存储介质中,提取卡顿检测结果,在对卡顿检测结果进行排序后进行展示,从而实现对卡顿检测结果的排序和展示,直观地获取目标运行对象的卡顿检测结果。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了本发明的一种卡顿检测装置实施例的结构框图,所述装置可以应用于应用程序,所述应用程序包括运行对象;所述装置具体可以包括如下模块:
插桩模块301,用于在所述运行对象中插入检测代码;
确定模块302,用于采用所述检测代码,确定所述运行对象的卡顿检测信息;
生成模块303,用于依据所述卡顿检测信息和预置的卡顿时间阈值,生成与所述运行对象匹配的卡顿检测结果;
展示模块304,用于展示所述卡顿检测结果。
在本发明的一种优选实施例中,所述插桩模块301包括:
遍历子模块,用于遍历所述应用程序中的运行对象;
目标确定子模块,用于按照预设规则,确定目标运行对象;
标识码子模块,用于生成与所述目标对象唯一匹配的标识码;
添加子模块,用于在所述目标运行对象中添加所述检测代码,以及所述标识码。
在本发明的一种优选实施例中,所述检测代码包括开始时间检测代码以及结束时间检测代码;所述目标运行对象设置有运行起始点和运行结束点;添加子模块包括:
第一添加单元,用于在所述运行起始点处添加所述开始时间检测代码;
第二添加单元,用于在所述运行结束点处添加所述结束时间检测代码。
在本发明的一种优选实施例中,所述卡顿检测信息包括开始时间戳和结束时间戳;所述确定模块302包括:
开始时间子模块,用于当所述目标运行对象运行至所述运行起始点时,所述开始时间检测代码确定与当前时刻对应的开始时间戳;
结束时间子模块,用于当所述目标运行对象运行至所述运行结束点时,所述结束时间检测代码确定与当前时刻对应的结束时间戳。
在本发明的一种优选实施例中,所述生成模块303包括:
差值计算子模块,用于计算所述结束时间戳与所述开始时间戳的差值;
运行时间子模块,用于确定所述结束时间戳与所述开始时间戳的差值为运行时间;
特征提取子模块,用于当所述运行时间大于所述卡顿时间阈值时,提取所述运行对象的特征信息;所述特征信息包括所述标识符;
结果生成子模块,用于基于所述运行时间和所述特征信息,生成所述卡顿检测结果。
在本发明的一种优选实施例中,所述应用程序与预置的数据存储介质连接;所述装置还包括:
存储模块,用于将所述卡顿检测结果保存至所述数据存储介质。
在本发明的一种优选实施例中,所述展示模块304包括:
结果提取子模块,用于提取所述数据存储介质中的多个卡顿检测结果;
时间排序子模块,用于对所述卡顿检测结果中的运行时间进行依次排序;
结果展示子模块,用于基于对所述运行时间的排序,展示所述卡顿检测结果。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例公开了电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的卡顿检测方法的步骤。
本发明实施例公开了计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的卡顿检测方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种卡顿检测方法、装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种卡顿检测方法,其特征在于,应用于应用程序,所述应用程序包括运行对象;所述方法包括:
在所述运行对象中插入检测代码;
采用所述检测代码,确定所述运行对象的卡顿检测信息;
依据所述卡顿检测信息和预置的卡顿时间阈值,生成与所述运行对象匹配的卡顿检测结果;
展示所述卡顿检测结果。
2.根据权利要求1所述的方法,其特征在于,所述在所述运行对象中插入检测代码的步骤,包括:
遍历所述应用程序中的运行对象;
按照预设规则,确定目标运行对象;
生成与所述目标对象唯一匹配的标识码;
在所述目标运行对象中添加所述检测代码,以及所述标识码。
3.根据权利要求2所述的方法,其特征在于,所述检测代码包括开始时间检测代码以及结束时间检测代码;所述目标运行对象设置有运行起始点和运行结束点;所述在所述目标运行对象添加所述检测代码的步骤,包括:
在所述运行起始点处添加所述开始时间检测代码;
在所述运行结束点处添加所述结束时间检测代码。
4.根据权利要求3所述的方法,其特征在于,所述卡顿检测信息包括开始时间戳和结束时间戳;所述采用所述检测代码,确定所述运行对象的卡顿检测信息的步骤,包括:
当所述目标运行对象运行至所述运行起始点时,所述开始时间检测代码确定与当前时刻对应的开始时间戳;
当所述目标运行对象运行至所述运行结束点时,所述结束时间检测代码确定与当前时刻对应的结束时间戳。
5.根据权利要求4所述的方法,其特征在于,所述依据所述卡顿检测信息和预置的卡顿时间阈值,生成与所述运行对象匹配的卡顿检测结果的步骤,包括:
计算所述结束时间戳与所述开始时间戳的差值;
确定所述结束时间戳与所述开始时间戳的差值为运行时间;
当所述运行时间大于所述卡顿时间阈值时,提取所述运行对象的特征信息;所述特征信息包括所述标识符;
基于所述运行时间和所述特征信息,生成所述卡顿检测结果。
6.根据权利要求5所述的方法,其特征在于,所述应用程序与预置的数据存储介质连接;在所述展示所述卡顿检测结果之前,所述方法还包括:
将所述卡顿检测结果保存至所述数据存储介质。
7.根据权利要求6所述的方法,其特征在于,所述展示所述卡顿检测结果的步骤,包括:
提取所述数据存储介质中的多个卡顿检测结果;
对所述卡顿检测结果中的运行时间进行依次排序;
基于对所述运行时间的排序,展示所述卡顿检测结果。
8.一种卡顿检测装置,其特征在于,应用于应用程序,所述应用程序包括运行对象;所述装置包括:
插桩模块,用于在所述运行对象中插入检测代码;
确定模块,用于采用所述检测代码,确定所述运行对象的卡顿检测信息;
生成模块,用于依据所述卡顿检测信息和预置的卡顿时间阈值,生成与所述运行对象匹配的卡顿检测结果;
展示模块,用于展示所述卡顿检测结果。
9.电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的卡顿检测方法的步骤。
10.计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的卡顿检测方法的步骤。
CN201811308498.2A 2018-11-05 2018-11-05 一种卡顿检测方法、装置、电子设备和存储介质 Pending CN109491907A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811308498.2A CN109491907A (zh) 2018-11-05 2018-11-05 一种卡顿检测方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811308498.2A CN109491907A (zh) 2018-11-05 2018-11-05 一种卡顿检测方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN109491907A true CN109491907A (zh) 2019-03-19

Family

ID=65693768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811308498.2A Pending CN109491907A (zh) 2018-11-05 2018-11-05 一种卡顿检测方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN109491907A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966577A (zh) * 2020-07-06 2020-11-20 北京奇艺世纪科技有限公司 一种程序稳定性检测方法及装置
CN112199261A (zh) * 2019-07-08 2021-01-08 腾讯科技(深圳)有限公司 应用程序性能分析方法及装置、电子设备
CN115981985A (zh) * 2023-01-28 2023-04-18 北京基调网络股份有限公司 代码块监测方法、装置、电子设备及可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389258A (zh) * 2015-12-10 2016-03-09 腾讯科技(深圳)有限公司 一种程序检测方法及装置
US20160314058A1 (en) * 2015-04-23 2016-10-27 3S-Smart Software Solutions GmbH Method and system for measuring a runtime by means of watchpoints
CN106681913A (zh) * 2016-12-08 2017-05-17 武汉斗鱼网络科技有限公司 一种应用卡顿定位系统及方法
CN106909431A (zh) * 2015-12-22 2017-06-30 阿里巴巴集团控股有限公司 定位函数性能问题的方法及装置
CN107038107A (zh) * 2017-03-09 2017-08-11 武汉斗鱼网络科技有限公司 一种获取应用卡顿信息的方法及装置
CN108345524A (zh) * 2017-01-22 2018-07-31 腾讯科技(深圳)有限公司 应用程序监控方法及应用程序监控装置
CN108512695A (zh) * 2018-03-12 2018-09-07 腾讯音乐娱乐科技(深圳)有限公司 监控应用卡顿的方法及装置
CN108549600A (zh) * 2018-03-29 2018-09-18 珠海市魅族科技有限公司 一种性能分析方法及装置、服务器和可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160314058A1 (en) * 2015-04-23 2016-10-27 3S-Smart Software Solutions GmbH Method and system for measuring a runtime by means of watchpoints
CN105389258A (zh) * 2015-12-10 2016-03-09 腾讯科技(深圳)有限公司 一种程序检测方法及装置
CN106909431A (zh) * 2015-12-22 2017-06-30 阿里巴巴集团控股有限公司 定位函数性能问题的方法及装置
CN106681913A (zh) * 2016-12-08 2017-05-17 武汉斗鱼网络科技有限公司 一种应用卡顿定位系统及方法
CN108345524A (zh) * 2017-01-22 2018-07-31 腾讯科技(深圳)有限公司 应用程序监控方法及应用程序监控装置
CN107038107A (zh) * 2017-03-09 2017-08-11 武汉斗鱼网络科技有限公司 一种获取应用卡顿信息的方法及装置
CN108512695A (zh) * 2018-03-12 2018-09-07 腾讯音乐娱乐科技(深圳)有限公司 监控应用卡顿的方法及装置
CN108549600A (zh) * 2018-03-29 2018-09-18 珠海市魅族科技有限公司 一种性能分析方法及装置、服务器和可读存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199261A (zh) * 2019-07-08 2021-01-08 腾讯科技(深圳)有限公司 应用程序性能分析方法及装置、电子设备
CN112199261B (zh) * 2019-07-08 2023-12-26 腾讯科技(深圳)有限公司 应用程序性能分析方法及装置、电子设备
CN111966577A (zh) * 2020-07-06 2020-11-20 北京奇艺世纪科技有限公司 一种程序稳定性检测方法及装置
CN111966577B (zh) * 2020-07-06 2023-09-08 北京奇艺世纪科技有限公司 一种程序稳定性检测方法及装置
CN115981985A (zh) * 2023-01-28 2023-04-18 北京基调网络股份有限公司 代码块监测方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN109491907A (zh) 一种卡顿检测方法、装置、电子设备和存储介质
CN109815991A (zh) 机器学习模型的训练方法、装置、电子设备及存储介质
CN110246512A (zh) 声音分离方法、装置及计算机可读存储介质
CN110177108A (zh) 一种异常行为检测方法、装置及验证系统
CN104572035B (zh) 网页代码的动态生成方法和动态生成系统
CN109446094A (zh) 一种卡顿检测方法、装置、电子设备和存储介质
CN107832216A (zh) 一种埋点测试方法及装置
CN108197668A (zh) 模型数据集的建立方法及云系统
CN109190646B (zh) 一种基于神经网络的数据预测方法、装置及神经网络系统
CN109635564A (zh) 一种检测暴力破解行为的方法、装置、介质及设备
CN105718795B (zh) Linux下基于特征码的恶意代码取证方法及系统
CN109358898A (zh) 一种信息处理方法、装置、电子设备和存储介质
CN113450147B (zh) 基于决策树的产品匹配方法、装置、设备及存储介质
CN113032792A (zh) 系统业务漏洞检测方法、系统、设备及存储介质
CN105630656A (zh) 基于日志模型的系统健壮性分析方法及装置
CN106528430A (zh) 一种应用程序的检测方法、装置及电子设备
CN112149386A (zh) 一种事件抽取方法、存储介质及服务器
CN110427375A (zh) 字段类别的识别方法及装置
CN110221933A (zh) 代码缺陷辅助修复方法及系统
CN108875317A (zh) 软件克隆检测方法及装置、检测设备及存储介质
CN110555485A (zh) 穿模样本生成、模型训练、检测方法、装置及介质
CN114374885A (zh) 视频关键片段确定方法、装置、电子设备及可读存储介质
CN105446968B (zh) 一种检测网页特征区域的方法和装置
CN109783713A (zh) 一种动态网站分类方法、系统、设备及介质
CN113238748B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190319