CN101876938A - 一种基于消息队列的应用软件响应时间测量方法 - Google Patents

一种基于消息队列的应用软件响应时间测量方法 Download PDF

Info

Publication number
CN101876938A
CN101876938A CN 200910237529 CN200910237529A CN101876938A CN 101876938 A CN101876938 A CN 101876938A CN 200910237529 CN200910237529 CN 200910237529 CN 200910237529 A CN200910237529 A CN 200910237529A CN 101876938 A CN101876938 A CN 101876938A
Authority
CN
China
Prior art keywords
function
response time
application software
message
call
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.)
Granted
Application number
CN 200910237529
Other languages
English (en)
Other versions
CN101876938B (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.)
Beijing Shenzhou Taiyue Software Co Ltd
Original Assignee
Beijing Shenzhou Taiyue Software 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 Beijing Shenzhou Taiyue Software Co Ltd filed Critical Beijing Shenzhou Taiyue Software Co Ltd
Priority to CN 200910237529 priority Critical patent/CN101876938B/zh
Publication of CN101876938A publication Critical patent/CN101876938A/zh
Application granted granted Critical
Publication of CN101876938B publication Critical patent/CN101876938B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于消息队列的应用软件响应时间测量方法,包括步骤:应用软件调用函数的同时调用ARM应用接口库,ARM应用接口库向消息队列发送消息;读取消息队列中的消息,计算应用软件调用函数的响应时间;保存函数调用关系,统计响应时间,将统计结果存储入数据库;显示统计结果和函数调用关系图。基于消息队列的应用软件响应时间测量系统,包括:ARM应用接口库、数据采集代理程序模块、数据处理模块和数据展示模块。本发明能帮助维护人员更加全面分析应用运行情况;监控业务系统错综复杂的相互调用关系;了解业务响应时间异常原因等,从而完善集中监控体系。同时也能够为开发人员在开发测试过程中提供故障分析的工具。

Description

一种基于消息队列的应用软件响应时间测量方法
技术领域
本发明涉及测量或测试过程控制的软件技术领域,特别涉及一种一种基于消息队列的应用软件响应时间测量方法。
背景技术
随着软件技术逐渐融入各行各业、工作生活中,除了功能方面的需求,人们也对软件系统的性能、可靠性等方面的要求也越来越高,会越发关心类似以下问题:
·这些“事务”成功了吗?
·是什么原因导致某个“事务”失败了?
·客户体验到的系统响应时间是多少?
·在整个交易过程中哪个部分耗时最长?
·系统瓶颈在哪里?
·如何能提高应用系统的性能?
目前,没有一种如何测量上述问题的好方法和系统。
另一方面,缺乏从业务角度对业务路径、业务响应时间等业务纬度的监控,因此无法从全局了解系统运行情况,而一旦业务异常,维护人员往往是通过主机、数据库、中间件或其它途径得到消息,较为被动。
发明内容
(一)发明目的
本发明的目的是提供一种基于消息队列的应用软件响应时间测量方法,以帮助维护人员更加全面分析应用运行情况;监控业务系统错综复杂的相互调用关系,即业务路径;了解业务响应时间异常原因;及时发现关键处理环节的潜在问题;快速定位异常情况的故障点,从而完善集中监控体系。同时也能够为开发人员在开发测试过程中提供故障分析的方法。
(二)发明内容
一种基于消息队列的应用软件响应时间测量方法,其特征在于,包括以下步骤:
S1:应用软件调用函数的同时调用ARM(Application ResponseMeasurement,应用软件响应时间测量)应用接口库,所述ARM应用接口库向消息队列发送消息,包括开始消息和结束消息;
S2:读取消息队列中的消息,通过开始消息和结束消息计算所述应用软件调用函数的响应时间;
S3:保存所述函数调用关系,统计响应时间,将统计结果存储入数据库;
S4:保存所述函数调用关系,显示统计结果和函数调用关系图。
其中,所述步骤S1包括:
应用软件调用函数的同时调用ARM的开始事务接口,以应用软件调用函数的函数名和其父函数名为参数,开始事务接口产生全局唯一标识符GUID,记录当前系统时间,即函数执行开始时间,并将所述函数名、父函数名、GUID和函数执行开始时间组成开始消息发送到消息队列中;
应用软件执行调用函数原来的代码;
应用软件执行完调用函数原来的代码后,调用ARM的结束事务接口,以应用软件调用函数的函数名和GUID作为参数,记录当前系统时间,即函数执行结束时间,并将所述函数名、GUID和函数执行结束时间组成结束消息发送到消息队列中。
其中,所述步骤S2包括:
采用阻塞式读取消息队列中的消息;
判断所述消息是开始消息或是结束消息,若是开始消息,则将该消息存储在数据缓存中,若是结束消息,则找到对应的开始消息并计算应用软件调用函数的响应时间;
采样过滤所述响应时间,生成包含函数名、父函数名、GUID、函数执行开始时间和函数响应时间的数据,同时删除所述开始消息;
其中,所述步骤S3包括:
接收包含函数名、父函数名、GUID、函数执行开始时间和函数响应时间的数据,并存储在缓存中,同时保存函数调用关系;
每单位时间统计一次应用程序调用函数的次数、平均响应时间、最大响应时间和最小响应时间,将统计结果存储入数据库;
根据最大响应时间和最小响应时间动态配置应用软件调用函数的响应时间告警阈值。
其中,所述步骤S4包括:
显示应用软件调用函数的统计信息,包括函数名、在单位时间内的调用次数和在单位时间内的平均响应时间;
标识所述平均响应时间超出阈值的函数;
显示函数之间的调用关系图。
其中,所述方法还包括步骤:
计算应用软件调用函数的平均响应时间;
判断所述平均响应时间是否超出所述阈值,若超出阈值,则产生“严重告警”;
将所述“严重告警”发送到消息队列中;
应用软件再次调用函数时,调用ARM的开始事务接口,所述接口首先读取消息队列,如有“严重告警”则终止应用软件。
一种基于消息队列的应用软件响应时间测量系统,包括:
ARM应用接口库模块,用于应用软件调用函数的同时调用ARM应用接口库,所述ARM应用接口库向消息队列发送消息,包括开始消息和结束消息;
数据采集代理程序模块,用于数据采集代理程序读取消息队列中的消息,通过开始消息和结束消息计算应用软件调用函数的响应时间;
数据处理服模块,用于保存所述函数调用关系,统计响应时间,将统计结果存储入数据库;
数据展示模块,用于保存所述函数调用关系,显示统计结果和函数调用关系图。
其中,所述ARM应用接口库模块包括:
调用开始事务接口模块,用于应用软件调用函数的同时调用ARM的开始事务接口,以应用软件调用函数的函数名和其父函数名为参数,开始事务接口产生全局唯一标识符GUID,记录当前系统时间,即函数执行开始时间,并将所述函数名、父函数名、GUID和函数执行开始时间组成开始消息发送到消息队列中;
原函数调用模块,用于应用软件执行调用函数原来的代码;
调用结束事务接口模块,用于应用软件执行完调用函数原来的代码后,调用ARM的结束事务接口,以应用软件调用函数的函数名和GUID作为参数,记录当前系统时间,即函数执行结束时间,并将所述函数名、GUID和函数执行结束时间组成结束消息发送到消息队列中。
其中,所述数据采集代理程序模块包括:
读取消息模块,用于数据采集代理程序采用阻塞式读取消息队列中的消息;
计算响应时间模块,用于判断所述消息是开始消息或是结束消息,若是开始消息,则将该消息存储在数据缓存中,若是结束消息,则找到对应的开始消息并计算应用软件调用函数的响应时间;
采样过滤模块,用于过滤所述响应时间,生成包含函数名、父函数名、GUID、函数执行开始时间和函数响应时间的数据,同时删除所述开始消息;
其中,所述数据处理模块包括:
接收数据模块,用于接收包含函数名、父函数名、GUID、函数执行开始时间和函数响应时间的数据,并存储在缓存中,同时保存函数调用关系;
统计模块,用于每单位时间统计一次应用程序调用函数的次数、平均响应时间、最大响应时间和最小响应时间,将统计结果存储入数据库;
设置阈值模块,用于根据最大响应时间和最小响应时间动态配置应用软件调用函数的响应时间告警阈值。
(三)有益效果
本发明的基于消息队列的应用软件响应时间测量系统从全局高度,以应用软件的业务逻辑为线索,反映沿途各关键业务环节的性能数据,并且通过分析其异像,发现潜在的性能瓶颈、故障,及时通报相关维护人员处理的业务维度监控能力;对于开发人员,能对特定单笔或者所有业务的业务路径进行跟踪,以便更好地理解业务的执行过程和各过程中的处理时间,处理结果等监控指标。并可通过超时、延时的性能数据分析,失败的告警数据分析,达到功能测试、性能测试的目的。
附图说明
图1是根据本发明的基于消息队列的应用软件响应时间测量方法的流程图;
图2是根据本发明的基于消息队列的应用软件响应时间测量方法的应用程序调用ARM应用接口库的流程图;
图3是根据本发明的基于消息队列的应用软件响应时间测量方法的数据采集代理程序流程图;
图4是根据本发明的基于消息队列的应用软件响应时间测量方法的数据处理模块处理流程图;
图5是根据本发明的基于消息队列的应用软件响应时间测量方法的数据处理模块计算阈值时的动态基线图;
图6是根据本发明的基于消息队列的应用软件响应时间测量方法的数据展示模块的显示结果;
图7是数据展示模块将父子函数调用关系表转换成函数调用关系图;
图8是根据本发明的基于消息队列的应用软件响应时间测量方法的数据处理模块反向控制应用程序流程图;
图9是根据本发明的基于消息队列的应用软件响应时间测量系统结构图。
具体实施方式
本发明提出的基于消息队列的应用软件响应时间测量方法,结合附图和实施例说明如下。
如图1所示,S1:应用软件调用函数的同时调用ARM应用接口库,ARM应用接口库向消息队列发送消息,包括开始消息和结束消息。ARM应用接口库中提供两个主要的函数:开始事务接口arm_start_transaction()和结束事务接口arm_stop_transaction(),应用软件调用ARM应用接口库的具体流程如图2所示,步骤S101中,应用软件在调用某个函数时,调用arm_start_transaction()接口函数,把应用软件调用的函数的函数名和其父函数名作为输入参数,调用arm_start_transaction()接口函数后,会产生一个全局唯一标识符(Global Unique Identifier,GUID),ARM应用接口库会纪录此时的系统时间,同时将父函数名、函数名、GUID和系统时间组成一个消息,并将此“开始消息”发送到消息队列中。如没有父函数调用,则将输入参数“父函数名”置为空(null);步骤S102应用软件继续执行所调用函数原来的代码;步骤S103中,应用软件调用arm_stop_transaction()接口函数,把应用软件调用函数的函数名和调用arm_start_transaction()函数产生的全局唯一标识符GUID作为输入参数,ARM应用接口库会纪录此时的系统时间,同时将GUID和系统时间组成另一个消息,并将此“结束消息”发送到消息队列中。
S2:读取消息队列中的消息,通过开始消息和结束消息计算应用软件调用函数的响应时间,将并包含响应时间的数据发送给数据处理模块。具体步骤如图3所示,步骤S201中,消息队列读取线程采用阻塞式读取消息队列中的消息,一旦有消息进入消息队列,消息队列读取线程立刻读取到一条消息;步骤S202中,消息队列读取线程首先判断此消息的类型,如果是“开始消息”,则将此消息存储在数据缓存中;如果是“结束消息”,则通过消息中的GUID在数据缓存中寻找相对应的“开始消息”,将“结束消息”中的系统时间减去“开始消息”中的系统时间,计算得到应用程序调用这个函数的响应时间;步骤S203中,将这个响应时间发送给采样过滤器,采样过滤器的目的是减少发送给数据处理模块的网络传输量,采样率可以配置修改,使用的算法有固定采样和随机采样,采样过滤后生成包括GUID、父函数名、函数名、函数开始执行时间、函数响应时间的数据,然后删除数据缓存中存储的相应的“开始消息”。
S3:保存函数调用关系,统计响应时间,将统计结果存储入数据库。如图4所示,步骤S301中,接收每一次应用程序调用某个函数的包含函数名、父函数名、GUID、函数执行开始时间和函数响应时间的数据,并存入缓存中,同时保存函数调用关系;步骤S302中,每单位时间统计一次应用程序调用的次数、平均响应时间、最大响应时间和最小响应时间等值;步骤S303中,利用动态基线计算方法,可以自动配置应用程序调用某个函数的响应时间告警阈值,根据不同时段设定合理变化区域的方法被称为基于历史统计数据的“动态基线算法(dynamic baseline algorithm)”。如图5所示,上基线表示各个时段正常值最大值连成的曲线,下基线表示各个时段正常值的最小值连成的曲线,二者确定了各个时段的正常波动范围,体现了正常情况下该性能指标在24小时之内的变化趋势,以天为单位,在计算某个时间点的数据的时候,取历史范围内的同一个时间点进行参照,预测出一个正常的运行范围。使用概率分布算法:
(1)首先对预处理后的有效数据进行排序,假定共有N*个,分别记为X1~XN*;
(2)假定有效数据的Y%(在实践中可以根据省公司、业务系统、管理要求等因素设定,建议取95%)为可以接受而不用产生告警的指标值,滑动排序数据的窗口(共N*×Y%个数据),计算该窗口中数据的均方差,
1)计算该窗口中样本的平均值作为期望值E(X);
2)计算窗口各个样本点对于数学期望的偏离程度,单个偏离是X-E(X)。为消除符号影响,一般取(X-E(X))2
3)求方差,即窗口中所有样本点偏离平方的均值,记为D(X),
Figure B2009102375294D0000081
4)求标准差或均方差
Figure B2009102375294D0000082
描述了改组样本的波动程度;
(3)取均方差最小的窗口中的数据,以其最大值作为基线上限,以其最小值作为基线的下限。
动态基线计算方法计算出的上下容忍线(基线上下限增加10%),即,响应时间告警阈值,对比这一时间单位内的应用程序调用某个函数的响应时间,如超出则产生告警。
S4:保存所述函数调用关系,显示统计结果和函数调用关系图。如图6所示,601、602、603、604分别代表四个函数,函数之间的箭头从左向右代表调用关系。函数601调用函数602,函数602调用函数603;然后,函数601调用函数604。每个函数内部显示三项内容:函数名,单位时间内被调用的次数,即执行次数,单位时间内的平均响应时间。显示结果中还有一项表示内容:每个函数(601、602、603或604)的背景颜色代表其状态。如背景颜色为绿色表示正常;背景颜色为红色,表示此函数当前单位时间内的平均响应时间超过动态基线的上下容忍线,函数601、602和603均正常,函数604异常。
如图7所示,将父子函数调用关系表转换成函数调用关系图,接收每一次应用程序调用某个函数的响应时间数据(传输内容包括:GUID、父函数名、函数名、函数开始执行时间、函数响应时间),存入缓存中的同时,将父子函数关系保存在“父子函数调用关系表”701中。如“父子函数调用关系表”701有变化,则将变化传输给数据展示模块。数据展示模块也保存一份“父子函数调用关系表”701。在进行界面展示时,通过遍历“父子函数调用关系表”701的办法,转换成“函数调用关系图”702。
本方法可以反向控制应用程序的流程,如图8所示,通过动态基线计算方法计算得到应用程序调用某个函数的响应时间超出阈值,产生一条“严重告警”。并将此条告警发送到消息队列中。当应用程序再次调用某函数,调用ARM应用接口库中提供的函数arm_start_transaction()时,ARM应用接口库首先读消息队列,如有严重告警消息,则调用系统函数exit(),从而终止应用程序进程。
本发明还提供了一种基于消息队列的应用软件响应时间测量系统,如图9所示,包括:
ARM应用接口库模块,用于应用软件调用函数的同时调用ARM应用接口库,所述ARM应用接口库向消息队列发送消息,包括开始消息和结束消息;
数据采集代理程序模块,用于数据采集代理程序读取消息队列中的消息,通过开始消息和结束消息计算应用软件调用函数的响应时间,将并包含响应时间的数据发送给数据处理模块;
数据处理模块,用于保存所述函数调用关系,统计响应时间,将统计结果存储入数据库,同时将函数调用关系的变化和统计结果发送给数据展示模块;
数据展示模块,用于保存所述函数调用关系,显示统计结果和函数调用关系图。
应用软件、消息队列和数据采集代理程序部署在同一个应用服务器上。应用软件源代码中嵌入ARM应用接口库,在应用软件调用ARM应用接口库时,便通过ARM应用接口库向消息队列发送了一条消息;数据采集代理程序模块接收到这条消息后,存储在其内部缓存中,并通过TCP线程池发送给数据处理模块。数据处理模块将一段时间内的数据统计后,通过TCP发送给数据展示模块。数据展示模块负责将统计后的数据呈现给最终用户。
其中,消息队列还有其他的数据传输方式,如文件、管道、共享内存等。但消息队列传输方式即安全又快速。
其中,所述ARM应用接口库模块包括:调用开始事务接口模块,用于应用软件调用函数的同时调用ARM的开始事务接口arm_start_transaction(),以应用软件调用函数的函数名和其父函数名为参数,开始事务接口产生全局唯一标识符GUID,记录当前系统时间,即函数执行开始时间,并将所述函数名、父函数名、GUID和函数执行开始时间组成开始消息发送到消息队列中;原函数调用模块,用于应用软件执行调用函数原来的代码;调用结束事务接口模块,用于应用软件执行完调用函数原来的代码后,调用ARM的结束事务接口arm_stop_transaction(),以应用软件调用函数的函数名和GUID作为参数,记录当前系统时间,即函数执行结束时间,并将所述函数名、GUID和函数执行结束时间组成结束消息发送到消息队列中。
其中,所述数据采集代理程序模块包括:读取消息模块,用于数据采集代理程序采用阻塞式读取消息队列中的消息;计算响应时间模块,用于判断所述消息是开始消息或是结束消息,若是开始消息,则将该消息存储在数据缓存中,若是结束消息,则找到对应的开始消息并计算应用软件调用函数的响应时间;采样过滤模块,用于过滤所述响应时间,生成包含函数名、父函数名、GUID、函数执行开始时间和函数响应时间的数据,同时删除所述开始消息。将采样过滤后生成的数据发送给数据处理模块。
其中,所述数据处理模块包括:接收数据模块,用于接收包含函数名、父函数名、GUID、函数执行开始时间和函数响应时间的数据,并存储在缓存中,同时保存函数调用关系;统计模块,用于每单位时间统计一次应用程序调用函数的次数、平均响应时间、最大响应时间和最小响应时间,将统计结果存储入数据库;设置阈值模块,用于根据最大响应时间和最小响应时间动态配置应用软件调用函数的响应时间告警阈值。数据处理完成后将函数调用关系的变化、统计结果和超出阈值的告警发送给数据展示模块以供其显示。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (10)

1.一种基于消息队列的应用软件响应时间测量方法,其特征在于,包括以下步骤:
S1:应用软件调用函数的同时调用ARM应用接口库,所述ARM应用接口库向消息队列发送消息,包括开始消息和结束消息;
S2:读取消息队列中的消息,通过开始消息和结束消息计算所述应用软件调用函数的响应时间;
S3:保存所述函数调用关系,统计响应时间,将统计结果存储入数据库;
S4:保存所述函数调用关系,显示统计结果和函数调用关系图。
2.如权利要求1所述的基于消息队列的应用软件响应时间测量方法,其特征在于,所述步骤S1包括:
应用软件调用函数的同时调用ARM的开始事务接口,以应用软件调用函数的函数名和其父函数名为参数,开始事务接口产生全局唯一标识符GUID,记录当前系统时间,即函数执行开始时间,并将所述函数名、父函数名、GUID和函数执行开始时间组成开始消息发送到消息队列中;
应用软件执行调用函数原来的代码;
应用软件执行完调用函数原来的代码后,调用ARM的结束事务接口,以应用软件调用函数的函数名和GUID作为参数,记录当前系统时间,即函数执行结束时间,并将所述函数名、GUID和函数执行结束时间组成结束消息发送到消息队列中。
3.如权利要求1所述的基于消息队列的应用软件响应时间测量方法,其特征在于,所述步骤S2包括:
采用阻塞式读取消息队列中的消息;
判断所述消息是开始消息或是结束消息,若是开始消息,则将该消息存储在数据缓存中,若是结束消息,则找到对应的开始消息并计算应用软件调用函数的响应时间;
采样过滤所述响应时间,生成包含函数名、父函数名、GUID、函数执行开始时间和函数响应时间的数据,同时删除所述开始消息。
4.如权利要求1所述的基于消息队列的应用软件响应时间测量方法,其特征在于,所述步骤S3包括:
接收包含函数名、父函数名、GUID、函数执行开始时间和函数响应时间的数据,并存储在缓存中,同时保存函数调用关系;
每单位时间统计一次应用程序调用函数的次数、平均响应时间、最大响应时间和最小响应时间,将统计结果存储入数据库;
根据最大响应时间和最小响应时间动态配置应用软件调用函数的响应时间告警阈值。
5.如权利要求1所述的基于消息队列的应用软件响应时间测量方法,其特征在于,所述步骤S4包括:
显示应用软件调用函数的统计信息,包括函数名、在单位时间内的调用次数和在单位时间内的平均响应时间;
标识所述平均响应时间超出阈值的函数;
显示函数之间的调用关系图。
6.如权利要求1-5任一所述的基于消息队列的应用软件响应时间测量方法,其特征在于,所述方法还包括步骤:
计算应用软件调用函数的平均响应时间;
判断所述平均响应时间是否超出所述阈值,若超出阈值,则产生“严重告警”;
将所述“严重告警”发送到消息队列中;
应用软件再次调用函数时,调用ARM的开始事务接口,所述接口首先读取消息队列,如有“严重告警”则终止应用软件。
7.一种基于消息队列的应用软件响应时间测量系统,其特征在于,包括:
ARM应用接口库模块,用于应用软件调用函数的同时调用ARM应用接口库,所述ARM应用接口库向消息队列发送消息,包括开始消息和结束消息;
数据采集代理程序模块,用于数据采集代理程序读取消息队列中的消息,通过开始消息和结束消息计算应用软件调用函数的响应时间;
数据处理服模块,用于保存所述函数调用关系,统计响应时间,将统计结果存储入数据库;
数据展示模块,用于保存所述函数调用关系,显示统计结果和函数调用关系图。
8.如权利要求7所述的基于消息队列的应用软件响应时间测量系统,其特征在于,所述ARM应用接口库模块包括:
调用开始事务接口模块,用于应用软件调用函数的同时调用ARM的开始事务接口,以应用软件调用函数的函数名和其父函数名为参数,开始事务接口产生全局唯一标识符GUID,记录当前系统时间,即函数执行开始时间,并将所述函数名、父函数名、GUID和函数执行开始时间组成开始消息发送到消息队列中;
原函数调用模块,用于应用软件执行调用函数原来的代码;
调用结束事务接口模块,用于应用软件执行完调用函数原来的代码后,调用ARM的结束事务接口,以应用软件调用函数的函数名和GUID作为参数,记录当前系统时间,即函数执行结束时间,并将所述函数名、GUID和函数执行结束时间组成结束消息发送到消息队列中。
9.如权利要求7所述的基于消息队列的应用软件响应时间测量系统,其特征在于,所述数据采集代理程序模块包括:
读取消息模块,用于数据采集代理程序采用阻塞式读取消息队列中的消息;
计算响应时间模块,用于判断所述消息是开始消息或是结束消息,若是开始消息,则将该消息存储在数据缓存中,若是结束消息,则找到对应的开始消息并计算应用软件调用函数的响应时间;
采样过滤模块,用于过滤所述响应时间,生成包含函数名、父函数名、GUID、函数执行开始时间和函数响应时间的数据,同时删除所述开始消息。
10.如权利要求7所述的基于消息队列的应用软件响应时间测量系统,其特征在于,所述数据处理模块包括:
接收数据模块,用于接收包含函数名、父函数名、GUID、函数执行开始时间和函数响应时间的数据,并存储在缓存中,同时保存函数调用关系;
统计模块,用于每单位时间统计一次应用程序调用函数的次数、平均响应时间、最大响应时间和最小响应时间,将统计结果存储入数据库;
设置阈值模块,用于根据最大响应时间和最小响应时间动态配置应用软件调用函数的响应时间告警阈值。
CN 200910237529 2009-11-11 2009-11-11 一种基于消息队列的应用软件响应时间测量方法及系统 Active CN101876938B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910237529 CN101876938B (zh) 2009-11-11 2009-11-11 一种基于消息队列的应用软件响应时间测量方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910237529 CN101876938B (zh) 2009-11-11 2009-11-11 一种基于消息队列的应用软件响应时间测量方法及系统

Publications (2)

Publication Number Publication Date
CN101876938A true CN101876938A (zh) 2010-11-03
CN101876938B CN101876938B (zh) 2012-10-10

Family

ID=43019497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910237529 Active CN101876938B (zh) 2009-11-11 2009-11-11 一种基于消息队列的应用软件响应时间测量方法及系统

Country Status (1)

Country Link
CN (1) CN101876938B (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365716A (zh) * 2013-06-25 2013-10-23 华为技术有限公司 业务操作任务中的数据跟踪方法、装置及主机
CN103577304A (zh) * 2012-08-10 2014-02-12 百度在线网络技术(北京)有限公司 一种代码动态分析的方法及装置
CN104053135A (zh) * 2013-03-13 2014-09-17 中兴通讯股份有限公司 一种实现非结构化补充数据业务的方法及装置
CN104348747A (zh) * 2014-05-22 2015-02-11 国网山西省电力公司信息通信分公司 Mpls-vpn网络中流量监控的方法和系统
CN104360939A (zh) * 2014-10-29 2015-02-18 中国建设银行股份有限公司 定位故障的方法、设备及系统
CN104503912A (zh) * 2014-12-24 2015-04-08 中科创达软件股份有限公司 一种服务响应过程的监测方法及装置
CN104765689A (zh) * 2015-04-20 2015-07-08 广州华多网络科技有限公司 一种接口性能数据实时监制方法和装置
CN105389258A (zh) * 2015-12-10 2016-03-09 腾讯科技(深圳)有限公司 一种程序检测方法及装置
CN105550104A (zh) * 2015-12-08 2016-05-04 北京奇虎科技有限公司 应用程序性能测试方法及装置
CN105589783A (zh) * 2014-11-18 2016-05-18 广州市动景计算机科技有限公司 应用程序卡顿问题数据获取方法及装置
CN105677573A (zh) * 2016-02-26 2016-06-15 厦门美图移动科技有限公司 一种卡顿检测方法、装置及计算设备
CN105871638A (zh) * 2016-06-03 2016-08-17 北京启明星辰信息安全技术有限公司 一种网络安全控制方法及装置
CN106294102A (zh) * 2015-05-20 2017-01-04 腾讯科技(深圳)有限公司 应用程序的测试方法、客户端、服务器及系统
CN106713573A (zh) * 2016-12-29 2017-05-24 努比亚技术有限公司 一种终端设备的性能测试装置和方法
CN106961358A (zh) * 2017-05-11 2017-07-18 国网山东省电力公司信息通信公司 基于日志的Web应用系统集群运行状态监测方法及其系统
CN107133047A (zh) * 2017-05-12 2017-09-05 微梦创科网络科技(中国)有限公司 一种项目运行指标度量方法及装置
CN107179975A (zh) * 2016-03-09 2017-09-19 北京京东尚科信息技术有限公司 监控方法和装置
CN107733710A (zh) * 2017-10-17 2018-02-23 平安科技(深圳)有限公司 链路调用关系的构建方法、装置、计算机设备及存储介质
CN107766216A (zh) * 2016-08-19 2018-03-06 阿里巴巴集团控股有限公司 一种用于获取应用执行信息的方法与设备
CN108121653A (zh) * 2016-11-29 2018-06-05 华为技术有限公司 测试程序性能的方法及装置
CN110489263A (zh) * 2019-08-12 2019-11-22 腾讯科技(深圳)有限公司 进程调用的异常识别方法及装置
CN112860449A (zh) * 2021-01-08 2021-05-28 苏州浪潮智能科技有限公司 一种防止消息超时导致重启的方法、系统、设备及介质
CN113934475A (zh) * 2021-08-10 2022-01-14 荣耀终端有限公司 应用调用的分析方法及电子设备
CN115174346A (zh) * 2022-09-02 2022-10-11 平安银行股份有限公司 基于消息队列的延时告警方法
CN116009833A (zh) * 2023-01-10 2023-04-25 广州市华势信息科技有限公司 一种零代码开发系统的软件开发方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496903B2 (en) * 2003-08-12 2009-02-24 Hewlett-Packard Development Company, L.P. Synthesizing application response measurement (ARM) instrumentation
CN100555240C (zh) * 2007-01-16 2009-10-28 国际商业机器公司 用于诊断应用程序的方法和系统
CN101276296B (zh) * 2007-03-29 2011-03-09 上海新跃仪表厂 一种在嵌入式计算机系统上实现消息响应机制的方法

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577304B (zh) * 2012-08-10 2018-11-09 百度在线网络技术(北京)有限公司 一种代码动态分析的方法及装置
CN103577304A (zh) * 2012-08-10 2014-02-12 百度在线网络技术(北京)有限公司 一种代码动态分析的方法及装置
CN104053135A (zh) * 2013-03-13 2014-09-17 中兴通讯股份有限公司 一种实现非结构化补充数据业务的方法及装置
CN104053135B (zh) * 2013-03-13 2018-03-23 中兴通讯股份有限公司 一种实现非结构化补充数据业务的方法及装置
CN103365716A (zh) * 2013-06-25 2013-10-23 华为技术有限公司 业务操作任务中的数据跟踪方法、装置及主机
CN104348747A (zh) * 2014-05-22 2015-02-11 国网山西省电力公司信息通信分公司 Mpls-vpn网络中流量监控的方法和系统
CN104360939A (zh) * 2014-10-29 2015-02-18 中国建设银行股份有限公司 定位故障的方法、设备及系统
CN105589783A (zh) * 2014-11-18 2016-05-18 广州市动景计算机科技有限公司 应用程序卡顿问题数据获取方法及装置
CN104503912B (zh) * 2014-12-24 2017-07-11 中科创达软件股份有限公司 一种服务响应过程的监测方法及装置
CN104503912A (zh) * 2014-12-24 2015-04-08 中科创达软件股份有限公司 一种服务响应过程的监测方法及装置
CN104765689A (zh) * 2015-04-20 2015-07-08 广州华多网络科技有限公司 一种接口性能数据实时监制方法和装置
CN104765689B (zh) * 2015-04-20 2018-09-21 广州华多网络科技有限公司 一种接口性能数据实时监制方法和装置
CN106294102A (zh) * 2015-05-20 2017-01-04 腾讯科技(深圳)有限公司 应用程序的测试方法、客户端、服务器及系统
CN105550104A (zh) * 2015-12-08 2016-05-04 北京奇虎科技有限公司 应用程序性能测试方法及装置
CN105550104B (zh) * 2015-12-08 2018-04-20 北京奇虎科技有限公司 应用程序性能测试方法及装置
CN105389258B (zh) * 2015-12-10 2020-08-14 腾讯科技(深圳)有限公司 一种程序检测方法及装置
CN105389258A (zh) * 2015-12-10 2016-03-09 腾讯科技(深圳)有限公司 一种程序检测方法及装置
CN105677573B (zh) * 2016-02-26 2019-01-22 厦门美图移动科技有限公司 一种卡顿检测方法、装置及计算设备
CN105677573A (zh) * 2016-02-26 2016-06-15 厦门美图移动科技有限公司 一种卡顿检测方法、装置及计算设备
CN107179975A (zh) * 2016-03-09 2017-09-19 北京京东尚科信息技术有限公司 监控方法和装置
CN105871638A (zh) * 2016-06-03 2016-08-17 北京启明星辰信息安全技术有限公司 一种网络安全控制方法及装置
CN107766216A (zh) * 2016-08-19 2018-03-06 阿里巴巴集团控股有限公司 一种用于获取应用执行信息的方法与设备
CN108121653A (zh) * 2016-11-29 2018-06-05 华为技术有限公司 测试程序性能的方法及装置
CN106713573B (zh) * 2016-12-29 2019-08-16 努比亚技术有限公司 一种终端设备的性能测试装置和方法
CN106713573A (zh) * 2016-12-29 2017-05-24 努比亚技术有限公司 一种终端设备的性能测试装置和方法
CN106961358A (zh) * 2017-05-11 2017-07-18 国网山东省电力公司信息通信公司 基于日志的Web应用系统集群运行状态监测方法及其系统
CN107133047A (zh) * 2017-05-12 2017-09-05 微梦创科网络科技(中国)有限公司 一种项目运行指标度量方法及装置
CN107733710A (zh) * 2017-10-17 2018-02-23 平安科技(深圳)有限公司 链路调用关系的构建方法、装置、计算机设备及存储介质
CN110489263A (zh) * 2019-08-12 2019-11-22 腾讯科技(深圳)有限公司 进程调用的异常识别方法及装置
CN112860449A (zh) * 2021-01-08 2021-05-28 苏州浪潮智能科技有限公司 一种防止消息超时导致重启的方法、系统、设备及介质
CN112860449B (zh) * 2021-01-08 2023-01-10 苏州浪潮智能科技有限公司 一种防止消息超时导致重启的方法、系统、设备及介质
CN113934475A (zh) * 2021-08-10 2022-01-14 荣耀终端有限公司 应用调用的分析方法及电子设备
CN113934475B (zh) * 2021-08-10 2022-09-06 荣耀终端有限公司 应用调用的分析方法及电子设备
CN115174346A (zh) * 2022-09-02 2022-10-11 平安银行股份有限公司 基于消息队列的延时告警方法
CN116009833A (zh) * 2023-01-10 2023-04-25 广州市华势信息科技有限公司 一种零代码开发系统的软件开发方法及装置

Also Published As

Publication number Publication date
CN101876938B (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
CN101876938B (zh) 一种基于消息队列的应用软件响应时间测量方法及系统
US11126538B1 (en) User interface for specifying data stream processing language programs for analyzing instrumented software
US7925473B2 (en) Method and apparatus for analyzing idle states in a data processing system
US10116534B2 (en) Systems and methods for WebSphere MQ performance metrics analysis
CN107220892B (zh) 一种应用于海量p2p网贷金融数据智能预处理工具及方法
US20100043004A1 (en) Method and system for computer system diagnostic scheduling using service level objectives
US8301472B2 (en) System and method for categorizing activities in computer-accessible environments
CN110647447B (zh) 用于分布式系统的异常实例检测方法、装置、设备和介质
AU661348B2 (en) A system for dealing with real time constraints
CN112463807A (zh) 一种数据处理方法、装置、服务器及存储介质
CN114154035A (zh) 一种动环监控的数据处理系统
CN112965973A (zh) 基于全链路监控的分布式数据库监控方法及装置
WO2023231398A1 (zh) 分布式处理系统的监控方法及装置
CN115640107A (zh) 运行维护方法、装置、设备及介质
CN102982037A (zh) 检测数据库节点健康状况的方法及装置
CN115471215B (zh) 一种业务流程处理方法及装置
CN106649034B (zh) 一种可视化智能运维方法及平台
CN116560893A (zh) 一种计算机应用程序运行数据故障处理系统
CN111240936A (zh) 一种数据完整性校验的方法及设备
CN103326880A (zh) Genesys呼叫系统高可用性云计算监控系统及方法
CN111190790A (zh) 一种基于峰值预测的云计算集群监控方法及系统
CN114819367A (zh) 一种基于工业互联网的公共服务平台
CN114531338A (zh) 一种基于调用链数据的监控告警和溯源方法及系统
CN112711508A (zh) 面向大规模客户端系统的智能运维服务系统
CN113868094A (zh) 一种大数据异常信息监控系统

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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 818, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd.

Address before: No. 28 building, 100089 Beijing Wanliu new city Haidian District wanquanzhuang Road 5 layer

Patentee before: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd.