CN101630285A - 一种应用于嵌入式***的软件性能测试方法 - Google Patents
一种应用于嵌入式***的软件性能测试方法 Download PDFInfo
- Publication number
- CN101630285A CN101630285A CN200910041745A CN200910041745A CN101630285A CN 101630285 A CN101630285 A CN 101630285A CN 200910041745 A CN200910041745 A CN 200910041745A CN 200910041745 A CN200910041745 A CN 200910041745A CN 101630285 A CN101630285 A CN 101630285A
- Authority
- CN
- China
- Prior art keywords
- sampling
- data
- testing method
- performance testing
- software performance
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种应用于嵌入式***的软件性能测试方法,包括采样***和分析***,所述采样***设置在目标端中,分析***设置在宿主端中,两部分通过网络进行通信,使得采样***所采集的样本数据通过网络实时发送给分析***进行分析,在不对源代码和编译过的可执行文件进行修改的前提下,在程序运行时采集程序的上下文样本进行分析,从而降低测试过程中的开销。本发明通过采样***和分析***实现软件性能的测试,采样***采集样本数据通过网络实时发送给分析***进行分析。在不对源代码和编译过的可执行文件进行修改的前提下,在程序运行时采集程序的上下文样本进行分析,从而降低测试过程中的开销。
Description
技术领域
本发明属于嵌入式软件测试领域,特别是一种基于非插装的嵌入式软件测试领域。
技术背景
在软件开发的过程中,性能测试在软件质量和性能控制中起着非常关键的作用。在比较复杂的嵌入式软件开发中,性能测试也显得非常重要,根据80-20原则,软件的80%的时间消耗在20%的代码中,因此定位性能消耗最多的代码,能有效的帮助找出关键代码,并对其进行优化,从而达到提高整个软件性能的目的。但是由于嵌入式***环境的特殊性,对于软件性能测试造成了不小的阻碍。首先,嵌入式软件运行在交叉环境的目标端,它的软硬件环境同开发端通常是完全不同的,如何在软件运行时进行实时在线的性能测试,是一大挑战;其次,由于嵌入式***的资源有限性,***的性能通常不会非常的高,如何在有限的资源中降低性能测试的开销,同样是一个难点。
目前,已经有许多用于嵌入式软件性能测试的方案。大致分为纯软件的方法和软硬件结合的方法。其中,软硬件结合的方法主要用于许多成熟的商业工具上,比如CodeTest,RTInsight等,它们利用硬件技术,可以很好地对嵌入式软件进行性能测试,但是它们对硬件依赖过多,价格也非常的昂贵,不利于广泛的使用。纯软件的方法同样也应用于很多的商业软件中,比如GammaCP等主流嵌入式性能测试工具,它们都是采用插装的方法来实现性能测试。基于源代码插装的方法在嵌入式软件性能测试中应用相当广泛,目前该方法多数是对GCC插装技术的研究和改进。
在目前的嵌入式软件性能测试中,基本都是采用插装的方法,但是它存在着明显的不足之处:(1)如果函数过多,则***的代码相应增多,导致代码过度的膨胀,带来巨大的额外开销;(2)如果程序非正常退出的话,gmon.out数据不能被保存;(3)不能对共享库进行性能分析,因为无法对其进行插装;(4)不能实时在线测试,使用的是事后发送gmon.out文件进行分析,对于那些需要长时间运行的嵌入式软件,则存在很大的局限性。
就现有的软硬件结合的或者纯软件的嵌入式软件性能测试方法来说,要么实现技术难度大、成本昂贵以及灵活性较差,要么不能满足实时在线的低开销的要求。
发明内容
本发明的目的在于克服现有嵌入式软件测试技术上的不足,提出了一种基于采样的非插装的纯软件的嵌入式软件性能测试方法,从可以解决目前嵌入式软件性能测试开销过大的问题。
为了实现发明目的,采用的技术方案如下:
一种应用于嵌入式***的软件性能测试方法,包括采样***和分析***,所述采样***设置在目标端中,分析***设置在宿主端中,采样***和分析***通过网络进行通信,使得采样***所采集的样本数据通过网络实时发送给分析***进行分析。
上述技术方案中,所述采样***运行于目标端的嵌入式操作***中。其包括用于采集样本数据的采样模块和进行样本数据传递的测试代理模块。
所述采样模块运行于嵌入式Linux的内核空间中,包括数据采样模块和proc文件***接口,数据采样模块负责注册中断事件处理函数、初始化Proc文件***接口、对被测程序进行采样处理等。Proc文件***向测试代理模块提供接口来对采样进行读取和配置。
所述测试代理模块运行于嵌入式Linux的用户空间中,负责从网络中接收数据和控制信息、配置采样模块、读取样本数据、将样本数据发送给位于宿主端的分析***
所述分析***运行于软硬件资源丰富的宿主端开发机中,并通过网络同测试代理模块进行交互,向测试代理模块发送交叉编译过的可执行文件、命令,并且接收VM area maps和样本数据。样本数据经过数据收集线程和数据分析线程处理后,通过可视化界面进行显示。
所述数据收集线程的样本收集器被动监听网络,等待测试代理模块主动发送样本数据,所述样本收集器将收到的样本逐个交给StackStash Constructor,StackStash Constructor根据样本数据中的返回地址顺序构造或者更新一个称为StackStash的树型结构,该树中的每个节点都是一个函数返回地址或PC值,这反映出了采样时函数调用的堆栈情况。
所述数据分析线程维护一棵称为函数调用树的数据结构,该树的每个节点记录了地址树中每个节点记录的地址所在的函数符号名、子函数采样次数和自身采样次数,从中取出一批叶子结点,根据地址树的情况,对每个地址进行符号解析,从而更新符号对应的函数调用树节点中的子函数采样次数和自身采样次数,并将结果反馈给GUI层,进一步进行结果的分析和显示。
本发明通过采样***和分析***实现软件性能的测试,采样***采集样本数据通过网络实时发送给分析***进行分析。在不对源代码和编译过的可执行文件进行修改的前提下,在程序运行时采集程序的上下文样本进行分析,从而降低测试过程中的开销。
附图说明
图1为交叉测试模式框架图
图2为基于采样的非插装的嵌入式测试方法框架图。
图3为采样***框架图。
图4为样本缓存结构图。
图5为分析***框架图。
具体实施方式
下面结合附图对本发明做进一步的说明。
本发明为了实现实时在线的性能测试,采用基于交叉测试的测试模式,如图1所示,测试工具运行在软硬件配置丰富的宿主机上,它对被测程序进行插装处理后,使其运行在软硬件资源相对缺乏的目标机上,产生测试信息,并通过一定的通信连接由测试代理传输到宿主机上,由测试工具接收。
本发明为了尽量减少性能开销,采用非插装采样技术。能在不对源代码和编译过的可执行文件进行修改的前提下,在程序运行时采集程序的上下文样本的方法。由于嵌入式操作***可以根据许多不同的事件产生异步的中断,因此可以利用这一特性,在程序的运行过程中,通过一定的频率对程序运行的上下文数据(如堆栈信息)进行采样,从而得到一个样本数据库。在这些大量的样本中,测试人员便可以结合已知的程序信息对样本数据进行分析,进行嵌入式软件进行性能测试。
本发明将非插装采样技术进行修改并结合嵌入式软件交叉测试模式,提出了一种基于采样的非插装的纯软件的嵌入式软件性能测试方法,从而可以解决目前嵌入式软件性能测试开销过大的问题。该方法的整体框架如图2所示。整个框架分为两个部分:在宿主端的分析***和在目标端的采样***,两部分通过网络进行通信。在目标端上执行被测试程序时,测试代理负责把采样模块加载到内核中,当采样事件发生时由采样模块对被测试程序进行采样,样本库通过文件接口提供给测试代理,测试代理负责把数据发送到开发机,在开发机进行分析,从而实现对嵌入式软件进行交叉的性能测试。
采样***运行于目标机端的嵌入式操作***上,由采样模块和测试代理两个部分组成,如图3所示。采样模块运行于嵌入式Linux的内核空间中,由采样模块和Proc文件***接口两部分组成。采样模块负责注册中断事件处理函数、初始化Proc文件***接口、对被测程序进行采样处理等。Proc文件***向测试代理提供接口来对采样进行读取和配置。测试代理运行于Embedded Linux的用户空间中,负责从网络中接收数据和控制信息、配置采样模块、读取样本数据、将样本数据发送给位于宿主端的分析***。
采样模块被***内核后,进行一系列的初始化工作。它首先在Proc文件***中注册三个文件,分别对外提供读取样本缓存、设置采样目标程序PID以及读取被采样程序VM area maps的接口,采用Proc文件***作为交互的接口,在各种版本的Embedded Linux中可移植性较好。之后,由Configure controller接收从用户空间的配置,包括采样事件的类型和被采样程序PID,相应注册并且配置、或者释放中断事件处理函数,从而开始或者停止整个采样***的工作。
采样的发生依赖于中断事件的发生,而该采样***提供了比较灵活的中断事件选择。在目前的Linux-based操作***中,主要有Linux时钟中断和性能监控计数器产生的事件中断可以做为采样事件。由于Linux-based OS是分时***,以固定的频率(典型的为100HZ)进行时钟中断,可以通过向***定时器注册中断处理函数来实现采样。而更为精确的采样是基于性能监控计数器的(PMC),现代的主流CPU都提供了简单的指令接口和一系列的性能监控寄存器,可以通过指令对这些寄存器进行配置,从而使***产生相应的事件中断,比如缓存缺失、分支预测失效、CPU时钟中断等。因此,采样***可以根据CPU所能支持的中断事件进行配置,使得采样更为灵活、内容更为广泛。
中断处理函数负责采样。当中断事件发生时,处理函数便记录PC、回溯栈帧从而得到一组返回地址,从这些返回地址可以得到一个函数调用关系树,从而准确地分析出中断事件发生时,程序的运行上下文。
为了支持可配置的采样功能,采样模块的样本缓存结构如图4所示,该缓存是一个循环队列,每个队列元素采用Slot的结构。在每个Slot中,缓存了一组变长的数据结构,每个结构由size,type,data三个域组成,其中size占一个字节,表征该结构长度;type占一个字节,表征采样该数据时,中断事件的类型;而data域为变长数组,记录采样的PC值和多个返回地址。采样模块将样本添加到head所指的Slot中,当Slot被填满后,将其标记为可读;而用户空间一次从tail所指的标记为可读的Slot中读取全部数据。这样的数据结构带来了如下好处:
(1)减少了用户空间对模块内部缓存的读取次数,从而减少开销;
(2)由于样本的产生频率比对其读取的频率高,需要缓存机制来避免数据的丢失;
(3)采用循环队列,可以避免资源的冲突问题。
采样模块对运行中的程序进行采样,从而得到了许多指令地址,这些地址本身对分析人员没有意义,需要将其转换为相应的符号。这样就需要得到程序运行时的内存区域映像。当遇到无法解析的地址时,采样***便通过Proc文件提供一个最新的内存区域映像。这可以通过获取进程task_struct结构,遍历其中的vm_area_struct类型的mmap链表来实现。但是,如果被测程序运行时间短,便可能来不及获取。本发明的策略是拦截sys_exit***调用,当程序退出时,读取一次内存区域映像,这样便至少有一次的读取,保证性能测试的正确执行。
由于本发明采用的是交叉测试的模式,测试代理向宿主端提供测试服务。它运行于目标端的用户空间中,通过Proc文件***和采样模块进行交互。测试代理的主要功能有:(1)从宿主端分析***获取事件配置信息,对采样模块进行事件配置;(2)从采样模块的样本缓存中读取样本数据,并发送给分析***进行性能分析;(3)从宿主端下载并运行交叉编译完的可执行文件,将相应的PID通知给采样模块;(4)从宿主端接收传送内存区域映像的命令,从采样模块的Proc文件接口读出并发送给分析***。
分析***运行于软硬件资源丰富的宿主端开发机上。分析***和采样***相互合作,实现了实时在线的性能测试。分析***的框架如图5所示,分析***通过网络同测试代理进行交互,向后者发送交叉编译过的可执行文件、命令,并且接收VM area maps和样本数据。样本数据经过数据收集线程和数据分析线程处理后,通过可视化界面进行显示。
在数据收集线程中,Sample collector被动监听网络,等待测试代理主动发送样本数据。当缓存了一批样本数据后,Sample collector将样本一个一个地交给StackStash Constructor。由于每个样本中都包含了一系列的返回地址以及采样发生时的PC值,并且返回地址的顺序是按照采样时栈帧回溯的顺序排列的,因此StackStash Constructor可以根据样本数据中的返回地址顺序构造或者更新一个称为StackStash的树型结构,该树中的每个节点都是一个函数返回地址或PC值,这反映出了采样时函数调用的堆栈情况。当地址树建立完毕后,StackStash Constructor将该树的叶子节点的引用放入一个临时队列中。当该队列达到一定长度后,将其加入Data Queue队列。后者是一个FIFO缓冲队列,数据分析线程一次从中取出一个叶子节点队列。由于样本数据产生的非常快,采用该缓冲队列后,可以降低数据分析和界面更新的频率。
数据分析线程维护一棵称为函数调用树的数据结构,该树的每个节点记录了地址树中每个节点记录的地址所在的函数符号名、子函数采样次数和自身采样次数。从Data Queue中取出一批叶子节点后,根据地址树的情况,对每个地址进行符号解析,从而更新符号对应的函数调用树节点中的子函数采样次数和自身采样次数,并将结果反馈给GUI层,进一步进行结果的分析和显示。
Claims (9)
1、一种应用于嵌入式***的软件性能测试方法,其特征在于包括采样***和分析***,所述采样***设置在目标端中,所述分析***设置在宿主端中,采样***和分析***通过网络进行通信,采样***采集所测试的软件的样本数据,并通过网络实时发送给分析***进行分析。
2、根据权利要求1所述的软件性能测试方法,其特征在于所述采样***运行于目标端的嵌入式操作***中,其包括用于采集样本数据的采样模块和进行样本数据传递的测试代理模块。
3、根据权利要求2所述的软件性能测试方法,其特征在于所述采样模块运行于嵌入式Linux的内核空间中,其包括数据采样模块和proc文件***接口,数据采样模块用于注册中断事件处理函数、初始化proc文件***接口、对被测程序进行采样处理,Proc文件***向测试代理模块提供接口来对采样数据进行读取和配置。
4、根据权利要求2所述的软件性能测试方法,其特征在于所述测试代理模块运行于嵌入式Linux的用户空间中,用于从网络中接收数据和控制信息、配置数据采样模块、读取样本数据、将样本数据发送给分析***。
5、根据权利要求2所述的软件性能测试方法,其特征在于所述分析***运行于宿主端开发机中,并通过网络同测试代理模块进行交互,向测试代理模块发送交叉编译过的可执行文件、命令,并且接收样本数据。
6、根据权利要求1或5所述的软件性能测试方法,其特征在于所述样本数据在分析***中经过数据收集线程和数据分析线程处理后,通过可视化界面进行显示。
7、根据权利要求6所述的软件性能测试方法,其特征在于所述数据收集线程的样本收集器采用被动方式监听网络,等待测试代理模块主动发送样本数据。
8、根据权利要求7所述的软件性能测试方法,其特征在于所述样本收集器设置一函数,并将收到的样本数据逐个交给该函数,该函数根据样本数据中的返回地址顺序构造或者更新一个树型数据结构,该树型数据结构中的每个节点都是一个函数返回地址或PC值,以反映采样时函数调用的堆栈情况。
9、根据权利要求6所述的软件性能测试方法,其特征在于所述数据分析线程维护一个函数调用树的数据结构,该函数调用树的每个节点记录了地址树中每个节点记录的地址所在的函数符号名、子函数采样次数和自身采样次数,从中取出一批叶子结点,根据地址树的情况,对每个地址进行符号解析,从而更新符号对应的函数调用树节点中的子函数采样次数和自身采样次数,并将结果反馈给GUI层,进一步进行结果的分析和显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910041745A CN101630285A (zh) | 2009-08-07 | 2009-08-07 | 一种应用于嵌入式***的软件性能测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910041745A CN101630285A (zh) | 2009-08-07 | 2009-08-07 | 一种应用于嵌入式***的软件性能测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101630285A true CN101630285A (zh) | 2010-01-20 |
Family
ID=41575402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910041745A Pending CN101630285A (zh) | 2009-08-07 | 2009-08-07 | 一种应用于嵌入式***的软件性能测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101630285A (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937392A (zh) * | 2010-08-27 | 2011-01-05 | 华南理工大学 | 一种嵌入式软件动态缺陷检测方法 |
CN102306109A (zh) * | 2011-07-18 | 2012-01-04 | 深圳市康必达中创科技有限公司 | 一种实现通讯管理机内部逻辑可编程方法 |
CN102714606A (zh) * | 2010-01-31 | 2012-10-03 | 惠普发展公司,有限责任合伙企业 | 用于经采样的通信量数据的管理的方法和*** |
CN103077035A (zh) * | 2013-01-09 | 2013-05-01 | 上海斐讯数据通信技术有限公司 | 一种进程配置管理***及实现方法 |
CN105190564A (zh) * | 2013-04-11 | 2015-12-23 | 甲骨文国际公司 | 通过用线程强度分析进行季节性趋向和预报来对云服务中的sla违反进行预测性诊断 |
CN103647685B (zh) * | 2013-12-18 | 2017-01-04 | 中国电子科技集团公司第四十一研究所 | 一种测试结果信息上传接收处理方法 |
CN107153539A (zh) * | 2017-04-18 | 2017-09-12 | 北京思特奇信息技术股份有限公司 | 一种文件接口*** |
CN107168698A (zh) * | 2017-04-24 | 2017-09-15 | 华南理工大学 | 图形化编程的自动编译方法 |
CN107948317A (zh) * | 2017-12-26 | 2018-04-20 | 金蝶软件(中国)有限公司 | 分布式服务的调试方法、装置、存储介质和计算机设备 |
CN108038058A (zh) * | 2017-12-21 | 2018-05-15 | 北京星河星云信息技术有限公司 | 应用软件性能的监控方法、***、存储器和服务器 |
CN108255729A (zh) * | 2018-01-24 | 2018-07-06 | 珠海金山网络游戏科技有限公司 | 一种基于Unity平台的***自动化测试方法和*** |
CN108614765A (zh) * | 2016-12-12 | 2018-10-02 | 中国航空工业集团公司西安航空计算技术研究所 | 目标机中嵌入式软件测试数据获取方法 |
US10248561B2 (en) | 2015-06-18 | 2019-04-02 | Oracle International Corporation | Stateless detection of out-of-memory events in virtual machines |
CN109716730A (zh) * | 2016-09-09 | 2019-05-03 | 微软技术许可有限责任公司 | 生产应用的自动化性能调试 |
CN110147279A (zh) * | 2019-05-09 | 2019-08-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种多核负载分析方法及*** |
US10417111B2 (en) | 2016-05-09 | 2019-09-17 | Oracle International Corporation | Correlation of stack segment intensity in emergent relationships |
CN110347572A (zh) * | 2019-07-10 | 2019-10-18 | 星环信息科技(上海)有限公司 | 一种性能日志输出方法、装置、***、设备及介质 |
CN110457277A (zh) * | 2019-08-19 | 2019-11-15 | 北京博睿宏远数据科技股份有限公司 | 业务处理性能分析方法、装置、设备及存储介质 |
CN110543427A (zh) * | 2019-09-06 | 2019-12-06 | 五八有限公司 | 测试用例存储方法、装置、电子设备及存储介质 |
US10740358B2 (en) | 2013-04-11 | 2020-08-11 | Oracle International Corporation | Knowledge-intensive data processing system |
CN113010426A (zh) * | 2021-03-19 | 2021-06-22 | 汇链通供应链科技(上海)有限公司 | 基于数据回溯的产品性能分析方法及装置 |
-
2009
- 2009-08-07 CN CN200910041745A patent/CN101630285A/zh active Pending
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102714606A (zh) * | 2010-01-31 | 2012-10-03 | 惠普发展公司,有限责任合伙企业 | 用于经采样的通信量数据的管理的方法和*** |
CN102714606B (zh) * | 2010-01-31 | 2015-09-02 | 惠普发展公司,有限责任合伙企业 | 用于经采样的通信量数据的管理的方法和*** |
CN101937392A (zh) * | 2010-08-27 | 2011-01-05 | 华南理工大学 | 一种嵌入式软件动态缺陷检测方法 |
CN102306109A (zh) * | 2011-07-18 | 2012-01-04 | 深圳市康必达中创科技有限公司 | 一种实现通讯管理机内部逻辑可编程方法 |
CN103077035B (zh) * | 2013-01-09 | 2017-08-25 | 上海斐讯数据通信技术有限公司 | 一种进程配置管理***及实现方法 |
CN103077035A (zh) * | 2013-01-09 | 2013-05-01 | 上海斐讯数据通信技术有限公司 | 一种进程配置管理***及实现方法 |
US10333798B2 (en) | 2013-04-11 | 2019-06-25 | Oracle International Corporation | Seasonal trending, forecasting, anomaly detection, and endpoint prediction of thread intensity statistics |
US10205640B2 (en) | 2013-04-11 | 2019-02-12 | Oracle International Corporation | Seasonal trending, forecasting, anomaly detection, and endpoint prediction of java heap usage |
US10740358B2 (en) | 2013-04-11 | 2020-08-11 | Oracle International Corporation | Knowledge-intensive data processing system |
CN105190564A (zh) * | 2013-04-11 | 2015-12-23 | 甲骨文国际公司 | 通过用线程强度分析进行季节性趋向和预报来对云服务中的sla违反进行预测性诊断 |
CN105190564B (zh) * | 2013-04-11 | 2018-03-23 | 甲骨文国际公司 | 用于预测性诊断的方法和装置 |
US11468098B2 (en) | 2013-04-11 | 2022-10-11 | Oracle International Corporation | Knowledge-intensive data processing system |
CN103647685B (zh) * | 2013-12-18 | 2017-01-04 | 中国电子科技集团公司第四十一研究所 | 一种测试结果信息上传接收处理方法 |
US10248561B2 (en) | 2015-06-18 | 2019-04-02 | Oracle International Corporation | Stateless detection of out-of-memory events in virtual machines |
US10467123B2 (en) | 2016-05-09 | 2019-11-05 | Oracle International Corporation | Compression techniques for encoding stack trace information |
US11327797B2 (en) | 2016-05-09 | 2022-05-10 | Oracle International Corporation | Memory usage determination techniques |
US10417111B2 (en) | 2016-05-09 | 2019-09-17 | Oracle International Corporation | Correlation of stack segment intensity in emergent relationships |
US11144352B2 (en) | 2016-05-09 | 2021-10-12 | Oracle International Corporation | Correlation of thread intensity and heap usage to identify heap-hoarding stack traces |
US11614969B2 (en) | 2016-05-09 | 2023-03-28 | Oracle International Corporation | Compression techniques for encoding stack trace information |
US11093285B2 (en) | 2016-05-09 | 2021-08-17 | Oracle International Corporation | Compression techniques for encoding stack trace information |
US10534643B2 (en) | 2016-05-09 | 2020-01-14 | Oracle International Corporation | Correlation of thread intensity and heap usage to identify heap-hoarding stack traces |
CN109716730A (zh) * | 2016-09-09 | 2019-05-03 | 微软技术许可有限责任公司 | 生产应用的自动化性能调试 |
CN109716730B (zh) * | 2016-09-09 | 2021-10-22 | 微软技术许可有限责任公司 | 用于生产应用的自动化性能调试的方法和计算设备 |
CN108614765A (zh) * | 2016-12-12 | 2018-10-02 | 中国航空工业集团公司西安航空计算技术研究所 | 目标机中嵌入式软件测试数据获取方法 |
CN108614765B (zh) * | 2016-12-12 | 2021-07-16 | 中国航空工业集团公司西安航空计算技术研究所 | 目标机中嵌入式软件测试数据获取方法 |
CN107153539B (zh) * | 2017-04-18 | 2021-03-30 | 北京思特奇信息技术股份有限公司 | 一种文件接口*** |
CN107153539A (zh) * | 2017-04-18 | 2017-09-12 | 北京思特奇信息技术股份有限公司 | 一种文件接口*** |
CN107168698A (zh) * | 2017-04-24 | 2017-09-15 | 华南理工大学 | 图形化编程的自动编译方法 |
CN107168698B (zh) * | 2017-04-24 | 2020-11-24 | 华南理工大学 | 图形化编程的自动编译方法 |
CN108038058A (zh) * | 2017-12-21 | 2018-05-15 | 北京星河星云信息技术有限公司 | 应用软件性能的监控方法、***、存储器和服务器 |
CN107948317B (zh) * | 2017-12-26 | 2021-01-22 | 金蝶软件(中国)有限公司 | 分布式服务的调试方法、装置、存储介质和计算机设备 |
CN107948317A (zh) * | 2017-12-26 | 2018-04-20 | 金蝶软件(中国)有限公司 | 分布式服务的调试方法、装置、存储介质和计算机设备 |
CN108255729A (zh) * | 2018-01-24 | 2018-07-06 | 珠海金山网络游戏科技有限公司 | 一种基于Unity平台的***自动化测试方法和*** |
CN110147279A (zh) * | 2019-05-09 | 2019-08-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种多核负载分析方法及*** |
CN110347572A (zh) * | 2019-07-10 | 2019-10-18 | 星环信息科技(上海)有限公司 | 一种性能日志输出方法、装置、***、设备及介质 |
CN110457277A (zh) * | 2019-08-19 | 2019-11-15 | 北京博睿宏远数据科技股份有限公司 | 业务处理性能分析方法、装置、设备及存储介质 |
CN110457277B (zh) * | 2019-08-19 | 2024-04-16 | 北京博睿宏远数据科技股份有限公司 | 业务处理性能分析方法、装置、设备及存储介质 |
CN110543427A (zh) * | 2019-09-06 | 2019-12-06 | 五八有限公司 | 测试用例存储方法、装置、电子设备及存储介质 |
CN113010426A (zh) * | 2021-03-19 | 2021-06-22 | 汇链通供应链科技(上海)有限公司 | 基于数据回溯的产品性能分析方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101630285A (zh) | 一种应用于嵌入式***的软件性能测试方法 | |
Argollo et al. | COTSon: infrastructure for full system simulation | |
Carlson et al. | An evaluation of high-level mechanistic core models | |
Dongarra et al. | Using PAPI for hardware performance monitoring on Linux systems | |
CN101937392B (zh) | 一种嵌入式软件动态缺陷检测*** | |
CN109313567A (zh) | 虚拟化精确的基于事件的采样 | |
Fu et al. | PriME: A parallel and distributed simulator for thousand-core chips | |
CN102222041A (zh) | 一种基于嵌入式软件的测试分析***及方法 | |
CN102243609A (zh) | 一种基于嵌入式软件的测试分析方法及*** | |
US8798962B2 (en) | Virtualized abstraction with built-in data alignment and simultaneous event monitoring in performance counter based application characterization and tuning | |
Li et al. | From library portability to para-rehosting: Natively executing microcontroller software on commodity hardware | |
CN104169888A (zh) | 运行时间仪表定向采样 | |
CN109328341A (zh) | 识别引起远程事务执行中止的存储的处理器、方法和*** | |
US8621167B2 (en) | Using DMA for copying performance counter data to memory | |
Girbal et al. | METrICS: a measurement environment for multi-core time critical systems | |
Schulz et al. | Owl: next generation system monitoring | |
Yamamoto et al. | Unified performance profiling of an entire virtualized environment | |
Taniça et al. | Schedmon: A performance and energy monitoring tool for modern multi-cores | |
Liang et al. | Ditto: End-to-end application cloning for networked cloud services | |
Antao et al. | Monitoring performance and power for application characterization with the cache-aware roofline model | |
Marin et al. | Break dancing: low overhead, architecture neutral software branch tracing | |
Xu et al. | Lush: Lightweight framework for user-level scheduling in heterogeneous multicores | |
Moses et al. | CMPSched $ im: Evaluating OS/CMP interaction on shared cache management | |
Schmitt et al. | Emulating the Power Consumption Behavior of Server Workloads using CPU Performance Counters | |
Curreri et al. | Performance analysis with high-level languages for high-performance reconfigurable computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20100120 |