CN102073580B - 性能剖析方法、剖析工具和计算机系统 - Google Patents

性能剖析方法、剖析工具和计算机系统 Download PDF

Info

Publication number
CN102073580B
CN102073580B CN 201110034429 CN201110034429A CN102073580B CN 102073580 B CN102073580 B CN 102073580B CN 201110034429 CN201110034429 CN 201110034429 CN 201110034429 A CN201110034429 A CN 201110034429A CN 102073580 B CN102073580 B CN 102073580B
Authority
CN
China
Prior art keywords
thread
proprietary storage
key assignments
storage key
application program
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.)
Expired - Fee Related
Application number
CN 201110034429
Other languages
English (en)
Other versions
CN102073580A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 201110034429 priority Critical patent/CN102073580B/zh
Publication of CN102073580A publication Critical patent/CN102073580A/zh
Application granted granted Critical
Publication of CN102073580B publication Critical patent/CN102073580B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供一种性能剖析方法、剖析工具和计算机系统,所述性能剖析方法包括:当剖析程序模块进入性能溢出中断时,接收业务类别传递器传递的线程专有存储键值,所述线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别;所述剖析程序模块根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息。本发明实施例可以实现剖析程序模块以业务类别作为剖析类别对待剖析应用程序进行性能剖析,进而可以指导系统的使用者通过降低哪种类型的业务来降低系统的执行压力。

Description

性能剖析方法、剖析工具和计算机系统
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种性能剖析方法、剖析工具和计算机系统。
背景技术
程序在计算机系统中运行,一般情况下并不知道中央处理器(CentralProcessing Unit;以下简称:CPU)资源消耗到什么地方。不知道是哪一段代码、哪一个业务或者哪一个线程消耗了更多的CPU资源,这为系统优化带来了很大的困难。为了解决这个问题,计算机行业提出了性能剖析技术,该性能剖析技术可以分析出系统资源消耗在什么地方。
现有的性能剖析技术主要包括两类,一类是统计,一类是采样;虽然可以认为统计是采样方法的一种特例,即样本等于全集,但在工程上,这两种方法是不同的。但无论是哪种技术,都依赖CPU本身对剖析指标的统计。具体地,性能剖析技术通过分析被剖析类别上发生的剖析指标的变化值(通常是增加值),确定该剖析类别的资源消耗。
在具体实现时,统计技术在所有的剖析类别切换点上统计该类别的资源消耗情况。举例来说,假设对剖析类型“线程”进行“运行时间”类别的性能剖析,需要在调度程序(线程切换点)上增加代码,统计每个线程进入调度和退出调度的时刻。但是,发明人发现:统计技术对性能的消耗太大,很多剖析类型的剖析类别在运行过程中都切换得非常频繁,反复进入剖析程序对系统的影响太大,可能造成剖析结果完全不可信。
而采样技术是统计技术的改进,为了减少剖析程序运行的频度,采样技术让CPU在某个剖析指标累计达到特定值的时候产生一次中断,之后累计值会清零,这个过程称为一次“溢出”。剖析程序在中断处理程序中执行,统计这一次采样过程中,是哪一个剖析类别在占据CPU资源,从而得到所有剖析类别占用资源的一个样本,通过这个样本中各剖析类别的资源占用情况,可以估计整个运行过程中各剖析类别的占用情况。但是,发明人发现:采样技术只能用操作系统内部的信息,例如:线程等作为剖析指标进行剖析。但剖析程序无法获知程序所运行的业务状态,因此采样技术无法采用业务状态作为剖析指标进行剖析。
发明内容
本发明实施例提供一种性能剖析方法、剖析工具和计算机系统,以实现以业务类别作为剖析类别对待剖析应用程序进行性能剖析。
本发明实施例提供一种性能剖析方法,包括:
当剖析程序模块进入性能溢出中断时,接收业务类别传递器传递的线程专有存储键值,所述线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别;
所述剖析程序模块根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息。
本发明实施例还提供一种剖析工具,包括:
业务类别传递器,用于从执行当前业务的线程的线程专有存储的指定变量中获取线程专有存储键值,所述线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别;
剖析程序模块,用于在进入性能溢出中断时,接收所述业务类别传递器传递的所述线程专有存储键值,根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息。
本发明实施例还提供一种计算机系统,包括:硬件平台和运行在所述硬件平台上的操作系统,所述操作系统之上运行有至少一种待剖析应用程序,以及,所述计算机系统进一步包括剖析工具,其中:
所述待剖析应用程序,用于在开始处理业务时,将所述业务的业务类别对应的线程专有存储键值记录在执行所述业务的线程的线程专有存储的指定变量中,所述线程专有存储键值用于表示所述待剖析应用程序当前处理的业务的业务类别;
所述剖析工具,用于在进入性能溢出中断时,从所述线程专有存储的指定变量中获取所述线程专有存储键值,根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息。
本发明实施例还提供一种性能剖析方法,包括:
从执行当前业务的线程的线程专有存储的指定变量中获取线程专有存储键值,所述线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别;
根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息。
通过本发明实施例,当剖析程序模块进入性能溢出中断时,接收业务类别传递器传递的线程专有存储键值,该线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别;剖析程序模块可以根据所述业务类别传递器传递的线程专有存储键值作为剖析类别(这里的剖析类别可以理解为对系统进行性能剖析的一种剖析指标),统计待剖析应用程序的运行信息;从而可以实现剖析程序模块以业务类别作为剖析类别对待剖析应用程序进行性能剖析,进而可以指导系统的使用者通过降低哪种类型的业务来降低系统的执行压力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明性能剖析方法一个实施例的流程图;
图2为本发明性能剖析结果一个实施例的示意图;
图3a为本发明性能剖析结果另一个实施例的示意图;
图3b为现有技术一种性能剖析结果的示意图;
图4为本发明性能剖析方法另一个实施例的流程图;
图5为本发明剖析工具一个实施例的结构示意图;
图6为本发明剖析工具另一个实施例的结构示意图;
图7为本发明计算机系统一个实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明性能剖析方法一个实施例的流程图,如图1所示,该性能剖析方法可以包括:
步骤101,当剖析程序模块进入性能溢出中断时,接收业务类别传递器传递的线程专有存储键值,该线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别。
本实施例中,待剖析应用程序在开始处理某个业务类别的业务时,在线程专有存储(Thread Local Storage;以下简称:TLS)中,可以为当前处理的业务的业务类别设置线程专有存储键值,该线程专有存储键值可以为数字、字母或字符串等可以唯一标识业务类别的信息。然后,待剖析应用程序可以将设置好的线程专有存储键值记录在执行当前业务的线程的TLS的指定变量中。
具体地,待剖析应用程序为当前处理的业务的业务类别设置线程专有存储键值的一个示例如下:
msg=get_msg_from_queue();#从消息队列中获得当前要处理的消息
set_tls(“service”,msg->service_type);
msg_handler[msg->type]->handler(msg);
set_tls(“service”,NONE_SERVICE_TYPE);
当然这只是本发明的一个示例,本发明实施例并不仅限于此,本发明实施例对待剖析应用程序为当前处理的业务的业务类别设置线程专有存储键值的方式不作限定,只要设置的线程专有存储键值可以唯一标识业务类别即可。
然后,在剖析程序模块进入性能溢出中断之前,业务类别传递器可以从TLS的指定变量中获取上述线程专有存储键值,当剖析程序模块进入性能溢出中断时,业务类别传递器可以将获取的线程专有存储键值发送给剖析程序模块。
优选地,当剖析程序模块进入性能溢出中断时,业务类别传递器可以在接收到剖析程序模块的请求之后,将获取的线程专有存储键值发送给剖析程序模块。
步骤102,剖析程序模块根据该线程专有存储键值作为剖析类别,统计待剖析应用程序的运行信息。
这里的剖析类别可以理解为一种剖析指标,也就是说本实施例中可以业务类别作为一种剖析指标,对待剖析应用程序的运行信息进行统计。
本实施例中,剖析程序模块统计的待剖析应用程序的运行信息可以包括以下之一或组合:
(1)加电事件(GLOBAL_POWER_EVENTS);
(2)分支退出(BRANCH_RETIRED);
(3)预测失败的分支退出(MISPRED_BRANCH_RETIRED);
(4)分支处理单元获取请求(Branch Processing Unit Fetch Request;以下简称:BPU_FETCH_REQUEST);
(5)指令查找缓冲索引的次数(ITLB_REFERENCE);
(6)内存操作取消的次数(MEMORY_CANCEL);
(7)内存操作完成的次数(MEMORY_COMPLETE)。
进一步地,剖析程序模块可以将统计的运行信息写入剖析数据库中。最终,用户可以在剖析数据库中获得以业务类别为分类的性能剖析结果。
在一种实现方式下,本实施例中,剖析程序模块根据线程专有存储键值作为剖析类别,统计待剖析应用程序的运行信息可以为:接收到剖析程序控制器的启动命令之后,剖析程序模块根据线程专有存储键值作为剖析类别,统计待剖析应用程序的运行信息;
剖析程序模块根据线程专有存储键值作为剖析类别,统计待剖析应用程序的运行信息之后,如果剖析程序模块接收到剖析程序控制器的停止命令,则剖析程序模块停止执行根据线程专有存储键值作为剖析类别,统计待剖析应用程序的运行信息的步骤。
本实施例中,以业务类别为分类的性能剖析结果可以如图2或图3a所示,图2为本发明性能剖析结果一个实施例的示意图,图3a为本发明性能剖析结果另一个实施例的示意图。图3b为现有技术一种性能剖析结果的示意图。通过对比可知,通过本发明实施例,用户可以更容易发现系统具体消耗在什么类型的业务上了。
上述实施例中,当剖析程序模块进入性能溢出中断时,接收业务类别传递器传递的线程专有存储键值,该线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别;然后,剖析程序模块可以根据该线程专有存储键值作为剖析类别,统计待剖析应用程序的运行信息;从而可以实现剖析程序模块以业务类别作为剖析类别对待剖析应用程序进行性能剖析(例如:分析业务的CPU占有率等指标),进而可以指导系统的使用者通过降低哪种类型的业务来降低系统的执行压力。
图4为本发明性能剖析方法另一个实施例的流程图,如图4所示,该性能剖析方法可以包括:
步骤401,从执行当前业务的线程的线程专有存储的指定变量中获取线程专有存储键值,该线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别。
本实施例中,从执行当前业务的线程的线程专有存储的指定变量中获取线程专有存储键值可以为:在进入性能溢出中断时,从线程专有存储的指定变量中获取上述线程专有存储键值。
步骤402,根据线程专有存储键值作为剖析类别,统计待剖析应用程序的运行信息。
这里的剖析类别可以理解为一种剖析指标,也就是说本实施例中可以业务类别作为一种剖析指标,对待剖析应用程序的运行信息进行统计。
本实施例中,待剖析应用程序的运行信息可以包括以下之一或组合:
(1)加电事件(GLOBAL_POWER_EVENTS);
(2)分支退出(BRANCH_RETIRED);
(3)预测失败的分支退出(MISPRED_BRANCH_RETIRED);
(4)分支处理单元获取请求(BPU_FETCH_REQUEST);
(5)指令查找缓冲索引的次数(ITLB_REFERENCE);
(6)内存操作取消的次数(MEMORY_CANCEL);
(7)内存操作完成的次数(MEMORY_COMPLETE)。
上述实施例可以实现以业务类别作为剖析类别对待剖析应用程序进行性能剖析(例如:分析业务的CPU占有率等指标),进而可以指导系统的使用者通过降低哪种类型的业务来降低系统的执行压力。
图5为本发明剖析工具一个实施例的结构示意图,本实施例中的剖析工具可以实现本发明图1所示实施例的流程,如图5所示,该剖析工具可以包括:
业务类别传递器51,用于从执行当前业务的线程的线程专有存储的指定变量中获取线程专有存储键值,该线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别;
剖析程序模块52,用于在进入性能溢出中断时,接收业务类别传递器51传递的线程专有存储键值,根据该线程专有存储键值作为剖析类别,统计待剖析应用程序的运行信息。
上述实施例中,业务类别传递器51可以从执行当前业务的线程的线程专有存储的指定变量中获取线程专有存储键值,该线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别,当剖析程序模块52进入性能溢出中断时,可以接收业务类别传递器51传递的线程专有存储键值,然后,剖析程序模块52可以根据该线程专有存储键值作为剖析类别,统计待剖析应用程序的运行信息;从而可以实现剖析程序模块52以业务类别作为剖析类别对待剖析应用程序进行性能剖析,进而可以指导系统的使用者通过降低哪种类型的业务来降低系统的执行压力。
图6为本发明剖析工具另一个实施例的结构示意图,与图5所示的剖析工具相比,不同之处在于,图6所示的剖析工具还可以包括:
剖析程序控制器53,用于在待剖析应用程序根据当前处理的业务的业务类别设置所述线程专有存储键值,并记录在执行所述业务的线程的线程专有存储的指定变量中之后,通知业务类别传递器51获取上述线程专有存储键值;
然后,剖析程序控制器53还可以向剖析程序模块52发送启动命令,以指示剖析程序模块52在进入性能溢出中断时,接收业务类别传递器51传递的上述线程专有存储键值,根据该线程专有存储键值作为剖析类别,统计待剖析应用程序的运行信息;
接下来,剖析程序控制器53还可以向剖析程序模块52发送停止命令,以指示剖析程序模块52停止执行根据线程专有存储键值作为剖析类别,统计待剖析应用程序的运行信息的步骤。
剖析数据库54,用于保存剖析程序模块52统计的待剖析应用程序的运行信息。这里的运行信息可以理解为性能剖析结果。本实施例中,上述运行信息可以包括以下之一或组合:
(1)加电事件(GLOBAL_POWER_EVENTS);
(2)分支退出(BRANCH_RETIRED);
(3)预测失败的分支退出(MISPRED_BRANCH_RETIRED);
(4)分支处理单元获取请求(BPU_FETCH_REQUEST);
(5)指令查找缓冲索引的次数(ITLB_REFERENCE);
(6)内存操作取消的次数(MEMORY_CANCEL);
(7)内存操作完成的次数(MEMORY_COMPLETE)。
上述剖析工具可以实现以业务类别作为剖析类别对待剖析应用程序进行性能剖析,进而可以指导系统的使用者通过降低哪种类型的业务来降低系统的执行压力。
在一种实现方式下,本发明实施例的剖析工具还可以包括人机接口单元(图中未示出),用于展示剖析程序模块52统计出的待剖析应用程序的运行信息。
图7为本发明计算机系统一个实施例的结构示意图,如图7所示,该计算机系统可以包括硬件平台71和运行在该硬件平台71上的操作系统72,该操作系统72之上运行有至少一种待剖析应用程序73,以及,该计算机系统进一步可以包括剖析工具74,其中:
待剖析应用程序73,用于在开始处理业务时,将该业务的业务类别对应的线程专有存储键值记录在执行业务的线程的线程专有存储的指定变量中,该线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别;
剖析工具74,用于在进入性能溢出中断时,从线程专有存储的指定变量中获取上述线程专有存储键值,根据该线程专有存储键值作为剖析类别,统计待剖析应用程序的运行信息。
具体地,本实施例中的剖析工具74可以通过本发明图6或图5所示实施例的剖析工具实现,可以包括:
业务类别传递器741,用于从执行业务的线程的线程专有存储的指定变量中获取线程专有存储键值;需要说明的是,在一种实现方式下,业务类别传递器741运行/部署在操作系统72上,业务类别传递器741的作用在于使运行在操作系统72中的剖析程序可以感知被运行在操作系统72上的应用程序的业务类别。
剖析程序模块742,用于在进入性能溢出中断时,接收业务类别传递器741传递的线程专有存储键值,根据该线程专有存储键值作为剖析类别,统计待剖析应用程序的运行信息;需要说明的是,这里的剖析程序模块742可以理解为剖析程序,在一种实现方式下,剖析程序可以运行在操作系统72中;在另一种实现方式下,剖析程序可以运行在操作系统72之上。
剖析数据库743,用于保存剖析程序模块742统计的待剖析应用程序的运行信息;
剖析程序控制器744,用于在待剖析应用程序73根据当前处理的业务的业务类别设置所述线程专有存储键值,并记录在执行所述业务的线程的线程专有存储的指定变量中之后,通知业务类别传递器741获取上述线程专有存储键值;
然后,剖析程序控制器744还可以向剖析程序模块742发送启动命令,以指示剖析程序模块742在进入性能溢出中断时,接收业务类别传递器741传递的上述线程专有存储键值,根据该线程专有存储键值作为剖析类别,统计待剖析应用程序73的运行信息;
接下来,剖析程序控制器744还可以向剖析程序模块742发送停止命令,以指示剖析程序模块742停止执行根据线程专有存储键值作为剖析类别,统计待剖析应用程序73的运行信息的步骤。。
综上所述,本发明实施例的计算机系统中,剖析工具74在进入性能溢出中断时,从线程专有存储的指定变量中获取上述线程专有存储键值,根据该线程专有存储键值作为剖析类别,(这里的剖析类别可以理解为对系统进行性能剖析的一种剖析指标),统计待剖析应用程序的运行信息;从而可以实现以业务类别作为剖析类别对待剖析应用程序进行性能剖析,进而可以指导系统的使用者通过降低哪种类型的业务来降低系统的执行压力。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory;以下简称:ROM)或随机存储记忆体(Random Access Memory;以下简称:RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种性能剖析方法,其特征在于,包括:
当剖析程序模块进入性能溢出中断时,接收业务类别传递器传递的线程专有存储键值;其中,所述线程专有存储键值是由所述业务类别传递器从线程专有存储的指定变量中获取的;所述线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别;
所述剖析程序模块根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息。
2.根据权利要求1所述的方法,其特征在于,所述线程专有存储键值是所述待剖析应用程序根据当前处理的业务的业务类别设置,并记录在执行所述业务的线程的线程专有存储的指定变量中的。
3.根据权利要求1或2所述的方法,其特征在于,所述统计所述待剖析应用程序的运行信息之后,还包括:
所述剖析程序模块将统计的运行信息写入剖析数据库中。
4.根据权利要求1或2所述的方法,其特征在于,所述待剖析应用程序的运行信息包括:加电事件、分支退出、预测失败的分支退出、分支处理单元获取请求、指令查找缓冲索引的次数、内存操作取消的次数和内存操作完成的次数中的至少一种。
5.根据权利要求1所述的方法,其特征在于,所述剖析程序模块根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息包括:
接收到剖析程序控制器的启动命令之后,所述剖析程序模块根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息;
所述剖析程序模块根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息之后,所述方法还包括:
接收到所述剖析程序控制器的停止命令之后,所述剖析程序模块停止执 行所述根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息的步骤。
6.一种剖析工具,其特征在于,包括: 
业务类别传递器,用于从执行当前业务的线程的线程专有存储的指定变量中获取线程专有存储键值,所述线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别; 
剖析程序模块,用于在进入性能溢出中断时,接收所述业务类别传递器传递的所述线程专有存储键值,根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息。 
7.根据权利要求6所述的剖析工具,其特征在于,还包括: 
剖析程序控制器,用于在所述待剖析应用程序根据当前处理的业务的业务类别设置所述线程专有存储键值,并记录在执行所述业务的线程的线程专有存储的指定变量中之后,通知所述业务类别传递器获取所述线程专有存储键值; 
所述剖析程序控制器,还用于向所述剖析程序模块发送启动命令,以指示所述剖析程序模块在进入性能溢出中断时,接收所述业务类别传递器传递的所述线程专有存储键值,根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息; 
所述剖析程序控制器,还用于向所述剖析程序模块发送停止命令,以指示所述剖析程序模块停止执行所述根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息的步骤。 
8.根据权利要求6所述的剖析工具,其特征在于,还包括: 
剖析数据库,用于保存所述剖析程序模块统计的所述待剖析应用程序的运行信息。 
9.一种性能剖析系统,其特征在于,包括:剖析工具和至少一种待剖析应用程序模块,其中: 
所述待剖析应用程序模块,用于在开始处理业务时,将所述业务的业务类别对应的线程专有存储键值记录在执行所述业务的线程的线程专有存储的指定变量中,所述线程专有存储键值用于表示所述待剖析应用程序当前处理的业务的业务类别; 
所述剖析工具包括:业务类别传递器和剖析程序模块; 
所述业务类别传递器,用于从执行所述业务的线程的线程专有存储的指定变量中获取线程专有存储键值; 
所述剖析程序模块,用于在进入性能溢出中断时,接收所述业务类别传递器传递的所述线程专有存储键值,根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息。 
10.一种性能剖析方法,其特征在于,包括: 
从执行当前业务的线程的线程专有存储的指定变量中获取线程专有存储键值,所述线程专有存储键值用于表示待剖析应用程序当前处理的业务的业务类别; 
根据所述线程专有存储键值作为剖析类别,统计所述待剖析应用程序的运行信息。 
11.根据权利要求10所述的方法,其特征在于,所述从执行当前业务的线程的线程专有存储的指定变量中获取线程专有存储键值包括: 
在进入性能溢出中断时,从所述线程专有存储的指定变量中获取所述线程专有存储键值。 
12.根据权利要求10或11所述的方法,其特征在于,所述待剖析应用程序的运行信息包括:加电事件、分支退出、预测失败的分支退出、分支处理单元获取请求、指令查找缓冲索引的次数、内存操作取消的次数和内存操作完成的次数中的至少一种。 
CN 201110034429 2011-02-01 2011-02-01 性能剖析方法、剖析工具和计算机系统 Expired - Fee Related CN102073580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110034429 CN102073580B (zh) 2011-02-01 2011-02-01 性能剖析方法、剖析工具和计算机系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110034429 CN102073580B (zh) 2011-02-01 2011-02-01 性能剖析方法、剖析工具和计算机系统

Publications (2)

Publication Number Publication Date
CN102073580A CN102073580A (zh) 2011-05-25
CN102073580B true CN102073580B (zh) 2013-10-02

Family

ID=44032126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110034429 Expired - Fee Related CN102073580B (zh) 2011-02-01 2011-02-01 性能剖析方法、剖析工具和计算机系统

Country Status (1)

Country Link
CN (1) CN102073580B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609351B (zh) * 2012-01-11 2015-12-02 华为技术有限公司 用于分析系统的性能的方法、设备和系统
CN112631891A (zh) * 2021-01-05 2021-04-09 网易(杭州)网络有限公司 性能剖析方法及装置、电子设备、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833440A (zh) * 2010-04-30 2010-09-15 西安交通大学 编译器支持下的推测多线程内存数据同步执行方法及装置
WO2011000700A1 (en) * 2009-06-30 2011-01-06 International Business Machines Corporation Time based context sampling of trace data with support for multiple virtual machines

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI0823129B8 (pt) * 2008-10-27 2020-07-07 Telecom Italia Spa método e sistema para perfilagem de tráfego de comunicação de usuários em uma rede de dados, e, rede de dados

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011000700A1 (en) * 2009-06-30 2011-01-06 International Business Machines Corporation Time based context sampling of trace data with support for multiple virtual machines
CN101833440A (zh) * 2010-04-30 2010-09-15 西安交通大学 编译器支持下的推测多线程内存数据同步执行方法及装置

Also Published As

Publication number Publication date
CN102073580A (zh) 2011-05-25

Similar Documents

Publication Publication Date Title
US11294714B2 (en) Method and apparatus for scheduling task, device and medium
US20130160024A1 (en) Dynamic Load Balancing for Complex Event Processing
CN101441674B (zh) 基于fpga的动态可重构系统的分片配置方法
CN106557369A (zh) 一种多线程的管理方法及系统
CN103309738A (zh) 用户作业调度方法及装置
CN103365729A (zh) 一种基于任务类型的动态MapReduce 调度方法及系统
KR102088285B1 (ko) 규칙 기반의 동적 로그 수집 방법 및 장치
CN109376015A (zh) 用于任务调度系统的日志阻塞解决方法及系统
CN115640278B (zh) 一种数据库性能智能优化的方法及系统
KR102027303B1 (ko) 분산 클라우드 환경에서 퍼지값 재조정에 따른 마이그레이션 시스템 및 방법
CN103729252A (zh) 一种虚拟机调度的方法及调度监控器
CN102073580B (zh) 性能剖析方法、剖析工具和计算机系统
US20170091009A1 (en) Optimized diagnostic data collection driven by a ticketing system
CN115827250A (zh) 一种数据存储方法、装置及设备
CN110837415B (zh) 一种基于risc-v多核处理器的线程调度方法和装置
CN110176276B (zh) 生物信息分析流程化管理方法及系统
CN116974994A (zh) 一种基于集群的高效能文件协作系统
CN106502842A (zh) 数据恢复方法及系统
US20240055004A1 (en) Methods and systems for propagating a stopping condition in a distributed multiple-producer, multiple-consumer system
KR102613365B1 (ko) 인공지능 기반 클라우드 서비스 서버 결정 장치 및 방법
CN117093335A (zh) 分布式存储系统的任务调度方法及装置
US10528387B2 (en) Computer processing system with resource optimization and associated methods
CN114398178A (zh) 一种任务执行方法、装置及电子设备
CN107704594A (zh) 基于SparkStreaming的电力系统日志数据实时处理方法
Knoell et al. BISHOP-Big Data Driven Self-Learning Support for High-performance Ontology Population.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131002

Termination date: 20180201

CF01 Termination of patent right due to non-payment of annual fee