CN106649063B - 用于监测程序运行时耗时数据的方法及系统 - Google Patents
用于监测程序运行时耗时数据的方法及系统 Download PDFInfo
- Publication number
- CN106649063B CN106649063B CN201611042803.9A CN201611042803A CN106649063B CN 106649063 B CN106649063 B CN 106649063B CN 201611042803 A CN201611042803 A CN 201611042803A CN 106649063 B CN106649063 B CN 106649063B
- Authority
- CN
- China
- Prior art keywords
- pile
- data
- program
- time
- consuming
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000012544 monitoring process Methods 0.000 title claims abstract description 31
- 238000003780 insertion Methods 0.000 claims abstract description 100
- 230000037431 insertion Effects 0.000 claims abstract description 100
- 230000008569 process Effects 0.000 claims abstract description 41
- 230000001960 triggered effect Effects 0.000 claims abstract description 30
- 238000012216 screening Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 12
- 238000004140 cleaning Methods 0.000 claims description 3
- 230000010354 integration Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 5
- 238000009826 distribution Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction 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/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种用于监测程序运行时耗时数据的方法及系统,属于计算机技术领域。方法包括:获取插桩点的位置信息和插桩代码,根据插桩点的位置信息和插桩代码对被测程序进行插桩;插桩点至少为两个;运行插桩后的被测程序,当插桩后的被测程序中的插桩点被触发时,执行与触发的插桩点对应的插桩代码,获取执行插桩代码输出的桩点数据;桩点数据包括:时间戳、事件标签和堆栈信息;根据桩点数据,生成被测程序在运行至至少两个插桩点之间的耗时数据。本发明有效地帮助开发者定位到程序运行过程中耗时的关键节点与程序各个阶段的耗时分布,极大地压缩了开发成本,便利了程序优化过程。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种用于监测程序运行时耗时数据的方法及系统。
背景技术
程序在开发过程中或在应用过程中,需要对程序的性能进行测量监控,特别是程序的运行速度也就是耗时数据进行监控。
现有的技术方案在监控程序运行状态时,一般将程序运行时数据无差别地展示或记录下来,然后通过实时展示或报表的形式展示出来,若发现数据异常时需要人工进行筛选数据,并将多次数据整合处理,这一过程由于运行时信息过于繁杂往往难于操作,若修改程序后需要再次展示数据则需要重复上述操作,操作流程比较重。
发明内容
有鉴于此,本发明提供了一种用于监测程序运行时耗时数据的方法,包括:
获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个;
运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息;
根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
进一步地,所述插桩点为系统自动设置的插桩点;或者,所述插桩点为用户自定义设置的插桩点。
进一步地,所述根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据,包括:
将所述桩点数据发送给服务器;
服务器根据接收到的桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
进一步地,所述将所述桩点数据发送给服务器,包括:
在所述桩点数据满足预设的时间阈值后,将所述桩点数据发送给服务器;或者,
在所述桩点数据满足预设的数据量阈值后,将所述桩点数据发送给服务器。
进一步地,所述根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据之后,还包括:
获取用户输入的筛选条件,根据所述筛选条件对接收到的桩点数据筛选、整合;所述筛选条件包括事件标签和日期。
进一步地,所述获取执行所述插桩代码输出的桩点数据之后,还包括:对接收到的桩点数据进行存储。
进一步地,所述根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据之后,还包括:对接收到的桩点数据进行分析处理,并生成图形化数据输出。
进一步地,所述获取的执行所述插桩代码输出的桩点数据为被测程序多次运行时的桩点数据;
对接收到的桩点数据进行分析处理,并生成图形化数据输出,包括:
对被测程序每次运行时的桩点数据进行整合,生成被测程序每次运行时的耗时数据;
对所述耗时数据进行分析,删除脏数据;
根据被测程序多次运行时的耗时数据生成被测程序耗时数据的图形化数据。
根据本发明的另一发明,提供了一种用于监测程序运行时耗时数据的系统,包括:
插桩模块,用于获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个;
桩点数据获取模块,用于运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息;
耗时数据生成模块,用于根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
进一步地,所述插桩模块包括:
自动插桩单元,用于获取自动设置的插桩点;
自定义插桩单元,用于获取用户自定义设置的插桩点。
进一步地,所述系统包括服务器,所述耗时数据生成模块包括:
发送单元,用于将所述桩点数据发送给服务器;
处理单元,用于服务器根据接收到的桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
进一步地,所述发送单元包括:
第一发送子单元,用于在所述桩点数据满足预设的时间阈值后,将所述桩点数据发送给服务器;
第二发送子单元,用于在所述桩点数据满足预设的数据量阈值后,将所述桩点数据发送给服务器。
进一步地,还包括:
筛选模块,用于获取用户输入的筛选条件,根据所述筛选条件对接收到的桩点数据筛选、整合;所述筛选条件包括事件标签和日期。
进一步地,还包括:
存储模块,用于对接收到的桩点数据进行存储。
进一步地,还包括:
图形化输出模块,用于对接收到的桩点数据进行分析处理,并生成图形化数据输出。
进一步地,所述图形化输出模块包括:
单次数据整合单元,用于对被测程序每次运行时的桩点数据进行整合,生成被测程序每次运行时的耗时数据;
数据清理单元,用于对所述耗时数据进行分析,删除脏数据;
图形化单元,用于根据被测程序多次运行时的耗时数据生成被测程序耗时数据的图形化数据。
本发明提供的方案可以实现通过获取至少两个插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息;以及根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据;有效地帮助开发者定位到程序运行过程中耗时的关键节点与程序各个阶段的耗时分布,并且这些信息都是跟随系统运行即时产生的,非常有利于开发者在程序优化过程中做数据比对。本系统为程序优化提供了一个非常便捷的发现问题的手段,与证明优化成果的途径,极大地压缩了开发成本,便利了程序优化过程。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是根据本发明实施例提供的方法的计算机终端的硬件结构框图;
图2是根据本发明实施例1提供的用于监测程序运行时耗时数据的方法的流程图;
图3是实施例1中步骤203的流程图;
图4是实施例1中对桩点数据进行整合后的数据报表示例;
图5是实施例1中多次运行被测程序时输出的图形化数据的示意图;
图6是实施例2提供的另一种用于监测程序运行时耗时数据的方法的流程图;
图7是实施例3提供的用于监测程序运行时耗时数据的系统的结构框图;
图8是实施例4提供的另一种用于监测程序运行时耗时数据的系统的结构框图;
图9是根据本发明实施例的计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种用于监测程序运行时耗时数据的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是根据本发明实施例的用于监测程序运行时耗时数据的方法的计算机终端的硬件结构框图。如图1所示,计算机终端100可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用程序的程序程序以及模块,如本发明实施例中的用于监测程序运行时耗时数据的方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的程序程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的用于监测程序运行时耗时数据的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端100的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图2所示的用于监测程序运行时耗时数据的方法。该方法可以应用于智能终端设备中,由智能终端设备中的处理器执行,智能终端设备可以是智能手机、平板电脑等。智能终端设备中安装有至少一个应用程序,本发明实施例并不限定应用程序的种类,可以为系统类应用程序,也可以为程序类应用程序。
图2是根据本发明实施例的用于监测程序运行时耗时数据的方法的流程图。如图2所示,该方法的一种可选的方案包括如下步骤:
步骤201、获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个。
程序插桩是借助往被测程序中插入操作,来实现测试目的的方法。程序插桩的基本原理是在不破坏被测试程序原有逻辑完整性的前提下,在程序的相应位置上插入一些探针。这些探针本质上就是进行信息采集的代码段,可以是赋值语句或采集覆盖信息的函数调用。通过探针的执行并输出程序的运行特征数据。基于对这些特征数据的分析,揭示程序的内部行为和特征。
所谓插桩点,是指要插入插桩代码的代码点,可设为在调用系统函数或自定义函数时或者执行某类操作时插入预设的插桩代码。
为了测试程序在运行过程中每个事件节点之间的耗时信息,本申请的插桩点至少为两个,这样,根据插桩点输出的数据,就能够得到这两个插桩点之间的程序耗时数据。为了更好地了解程序在每个阶段的运行速度和耗时信息,插桩点与程序的事件节点或关键节点对应设置,插桩点的位置信息与程序的事件节点位置对应。当然,在一个程序中,往往会存在多个事件节点,因此,对应于每个事件节点设置一个插桩点,就可以得到这个程序在运行过程中各个事件节点之间的耗时数据。
对被测程序插桩的过程可以直接在被测程序中加载插桩代码或宏命令;也可以首先获取配置文件,所述配置文件中包含插桩点和对应的插桩代码,据所述配置文件,在被测程序的插桩点处插入对应的所述插桩代码,生成插桩后的被测程序。通过采用宏命令插桩,能够提高方法的简洁性和程序的可读性。
步骤202、运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息。
在本申请上述的步骤202中,桩点数据中的时间戳用来标记程序运行至插桩点时的时间戳;事件标签用来对插桩点所属的事件进行标记;堆栈信息用来记录被测程序在插桩点的上下文信息,比如函数的调用关系,线程信息等。
步骤203、根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
在获取了桩点数据后,就能够对桩点数据进行整合、分析,从而生成插桩点之间的程序耗时数据。
具体来说,根据事件标签对同属于一个事件的桩点数据进行整合,每个桩点数据都具有时间戳,从而保证了桩点数据的唯一性,不能与其他桩点的数据混淆。另外,由于每个桩点数据都具有时间戳,根据时间戳就能计算出两个桩点之间的程序耗时数据,进而得到整个事件每个阶段的耗时数据。此外,本申请的桩点数据包括了堆栈信息,可以根据堆栈信息连接每一步的堆栈信息及其耗时。
下面以被测程序为某动漫程序的加载过程为例,对本申请的方案进行说明:
动漫程序加载作为一个事件,首先为其设置一个事件标签,例如标签:comic_indexOpen;
其次,获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩。由于动漫程序加载过程中,从捕获用户点击按钮到页面完全加载,存在至少以下几个事件节点:点击按钮、初始化完成、数据加载完成、View页面视图加载完成。可以对应于每个事件节点分别设置一个插桩点。
再次,运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息;
最后,根据所述桩点数据,生成被测程序在运行至所述插桩点之间的耗时数据。例如,本例中,从点击按钮到初始化完成的耗时数据,从初始化完成到数据加载完成的耗时数据,从数据加载完成到View页面视图加载完成的耗时数据。从这一系列的耗时数据中,可以清楚地得到那一部分耗时最长,进而对优化程序和分析程序缺陷提供帮助。
本发明实施例可以采用多种方式获取插桩点的信息和插桩代码、获取插桩点之间的程序耗时数据,上述用于监测程序运行时耗时数据的方法仅为本发明的优选实施例,并不代表本发明实施例的用于监测程序运行时耗时数据的方法仅包括上述实施方式。为了提高获取监测程序运行时耗时数据的准确性,本发明实施例还可以包括其他方式,此处不再一一举例说明。
通过上述步骤201至步骤203,本发明提供的方案可以实现通过获取至少两个插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息;以及根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据;有效地帮助开发者定位到程序运行过程中耗时的关键节点与程序各个阶段的耗时分布,并且这些信息都是跟随系统运行即时产生的,非常有利于开发者在程序优化过程中做数据比对。本系统为程序优化提供了一个非常便捷的发现问题的手段,与证明优化成果的途径,极大地压缩了开发成本,便利了程序优化过程。
作为一种可选的实施方式,所述插桩点为系统自动设置的插桩点;或者,所述插桩点为用户自定义设置的插桩点。程序开发者可以根据程序的特性设置感兴趣的插桩点与事件标签,自定义桩点与事件,使得记录过程与数据更加灵活。当然,插桩点也可以是系统根据自动设置的程序节点,比如,某个步骤的开始、完成节点。本申请能够实现自定义插桩,从而为开发者提供特定的感兴趣的数据。
作为一种可选的实施方式,所述步骤203之后,还包括:获取用户输入的筛选条件,根据所述筛选条件对接收到的桩点数据筛选、整合;所述筛选条件包括事件标签和日期。
例如,可以根据事件标签或日期对所有的桩点数据进行筛选整合以及动态搜索。
作为一种可选的实施方式,步骤202还包括:对接收到的桩点数据进行存储。
可以将接收到的桩点数据存储到数据库中。当然,也可以先对所述桩点数据进行整合、分析,计算每两个插桩点之间的耗时数据,将所述耗时数据与事件标签关联存储到数据库中。
作为一种可选的实施方式,步骤203之后,还包括:对接收到的桩点数据进行分析处理,并生成图形化数据输出。所述图形化数据输出包括但不限于数据报表、柱状图、图表等。
作为一种可选的实施方式,所述获取的执行所述插桩代码输出的桩点数据为被测程序多次运行时的桩点数据;如图3所示,上述步骤对接收到的桩点数据进行分析处理,并生成图形化数据输出,包括:
步骤301、对被测程序每次运行时的桩点数据进行整合,生成被测程序每次运行时的耗时数据。
其中,上述步骤301具体包括:根据一次运行时,桩点数据对应的事件标签,获取同属于一个事件标签的桩点数据;根据桩点数据对应的时间戳,对桩点数据进行排序;根据排序后的对应一个事件标签的桩点数据生成被测程序一次运行时的耗时数据;最后,对被测程序每次运行时的桩点数据均采用上述步骤进行整合,生成被测程序每次运行时的耗时数据。
步骤302、对所述耗时数据进行分析,删除脏数据。
本申请上述步骤302中删除脏数据的方法包括但不限于:采用预定的判别算法对步骤301中获取的被测程序多次运行时的耗时数据进行分析,若其中被测程序某一次或某几次的耗时数据明显与其余数据不同,则判定该次耗时数据为脏数据,删除所述脏数据。删除脏数据时会删除与脏数据对应的桩点数据。
步骤303、根据被测程序多次运行时的耗时数据生成被测程序耗时数据的图形化数据。
图4是在一个场景中,对桩点数据进行整合后的数据报表示例。图中,将所有的事件标签,按照时间顺序,最近的排在最前。第一列表示标签名,第二列表示该标签最后一次记录时间。点击标签可进入对应的数据展示页。
图5是在一个具体的应用场景中多次运行被测程序时输出的图形化数据的示意图。图中,以柱状图的形式示出了7次运行被测程序(例如,对应事件标签comic_indexOpen)时的耗时数据的对比结果。从图中可以清楚地看到被测程序运行到每个阶段的耗时情况,根据多次运行数据的对比,能够一目了然地分析出哪些环境中整体耗时较长。
本申请提供了多次运行的软件耗时数据间的对比的能力,使得开发者能够清楚明了地了解各种运行场景或不同操作情况下数据的差异,比如冷启动与热启动之间耗时数据的差异。
由于本申请采用定点插桩的方式记录程序的运行状态,每个插桩点均通过事件标签与时间戳与其他插桩点可区别。本申请在当前线程获取到桩点信息(包括时间戳)后立马进入专属处理队列,确保不对被测程序原有的逻辑与时序不产生影响。另外,桩点数据使用事件标签关联存储在哈希表中,保证多事件并行采集数据互不干扰。另外,每个桩点数据的时间戳都具有多个状态信息(事件标签等),从而保证同一个事件中的不同时间戳顺序的准确性。
需要说明的是,本申请的实施例1中,被测程序可以运行在各种终端设备,包括客户端和服务器;步骤203中对桩点数据的处理过程也可以由终端设备或服务器来完成。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
如图6所示,本发明提供了另一种用于监测程序运行时耗时数据的方法,该方法包括以下步骤:
步骤601、获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个。
步骤602、运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息。
步骤603、将所述桩点数据发送给服务器。
步骤604、服务器根据接收到的桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
本实施例中,被测程序运行在终端设备上,在被测程序上插桩后,终端设备获取执行所述插桩代码输出的桩点数据,将所述桩点数据发送给服务器。服务器根据接收到的桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
作为一种优选的实施方式,步骤603包括:在所述桩点数据满足预设的时间阈值后,将所述桩点数据发送给服务器;或者,在所述桩点数据满足预设的数据量阈值后,将所述桩点数据发送给服务器。
由于本申请在所述桩点数据满足预设的阈值条件后,才将所述桩点数据发送给服务器,能够避免终端设备与服务器之间频繁的数据交互以及对系统资源的过多占用。
实施例2与实施例1的区别在于,实施例2增加了将所述桩点数据发送给服务器的步骤;相应地,根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据步骤的执行主体为服务器,后续对桩点数据进行分析处理的步骤均由服务器完成。其余部分与实施例1相同,不再赘述。
本申请中,桩点数据还包括可以包括文件名、方法名、用户名。其中,用户名用来在服务器接收到桩点数据后,以桩点为单位,将数据存储到用户名对应的用户维度中。
服务器维护至少三张表:桩点数据表、事件数据表和用户信息表。其中,桩点数据表用于存储桩点数据,事件数据表用于存储与事件标签对应的事件数据;用户信息表用于存储指定用户相关的信息,例如用户登录服务器的口令、与用户名对应事件数据和桩点数据等。
本申请首先会根据桩点抓取程序的运行时信息(包括时间戳,上下文,事件标签等),然后对数据进行整合与去除脏数据,在满足时间阈值或数据量阈值之后将数据上报到专属服务器中,服务器接收到数据后对其进行整合分类,数据库存储。开发者通过服务器的前端可使用自己制定的口令进入到报表页面,然后服务器使用开发者提供的关键信息对数据进行筛选处理,并通过特定的柱状图展示出来,通过该图形化界面,开发者可以了解到桩点与桩点之间的信息,并可进一步了解到每一步中的运行堆栈信息及其耗时。并且系统提供了多次运行的数据间对比的能力,使得开发者可以了解到冷启动与热启动之间数据的差异,及不同操作情况下的数据差异。
由于系统自动抓取运行时的上下文信息,所以开发者只需要告诉组件感兴趣的桩点即可,其他工作将有组件自动完成,通过运行程序数据即可上报至服务器,并提供了多维度(事件标签,日期等维度),多事件(同时记录多个事件并行计算)的记录方式。
实施例3
如图7所示,本申请提供了一种用于监测程序运行时耗时数据的系统,系统包括:
插桩模块710,用于获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个;
桩点数据获取模块720,用于运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息;
耗时数据生成模块730,用于根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
作为一种可选的实施方式,所述插桩模块710包括:
自动插桩单元711,用于获取自动设置的插桩点;
自定义插桩单元712,用于获取用户自定义设置的插桩点。
作为一种可选的实施方式,系统还包括筛选模块740,用于获取用户输入的筛选条件,根据所述筛选条件对接收到的桩点数据筛选、整合;所述筛选条件包括事件标签和日期。
作为一种可选的实施方式,系统还包括:
存储模块750,用于对接收到的桩点数据进行存储。
作为一种可选的实施方式,系统还包括:图形化输出模块760,用于对接收到的桩点数据进行分析处理,并生成图形化数据输出。
其中,图形化输出模块760包括显示单元764,用于显示图形化数据。显示单元可以是具有显示器的计算机终端。
作为一种可选的实施方式,所述图形化输出模块760包括:
单次数据整合单元761,用于对被测程序每次运行时的桩点数据进行整合,生成被测程序每次运行时的耗时数据;
数据清理单元762,用于对所述耗时数据进行分析,删除脏数据。
图形化单元763,用于根据被测程序多次运行时的耗时数据生成被测程序耗时数据的图形化数据。
本发明提供的方案可以实现通过获取至少两个插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息;以及根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据;有效地帮助开发者定位到程序运行过程中耗时的关键节点与程序各个阶段的耗时分布,并且这些信息都是跟随系统运行即时产生的,非常有利于开发者在程序优化过程中做数据比对。本系统为程序优化提供了一个非常便捷的发现问题的手段,与证明优化成果的途径,极大地压缩了开发成本,便利了程序优化过程。
实施例4
如图8所示,本申请提供了一种用于监测程序运行时耗时数据的系统,系统包括:终端设备和服务器,其中,终端设备设置有插桩模块和桩点数据获取模块,服务器设置有耗时数据生成模块。
插桩模块810,用于获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个。
桩点数据获取模块820,用于运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息。
耗时数据生成模块830,用于根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
所述耗时数据生成模块830包括:
发送单元831,用于将所述桩点数据发送给服务器;
处理单元832,用于服务器根据接收到的桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
作为一种可选的实施例,所述发送单元831包括:
第一发送子单元8311,用于在所述桩点数据满足预设的时间阈值后,将所述桩点数据发送给服务器;
第二发送子单元8312,用于在所述桩点数据满足预设的数据量阈值后,将所述桩点数据发送给服务器。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一种用于监测程序运行时耗时数据的方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
第一步,获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个。
第二步,运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息。
第三步,根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
实施例6
本发明的实施例还提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,图9是根据本发明实施例的计算机终端的结构框图。如图9所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器161、存储器163、以及传输装置165。
其中,存储器163可用于存储软件程序以及模块,如本发明实施例中的用于监测程序运行时耗时数据的方法和装置对应的程序指令/模块,处理器161通过运行存储在存储器163内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的用于监测程序运行时耗时数据。存储器163可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器163可进一步包括相对于处理器161远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置165用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置165包括一个网络适配器,其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置165为射频模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器163用于存储预设动作条件和预设权限用户的信息、以及应用程序。
处理器161可以通过传输装置调用存储器163存储的信息及应用程序,以执行下述步骤:
可选的,上述处理器161还可以执行如下步骤的程序代码:
第一步,获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个。
第二步,运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息。
第三步,根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
可选地,本实施例中的具体示例可以参考上述实施例1到实施例4中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.用于监测程序运行时耗时数据的方法,其特征在于,包括:
获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个;所述插桩点为用户根据所述被测程序的特性设置的感兴趣的插桩点,其与所述被测程序运行过程中用户自定义事件的事件节点相对应;
运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息,所述事件标签用于对所述插桩点所属的事件进行标记;
根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据,具体为:根据所述事件标签,对属于同一个事件标签的桩点数据进行整合,根据所述属于同一个事件标签的桩点数据对应的时间戳,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
2.根据权利要求1所述的用于监测程序运行时耗时数据的方法,其特征在于,所述根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据,包括:
将所述桩点数据发送给服务器;
服务器根据接收到的桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据,具体为:服务器根据所述事件标签,对属于同一个事件标签的桩点数据进行整合,根据所述属于同一个事件标签的桩点数据对应的时间戳,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
3.根据权利要求2所述的用于监测程序运行时耗时数据的方法,其特征在于,所述将所述桩点数据发送给服务器,包括:
在所述桩点数据满足预设的时间阈值后,将所述桩点数据发送给服务器;或者,
在所述桩点数据满足预设的数据量阈值后,将所述桩点数据发送给服务器。
4.根据权利要求1所述的用于监测程序运行时耗时数据的方法,其特征在于,所述根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据之后,还包括:
获取用户输入的筛选条件,根据所述筛选条件对接收到的桩点数据筛选、整合;所述筛选条件包括事件标签和日期。
5.根据权利要求1所述的用于监测程序运行时耗时数据的方法,其特征在于,所述获取执行所述插桩代码输出的桩点数据之后,还包括:对接收到的桩点数据进行存储。
6.根据权利要求1所述的用于监测程序运行时耗时数据的方法,其特征在于,所述根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据之后,还包括:对接收到的桩点数据进行分析处理,并生成图形化数据输出。
7.根据权利要求6所述的用于监测程序运行时耗时数据的方法,其特征在于,所述获取的执行所述插桩代码输出的桩点数据为被测程序多次运行时的桩点数据;
对接收到的桩点数据进行分析处理,并生成图形化数据输出,包括:
对被测程序每次运行时的桩点数据进行整合,生成被测程序每次运行时的耗时数据;
对所述耗时数据进行分析,删除脏数据;
根据被测程序多次运行时的耗时数据生成被测程序耗时数据的图形化数据。
8.一种用于监测程序运行时耗时数据的系统,其特征在于,包括:
插桩模块,用于获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个;所述插桩点为用户根据所述被测程序的特性设置的感兴趣的插桩点,其与所述被测程序运行过程中用户自定义事件的事件节点相对应;
桩点数据获取模块,用于运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息,所述事件标签用于对所述插桩点所属的事件进行标记;
耗时数据生成模块,用于根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据;具体为:用于根据所述事件标签,对属于同一个事件标签的桩点数据进行整合,根据所述属于同一个事件标签的桩点数据对应的时间戳,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
9.根据权利要求8所述的用于监测程序运行时耗时数据的系统,其特征在于,所述系统包括服务器,所述耗时数据生成模块包括:
发送单元,用于将所述桩点数据发送给服务器;
处理单元,用于服务器根据接收到的桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据;具体为:服务器根据所述事件标签,对属于同一个事件标签的桩点数据进行整合,根据所述属于同一个事件标签的桩点数据对应的时间戳,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
10.根据权利要求9所述的用于监测程序运行时耗时数据的系统,其特征在于,所述发送单元包括:
第一发送子单元,用于在所述桩点数据满足预设的时间阈值后,将所述桩点数据发送给服务器;
第二发送子单元,用于在所述桩点数据满足预设的数据量阈值后,将所述桩点数据发送给服务器。
11.根据权利要求8所述的用于监测程序运行时耗时数据的系统,其特征在于,还包括:
筛选模块,用于获取用户输入的筛选条件,根据所述筛选条件对接收到的桩点数据筛选、整合;所述筛选条件包括事件标签和日期。
12.根据权利要求8所述的用于监测程序运行时耗时数据的系统,其特征在于,还包括:
存储模块,用于对接收到的桩点数据进行存储。
13.根据权利要求8所述的用于监测程序运行时耗时数据的系统,其特征在于,还包括:
图形化输出模块,用于对接收到的桩点数据进行分析处理,并生成图形化数据输出。
14.根据权利要求13所述的用于监测程序运行时耗时数据的系统,其特征在于,所述图形化输出模块包括:
单次数据整合单元,用于对被测程序每次运行时的桩点数据进行整合,生成被测程序每次运行时的耗时数据;
数据清理单元,用于对所述耗时数据进行分析,删除脏数据;
图形化单元,用于根据被测程序多次运行时的耗时数据生成被测程序耗时数据的图形化数据。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现如权利要求1至7任一所述的用于监测程序运行时耗时数据的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611042803.9A CN106649063B (zh) | 2016-11-22 | 2016-11-22 | 用于监测程序运行时耗时数据的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611042803.9A CN106649063B (zh) | 2016-11-22 | 2016-11-22 | 用于监测程序运行时耗时数据的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106649063A CN106649063A (zh) | 2017-05-10 |
CN106649063B true CN106649063B (zh) | 2020-11-17 |
Family
ID=58812368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611042803.9A Active CN106649063B (zh) | 2016-11-22 | 2016-11-22 | 用于监测程序运行时耗时数据的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649063B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109923526A (zh) * | 2017-10-12 | 2019-06-21 | 深圳市汇顶科技股份有限公司 | 计算机存储介质、程序运行监测方法及装置 |
CN108595313B (zh) * | 2018-03-08 | 2021-12-10 | 北京三快在线科技有限公司 | 应用程序的日志生成方法、装置、电子设备及存储介质 |
CN109408346A (zh) * | 2018-09-26 | 2019-03-01 | 北京城市网邻信息技术有限公司 | 数据收集方法、装置、设备及存储介质 |
CN111190573A (zh) * | 2018-11-14 | 2020-05-22 | 北京字节跳动网络技术有限公司 | 应用程序埋点方法、装置和电子设备 |
CN111368104B (zh) * | 2018-12-26 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置及设备 |
CN111625432B (zh) * | 2019-02-28 | 2023-03-28 | 北京字节跳动网络技术有限公司 | 页面加载耗时确定方法、装置和计算机可读存储介质 |
CN110058999A (zh) * | 2019-03-13 | 2019-07-26 | 平安普惠企业管理有限公司 | 电子装置、应用程序异常定位方法及存储介质 |
CN110134400A (zh) * | 2019-04-02 | 2019-08-16 | 北京奇艺世纪科技有限公司 | 数据获取方法、装置、电子设备及计算机可读存储介质 |
CN110069391B (zh) * | 2019-04-09 | 2023-09-08 | 北京迈格威科技有限公司 | 前端数据标注处理方法、基于埋点的标注计时方法及装置 |
CN110825466B (zh) * | 2019-11-11 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 一种程序卡顿的处理方法以及卡顿处理装置 |
CN110865940B (zh) * | 2019-11-11 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 一种程序卡顿定位的方法以及相关装置 |
CN111240927B (zh) * | 2020-01-03 | 2024-01-30 | 北京小米移动软件有限公司 | 检测程序中方法耗时的方法、装置及存储介质 |
CN111240937A (zh) * | 2020-01-13 | 2020-06-05 | 上海钧正网络科技有限公司 | 应用程序内方法耗时统计方法、装置、计算机设备和介质 |
CN114064378A (zh) * | 2020-07-29 | 2022-02-18 | 北京字节跳动网络技术有限公司 | 一种应用程序耗时的分析方法、装置、设备及存储介质 |
CN113486346A (zh) * | 2021-05-27 | 2021-10-08 | 贵州电网有限责任公司 | 一种基于Java Agent插桩技术的运行时安全检测方法及装置 |
CN113778860B (zh) * | 2021-08-16 | 2023-11-28 | 北京仿真中心 | 基于模型检测的系统运行时验证方法、系统和计算机设备 |
CN115221051B (zh) * | 2022-07-12 | 2023-06-09 | 北京大学 | 一种用于数据api执行过程验证的程序插桩方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346710B (zh) * | 2011-10-13 | 2015-04-29 | 北京航空航天大学 | 一种基于动态插桩技术的数据包处理时延分析方法 |
FR2997522B1 (fr) * | 2012-10-26 | 2015-12-25 | Infovista Sa | Procede permettant a un systeme de surveillance du reseau d'evaluer de facon non intrusive le ressenti utilisateur lors du chargement d'une page web |
-
2016
- 2016-11-22 CN CN201611042803.9A patent/CN106649063B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106649063A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649063B (zh) | 用于监测程序运行时耗时数据的方法及系统 | |
CN110245078B (zh) | 一种软件的压力测试方法、装置、存储介质和服务器 | |
CN110069463B (zh) | 用户行为处理方法、装置电子设备及存储介质 | |
WO2017101606A1 (zh) | 一种数据采集分析系统和方法 | |
CN106649107B (zh) | 安卓系统稳定性的自动化测试方法及装置 | |
CN107870849B (zh) | 测试日志的处理方法和装置 | |
CN107908686B (zh) | 信息推送方法、装置、服务器以及可读存储介质 | |
CN108156141B (zh) | 一种实时数据识别方法、装置及电子设备 | |
CN109271315B (zh) | 脚本代码检测方法、装置、计算机设备及存储介质 | |
CN108197002B (zh) | 移动设备无埋点数据统计方法、系统、终端及介质 | |
CN112148606B (zh) | 埋点测试方法、装置、设备及计算机可读介质 | |
CN112817866A (zh) | 录制回放方法、装置、系统、计算机设备以及存储介质 | |
CN111782317A (zh) | 页面的测试方法和装置、存储介质和电子装置 | |
CN112148607A (zh) | 一种业务场景的接口测试方法和装置 | |
CN110262955B (zh) | 基于pinpoint的应用性能监控工具 | |
CN110874301B (zh) | 程序卡顿信息的获取方法和装置 | |
CN115185822A (zh) | 软件测试方法和装置、存储介质及电子装置 | |
CN114661551A (zh) | 软件运行状态的监控方法、设备及计算机可读存储介质 | |
CN106301975A (zh) | 一种数据检测方法及其装置 | |
CN104407966B (zh) | 一种jvm的内存对象数量统计系统及方法 | |
CN111506769B (zh) | 视频文件的处理方法、装置、存储介质及电子装置 | |
CN111368104B (zh) | 信息处理方法、装置及设备 | |
CN116860555A (zh) | 软件运行监控方法、装置、设备以及计算机存储介质 | |
CN111143724A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN105391602B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |