CN101118502A - 用于选择性地监视事务的方法和系统 - Google Patents
用于选择性地监视事务的方法和系统 Download PDFInfo
- Publication number
- CN101118502A CN101118502A CNA2007101391375A CN200710139137A CN101118502A CN 101118502 A CN101118502 A CN 101118502A CN A2007101391375 A CNA2007101391375 A CN A2007101391375A CN 200710139137 A CN200710139137 A CN 200710139137A CN 101118502 A CN101118502 A CN 101118502A
- Authority
- CN
- China
- Prior art keywords
- affairs
- monitoring
- monitoring policy
- monitored
- implemented method
- 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
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/3466—Performance evaluation by tracing or monitoring
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/87—Monitoring of transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
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)
Abstract
一种用于选择性地监视所实现的软件应用中的个别事务的计算机实现方法、数据处理系统和计算机程序产品。响应于在入口点接收到新事务,检查监视策略以确定该监视策略是否表明了该事务应当被监视。如果该监视策略表明该事务应当被监视,则确定系统资源是否操作于在该监视策略中定义的预定系统条件之下。如果系统资源操作于预定系统条件之下,则该事务将被监视。如果系统资源没有操作于预定系统条件之下,则该事务将不被监视。
Description
技术领域
本发明一般地涉及用于监视软件性能的改进的数据处理系统,并且更特别地涉及选择性地监视所实现的软件应用中的个别事务。
背景技术
性能监视常常在对系统中的软件使用进行优化时使用。性能监视器通常被当作并入处理器的工具,用以通过及时地确定特定时间点的机器状态来分析系统的选定特征。监视系统性能的一种方法是使用基于事务的观点来监视系统。以这种方式,性能监视器可以通过跟踪事务执行路径来获得最终用户体验,以定位问题发生的位置。因此,在确定系统是否提供了所需服务时可以将最终用户的体验纳入考虑之中。
系统管理中的关键任务是监视软件应用的性能和可用性,包括那些可能遍布于涉及多个物理资源的多个物理系统上的软件应用的性能和可用性。典型地,该监视通过下述操作来执行:将软件实现为包括称作“探测器”的附加指令,报告诸如应用响应时间的性能信息。性能监视还可以通过向在事务执行期间协调调用的应用中加入有时称为插件的附加软件组件来在企业中实现。由于实时地执行监视,任何这样的监视都会给受监视系统造成某种程度上的运行时性能开销。因此,重要的是提供一种控制机制来以适当的粒度配置监视活动。
当前有两种用于控制性能开销的主要途径。第一种途径包括基于应用或逻辑组件选择性地打开或关闭监视。例如,当用户从Web浏览器发起事务时,将请求发送给Web服务器,Web服务器接着对应用服务器和数据库服务器进行呼叫。传统地,如果用户已经体验到性能问题,则对在Web服务器、应用服务器和数据库服务器上运行的整个应用进行监视,以便查明问题的根本起因。然而,这种基于应用的途径有两个主要缺点。当对应用启动事务监视时,将监视在该应用中的所有商务事务,无论其是否与识别性能瓶颈有关。这种全包括式的监视招致就CPU使用率、存储器等而言比解决问题所需的更多的开销。此外,当针对应用启动事务监视时,该应用中的每个事务将产生同一水平的附加监视信息。在较短时间段内,累积的数据量可能变得非常高,由此招致处理数据的附加开销。
控制性能开销的第二种途径是将每种商务事务与包含应当被用于个别事务的整个监视配置的“令牌”相关联。在2004年10月22日提交的题目为“INTELLIGENT PERFORMANCE MONITORING BASED ONUSER TRANSACTIONS”、序列号为10/971,472(律师存档号为AUS920040420US1)的共同未决的美国专利申请中公开了这种方法。每个实现的应用具有用于将被监视的请求(商务事务)的入口点(例如,http://www.ibm.com/buyComputers)。一旦针对应用定义了该入口点,则监视策略与这些入口点相关联。监视策略表示为令牌,其包含监视事务所需的所有信息。然而,这种途径的缺点在于除了预定的采样率,没有其他的控制机制用于确定事务应当何时受到监视。由于在不受到监视的商务事务期间系统中可能会发生异常,因此这种控制缺失会引起问题。
发明内容
示例性的实施例提供了用于选择性地监视所实现的软件应用中的事务的计算机实现方法、数据处理系统和计算机程序产品。响应于在入口点接收到新事务,检查监视策略以确定该监视策略是否表明了该事务应当被监视。如果该监视策略表明该事务应当被监视,则确定系统资源是否操作于在该监视策略中定义的预定系统条件之下。如果系统资源操作于预定系统条件之下,则该事务将被监视。如果系统资源没有操作于预定系统条件之下,则该事务将不被监视。
附图说明
所附的权利要求中阐述了相信是本发明特有的新颖性特征。然而,参考以下关于一个示例性实施例的详细描述并结合附图来阅读,将能够最好地理解本发明本身以及优选的使用模式、其他目的及其优点。附图中:
图1是其中可以实现本发明的各方面的分布式数据处理系统的图示;
图2是其中可以实现本发明的各方面的数据处理系统的框图;
图3是根据示例性实施例的用于选择性地监视个别事务的示例性组件的框图;
图4是示出根据示例性实施例使用监视策略中的度量来识别需要监视的事务的框图;以及
图5是一个流程图,示出了根据示例性实施例用于选择性地监视实现的软件应用中的个别事务的处理。
具体实施方式
现在参照附图,特别是参照图1-图2,提供了其中可以实现示例性实施例的数据处理环境的例图。应当理解,图1-图2仅是示例性的,并不意在宣称或暗示关于可以在其中实施不同实施例的环境的任何限制。可以对所示的环境进行多种修改。
现在参考附图,图1示出了其中可以实现示例性实施例的数据处理系统的网络的图示。网络数据处理系统100是其中可以实现实施例的计算机的网络。网络数据处理系统100包含网络102,网络102是用于提供在网络数据处理系统100内连接在一起的各种设备与计算机之间的通信链路的中介。网络102可以包括诸如有线、无线通信链路或光纤电缆之类的连接。
在所示的例子中,服务器104和服务器106连同存储单元108一起连接到网络102。此外,客户端110、112和114连接到网络102。这些客户端110、112和114例如可以是个人计算机或网络计算机。在所示的例子中,服务器104提供诸如引导文件、操作系统映像和应用之类的数据给客户端110、112和114。在本例中,客户端110、112和114是服务器104的客户端。网络数据处理系统100可以包括未示出的附加服务器、客户端和其他设备。
在所示的例子中,网络数据处理系统100是具有代表使用传输控制协议/网际协议(TCP/IP)协议组彼此进行通信的网络和网关的世界范围的组合的网络102的因特网。在因特网的中心位置是主结点或主机之间的高速数据通信线路的骨干,包括对数据和消息进行路由的成千上万的商业、政府、教育和其他计算机系统。当然,网络数据处理系统100还可以被实现为多个不同类型的网络,例如内部网、局域网(LAN)或广域网(WAN)。图1意在作为例子,而不是对不同实施例的体系结构限制。
现在参考图2,示出了能够实现示例性实施例的数据处理系统的框图。数据处理系统200是计算机的例子,诸如图1中的服务器104或客户端110,针对示例性实施例实现处理的计算机可用代码或指令可以位于其中。
在所示的例子中,数据处理系统200利用包括北桥和存储控制器集线器(MCH)202以及南桥和输入/输出(I/O)控制器集线器(ICH)204的总线体系结构。处理器206、主存储器208和图形处理器210连接到北桥和存储控制器集线器202。例如,可以经由一个加速图形端口(AGP)将图形处理器210连接到MCH。
在所示的例子中,局域网(LAN)适配器212连接到南桥和I/O控制器集线器204,并且音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)端口和其它通信端口232、以及PCI/PCIe装置234经由总线238连接到南桥和I/O控制器集线器204,硬盘驱动器(HDD)226和CD-ROM驱动器230经由总线240连接到南桥和I/O控制器集线器204。PCI/PCIe装置可能包括:例如,以太网适配器、插入卡、以及笔记本计算机的PC卡。PCI使用卡总线控制器,然而PCIe不用。例如,ROM 224可能是闪速二进制输入/输出系统(BIOS)。例如,硬盘驱动器226和CD-ROM驱动器230可能使用集成驱动电子元件(IDE)或串行高级技术附件(SATA)接口。可将超级I/O(SIO)装置236连接到南桥和I/O控制器集线器204。
图2中,操作系统在处理器单元206上运行,调整并且提供对数据处理系统200内的多种组件的控制。操作系统可能是一个商业可得的操作系统,例如MicrosoftWindowsXP(“Microsoft”和“Windows”是微软公司在美国、其它国家或同时在美国和其它国家的商标)。面向对象的编程系统,例如JaveTM编程系统,可能结合操作系统运行并且提供从在数据处理系统200上执行的Java程序或应用对操作系统的调用(“Java”和所有基于Java的商标是Sun Microsystem公司在美国、其它国家或同时在美国和其它国家的商标)。
用于操作系统的指令,面向对象的编程系统,以及应用或程序都位于诸如硬盘驱动器226的存储装置上,并且可以载入主存储器208供处理器单元206处理。处理器单元206通过使用计算机实现指令来执行示例性实施例的处理,计算机实现指令位于存储器中,例如位于主存储器208、只读存储器224中,或位于一个或多个外围装置中。
图1-图2中的硬件可能依据实现而变化。作为对图1-图2中所示的硬件的补充和替代,可以使用其它内部硬件或外围装置,例如闪存、等效的非易失性存储器,或光盘驱动器等。同样,示例性实施例的处理也适用于多处理器数据处理系统。
在一些示例性示例中,数据处理系统200可能是通常配置有闪存以便为存储操作系统文件和/或用户产生的数据提供非易失性存储的个人数字助理(PDA)。总线系统可能包括一个或多个总线,例如,系统总线、I/O总线以及PCI总线。当然,可以使用在附在架构或体系结构上的不同组件或装置间提供数据传输的任何类型的通信架构或体系结构来实现总线系统。通信单元可能包括一个或多个用于发送和接收数据的装置,例如,调制解调器或网络适配器。存储器例如可能是主存储器208或例如位于北桥和存储控制器集线器202中的高速缓冲存储器。处理单元可能包括一个或多个处理器或CPU。不能将图1-图2中所示示例和上述示例理解为暗示体系结构上的限制。例如,除采取PDA形式之外,数据处理系统200也可能是写字板计算机、膝上计算机或电话装置。
诸如图1中的服务器104之类的一个或多个服务器可以提供电子商务的Web服务以供诸如客户端108、110和112之类的客户端设备访问。在示例性实施例中,提供事务性能监视系统用于监视服务器及其企业后端系统的组件的性能,以便提供代表在处理事务中的企业商务的性能的数据。在一个示例性实施例中,该事务性能监视系统是IBMTivoliMonitoring for Transaction Performance For Response Time Tracking(用于响应时间跟踪的Tivoli事务性能监视)(ITCAMfRTT),其可以测量和编译包括企业系统内部的各种组件的事务处理时间、所生成的错误消息等等的事务性能数据。ITCAMfRTT是监视基于Web的服务和操作系统应用的可用性和性能的一组中央管理软件组件。ITCAMfRTT捕获用于所有电子商务事务的具体事务和应用性能数据。利用ITCAMfRTT,客户事务经过主机、系统、应用、Web服务器和代理服务器、Web应用服务器、中间件、数据库管理软件和传统后台管理(back-office)软件时其每个步骤可以受到监视并且其性能特征数据在数据库中受到编译和存储以用于历史分析和长期规划。ITCAMfRTT允许电子商务所有者有效地测量在不同条件和不同时间用户体验到何种电子商务。更重要地是,电子商务所有者可以在发生可用性问题时将性能源与可用性问题隔离开,以便使这些问题在造成昂贵的支出和损失利润之前得到纠正。
事务是由用户发起的计算机操作,并且这些用户事务可以包括下游子事务。例如,当用户登录www.amazon.com购书时,用户发起一个事务。原始请求例如发送给Web服务器并且随后发送给诸如Java服务器之类的应用服务器。事务可以进一步调用子事务形式的数据库操作。事务还可以包括由原始用户请求发起的一连串子事务。这些用户请求可以例如来自Web浏览器。
每个实现的应用具有用于应当被监视的请求或事务的入口点。入口点或边缘事务是事务被监视应用记录的在系统中的第一个位置。例如,Web应用服务器可以满足Web页面请求,并且该请求可以被定义为统一资源定位符(URL),诸如http://www.ibm.com/buycomputers。接收进入HTTP请求的Web服务器插件可以识别这一URL并检测该URL是否与给定的监视策略匹配。可选地,插入到实现的JAVA应用服务器的探测器可以解释所有的servlet请求并以类似的方式识别进入的HTTP请求和URL。如果所识别的URL与给定的监视策略匹配,则将其记录为事务并用于表示进入所监视的应用的入口点。其他可能的入口点包括Web服务、远程方法调用(RMI)、Java数据库连接(JDBC)、Java连接体系结构(JCA),Java消息服务(JMS)、.NET、shell脚本等上的事务。因此,每个实现的应用可以具有用于将被监视的请求(即,Servlet、EJB等)的入口点。入口点在应用监视策略中定义。监视策略可以包括监视到达服务器的每个事务或通过规定将被监视的事务的特定URL而监视选定事务的策略。
尽管现有的系统允许管理员在应用监视策略中定义入口点以规定事务将被监视的点,但示例性实施例通过使得所实现的软件应用中的个别事务在更微小的水平上被监视,而改进了这种现有的监视策略。示例性实施例中的应用监视策略包括度量,该度量控制某一事务是否应当被监视,并且如果应当被监视,什么时候应当开始监视。该度量由管理员定义,并且可以包括对事务将经过的系统上已经被监视的各种系统资源的描述。例如,这种受监视的系统资源可以包括但不限于例如给定服务器上的空闲虚拟存储器量、CPU利用率、当前企业JavaBean(EJB)缓冲池大小或当前线程池大小。应用监视策略中的度量还可以定义受监视资源可以操作于其中的预定系统条件。预定系统条件是当事务经过资源时可能对事务性能造成负面影响的任何条件。例如,如果受监视的资源操作于预定的系统条件下,诸如操作于在监视策略中定义的可接受的阈值水平以上,则度量可以规定该事务应当受到监视。相反,如果该受监视的资源没有操作在预定的系统条件下,则事务将不被监视。因此,当应用监视策略中的度量规定事务经过的服务器的CPU利用率应当受到监视时,度量还可以进一步规定监视应当仅在CPU利用率操作于预定的系统条件下诸如满足或超过限制或阈值水平时才发生。预定系统条件的其他例子包括但不限于,服务器关闭、应用不可用或受限、应用在错误版本下、数据库被锁定等。因此,应用监视策略中定义的度量为管理员提供性能监视中的另一维度的控制并且可以用于减少实际事务监视的开销。
图3是根据示例性实施例用于选择性地监视分布式计算系统300中的个别事务的示例性组件的框图。客户端302是诸如图1中的客户端108、110和112的客户端的例子。服务器304是诸如图1中的服务器104的应用服务器,并且可以作为组合的Web服务器/应用服务器来工作。典型的应用服务器是基于J2EE的,运行EJB,或其他Java组件。EJB组件在会话bean、实体bean和消息驱动bean中封装了商务规则和其他功能。客户端302与服务器304进行通信以便获得对由后端企业计算系统资源306提供的服务的访问。
在本例中,客户端302向服务器304发送一个请求,这引起一个事务被创建。该请求可以采取很多形式,包括但不限于HTTP、Web服务、EJB或JMS请求。服务器304充当在客户端请求和需要运行以提供所请求服务的应用组件之间的中介。响应于接收到客户端请求,服务器304解析该请求以获得URL。该URL用于建立作为参考的Web服务标识。基于该URL,服务器304可以识别应当被运行以执行客户端请求的一个或多个服务。
服务器304通过调用适当的服务组件,诸如服务器组件308、310或312来服务该请求,以处理该事务。服务器组件可以包括应用服务器、Web服务器、数据库服务器或任何其他被服务的后端系统。此外,事务性能监视系统314当服务器304和后端计算系统资源306处理该事务的时候对他们进行监视。该性能监视包括收集和存储与服务器304和后端计算系统资源306的各种组件的性能参数有关的数据。例如,监视性能可以包括收集和存储与下述参数有关的信息:特定组件处理事务所花费的时间量、组件的比特率、SQL询问、包括Java虚拟机(JVM)中的类名称和实例ID的组件信息、存储器利用率统计数据、该JVM的状态的任何性质、该JAM的组件的任何性质和/或该系统总体上的任何性质等。
当事务到达服务器304的目的入口点处时,插入到服务器304的字节码中的监视探测器,诸如探测器316的存在使得确定该特定事务是否将被监视。探测器是为了监视或收集关于网络活动的数据而插入在网络的关键位置的程序。探测器插入到服务器上正在运行的程序的字节码中。探测器插入到加载到Java虚拟机(JVM)的很多类中。这些类的类型包括但不限于实现企业Java Bean(EJB)、Servlet、Java服务器页面(JSP)、HTTP服务器、Java消息服务器(JMS)、Java数据库连接(JDBC)和其他的类。
探测器316通过检查与该入口点相关联的监视策略,诸如服务器304中的监视策略318,来确定该特定事务是否要被监视。监视策略318内的附加度量用于描述应当被监视的各种服务器资源,诸如,例如在该事务将经过的系统上的给定服务器上的空闲虚拟存储器量、CPU利用率、当前EJB缓冲池或线程池大小。该度量还可以进一步通过规定预定系统条件来定义服务器资源的操作,并且如果满足了预定系统条件,则事务将被监视。如果该资源操作于预定系统条件之下,则该资源可能潜在地经历性能降级并且应当被监视。因此,如果资源没有操作于预定的系统条件之下,则该事务将不被监视。可选地,根据监视策略,如果该资源操作于预定的系统条件之下则该事务应当被监视。
在一个实施例中,使用运行于受监视的服务器外部的程序可以获得该受监视服务器的资源信息,该程序或者安装在同一物理机器上,或者运行于不同的机器上,其产生由探测器使用的相关器。例如,在用于响应时间跟踪的Tivoli事务性能监视(ITCAMfRTT)中,该程序是应用响应测量(ARM)引擎。当新的事务到达服务器时,探测器启动并从ARM引擎请求相关器。在这一请求中,探测器向ARM引擎提供该新事务的URL。如果该URL与监视策略相匹配,并且如果ARM引擎确定规定资源的操作已经满足了预定系统条件,则ARM引擎向探测器提供相关器。ARM引擎自身可以监视资源信息以确定资源是否满足了预定系统条件。可选地,外部资源监视程序可以监视资源并将资源条件数据供给到ARM引擎。
一旦利用监视策略318中规定的系统资源信息确定了该事务是否应当被监视,则探测器316返回此信息给事务性能监视系统314。如果该信息表明该事务实例不应当被监视,则事务性能监视系统314不监视该事务。如果该信息表明该事务实例应当被监视,则事务性能监视系统314中的探测器316以典型的方式监视该事务。以这种方式,字节码中插入的探测器可以基于监视策略中的系统资源信息动态地确定事务是否应当被监视。探测器检查监视策略中定义的资源信息以识别策略是否规定了基于服务器资源的类型该服务器资源应当被监视以及资源的预定系统条件是否得到了满足。基于策略中定义的资源信息,允许事务性能监视系统针对监视动态地包括或排除事务实例。换言之,策略中的系统资源度量定义了事务是否应当被记录。
服务器组件304和后端计算系统资源306的组件可以包括硬件或软件组件。例如,这些组件可以包括主机系统、Java服务器页面、Servlet、实体Bean、企业Java Bean、数据连接等。每个组件可以具有其自己的性能特征集,其可以由事务性能监视系统314来收集和存储以便获得关于企业系统处理事务情况如何的指示。服务组件308、310和312各自包含执行特定功能所必需的所有逻辑。可以通过使用企业Java Bean(EJB)容器320来进行对服务组件308、310和312的调用。正如所述,服务组件308、310或312还可以接收来自父组件的请求(当服务组件本身不是根服务时)。服务组件308、310或312解释请求,执行所期望的功能并向服务器304发送应答。这一应答随后被传递给客户端302。
图4示出了根据示例性实施例在事务的监视策略中的系统资源度量的示例性使用。测量工具或探测器监视应用中的入口点402。当事务的执行到达入口点402时,与事务一并执行探测器并且探测器检查监视策略404。监视策略404维护一个或多个监视策略的定义列表。监视策略404尝试匹配进入请求中的所有关键参数,以便唯一地将事务与某个定义的监视策略匹配。一旦事务与某个定义的监视策略匹配,则探测器检查该定义的监视策略,以确定该事务是否应当被监视。该定义的监视策略包含诸如度量406的附加度量,其包括由管理员定义的系统资源信息。基于在该监视策略中的该附加度量中的描述,如果满足该策略标准,则探测器可以监视该事务408。例如,如果事务将经过特定的系统资源,则由探测器检查该资源以确定该资源当前是否操作于预定的系统条件之下,诸如是否操作于超过给定阈值的水平。如果该资源当前操作于预定系统条件之下,则探测器将监视该事务。如果该资源没有操作于预定的系统条件之下,则探测器不监视该事务。因此,使用监视策略中的附加系统资源度量为管理员提供了监视事务中的另一维度的控制。由于示例性实施例实现了选择性地监视事务,因此可以使与监视事务相关联的计算开销最小化,并且可以减少由事务监视引起的数据量。
图5是根据示例性实施例用于选择性地监视实现的软件应用中的个别事务的处理的流程图。图5所示的处理可以在数据处理系统诸如图3的服务器304中实现。处理开始于客户端向服务器发送服务请求(步骤502)。新事务到达服务器的入口点(“边缘”)(步骤504)。在服务器中,监视探测器检查监视策略以确定该事务是否应当被监视(步骤506)。监视策略可以包括定义了在事务将经过的系统上被监视的各种系统资源的度量。
如果监视策略表明该事务实例不应当被监视(步骤506输出“否”),则不监视该特定事务实例,并且处理随后结束。如果监视策略表明该事务实例应当被监视(步骤506输出“是”),则监视探测器确定该监视策略中的定义的资源系统条件(如果有的话)在事务到达服务器的一刻是否得到了满足(步骤508)。如果监视探测器确定没有满足任何资源系统条件(步骤508输出“否”),则不监视该特定事务实例,并且处理随后结束。如果监视探测器确定已经满足了某个预定系统条件(步骤508输出“是”),则探测器以常用的方式监视该事务(步骤510),并且处理随后结束。由于确定系统资源操作于在策略中预定的系统条件之下,因此当事务经过该资源时,自该事务潜在地经历性能降级起实现的探测器开始监视该事务。
本发明可以采用完全硬件实施例、完全软件实施例或包含硬件和软件单元的实施例的形式。在优选的实施例中,本发明以软件的形式实现,其包括但不限于固件、驻留软件、微代码等。
此外,本发明可以采取可从计算机可用介质或计算机可读介质访问的计算机程序产品的形式,该计算机可用介质或计算机可读介质提供程序代码以供计算机或任意指令执行系统使用或结合计算机或任意指令执行系统而使用。对于本说明书的目的,计算机可用介质或计算机可读介质可以是任意可包含、存储、传送、传播或传输供指令执行系统、设备或装置使用或结合指令执行系统、设备或装置而使用的程序的有形设备。
该介质可以是电子的、磁的、光的、电磁的、红外的或半导体的系统(或设备、装置)或者传播介质。计算机可读介质的例子包括半导体或固态存储器(solid status memory)、磁带、可擦除的计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬盘以及光盘。目前的光盘例子包括压缩光盘-只读存储器(CD-ROM)、压缩光盘-读/写(CD-R/W)和DVD(数字视频光盘)。
适合于存储和/或执行程序代码的数据处理系统可以包括直接地或通过系统总线间接地连接到存储单元的至少一个处理器。这些存储单元可以包括在实际执行程序代码期间所使用的本地存储器,大容量存储器(bulk storage),以及对至少某些程序代码提供临时存储以便减少在执行期间必须从大容量存储器中恢复代码的次数的高速缓存存储器。
输入/输出装置或I/O装置(包括但不限于键盘、显示器、指示装置等)可以直接地或通过中间I/O控制器连接到系统。
网络适配器同样可以连接到系统,以使得数据处理系统能够通过中间的专用的或公共的网络而连接到其他数据处理系统或远端的打印机或存储装置。调制解调器、电缆调制解调器(Cable Modem)和以太网卡只是当前可用的几类网络适配器。
已经提出的对本发明的描述的目的是进行说明和描述,而不是旨在穷举或使本发明限于所公开的形式。本领域的普通技术人员可以容易地想到各种修改和变更。选择和描述实施例是为了最好地说明发明原理、实际应用,并使本领域的普通技术人员能够理解本发明还可以用于其他具有适合于预期特定应用的各种修改的各种实施例。
Claims (13)
1.一种用于选择性地监视分布式计算系统中的事务的计算机实现方法,所述计算机实现方法包括:
响应于在入口点接收到新事务,检查监视策略以确定该监视策略是否表明了该新事务应当被监视;
确定系统资源是否操作于预定系统条件之下;
响应于确定所述系统资源操作于预定系统条件之下,监视该新事务。
2.根据权利要求1所述的计算机实现方法,还包括:
响应于确定所述系统资源没有操作于所述预定系统条件之下,允许该新事务作为不受监视的事务继续。
3.根据权利要求1所述的计算机实现方法,其中所述确定所述系统资源是否操作于所述预定系统条件之下的步骤还包括:
获得所述系统资源的性能信息;
将所述性能信息与在所述监视策略中定义的预定系统条件进行比较。
4.根据权利要求3所述的计算机实现方法,其中每当在所述入口点处接收到所述新事务时确定性能信息。
5.根据权利要求1所述的计算机实现方法,其中所述监视策略定义将由所述事务经过的一个或多个系统资源。
6.根据权利要求1所述的计算机实现方法,其中所述预定系统条件是在所述监视策略中定义的阈值水平。
7.根据权利要求1所述的计算机实现方法,其中所述系统资源包括给定服务器上的空闲虚拟存储器量、CPU利用率、当前企业JavaBean缓冲池大小或当前线程池大小中的至少一个。
8.根据权利要求1所述的计算机实现方法,其中所述检查、确定和监视步骤由所实现的监视探测器执行。
9.根据权利要求1所述的计算机实现方法,其中所述监视策略中的所述系统资源由管理员定义。
10.一种用于选择性地监视分布式计算系统中的事务的数据处理系统,所述数据处理系统包括:
总线;
连接到所述总线的存储设备,其中所述存储设备包含计算机可用代码;
连接到所述总线的至少一个受管理的设备;
连接到所述总线的通信单元;以及
连接到所述总线的处理单元,其中所述处理单元执行所述计算机可用代码,响应于在入口点接收到新事务,检查监视策略以确定该监视策略是否表明了该新事务应当被监视;确定系统资源是否操作于预定系统条件之下;并且响应于确定所述系统资源操作于所述预定系统条件之下,监视该新事务。
11.根据权利要求10所述的数据处理系统,其中所述处理单元还执行所述计算机可用代码,以响应于确定所述系统资源没有操作于所述预定系统条件之下,允许该新事务作为不受监视的事务继续。
12.根据权利要求10所述的数据处理系统,其中所述用于确定所述系统资源是否操作于所述预定系统条件之下的计算机可用代码还包括用于获得所述系统资源的性能信息和用于将所述性能信息与在所述监视策略中定义的预定系统条件进行比较的计算机可用代码。
13.根据权利要求10所述的数据处理系统,其中所述预定系统条件是在所述监视策略中定义的阈值水平。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/462,209 US8510430B2 (en) | 2006-08-03 | 2006-08-03 | Intelligent performance monitoring based on resource threshold |
US11/462,209 | 2006-08-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101118502A true CN101118502A (zh) | 2008-02-06 |
Family
ID=39030583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101391375A Pending CN101118502A (zh) | 2006-08-03 | 2007-07-26 | 用于选择性地监视事务的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8510430B2 (zh) |
CN (1) | CN101118502A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104508628A (zh) * | 2012-07-31 | 2015-04-08 | 惠普发展公司,有限责任合伙企业 | 针对受管理的服务的监控 |
CN107077394A (zh) * | 2014-11-17 | 2017-08-18 | 国际商业机器公司 | 请求监视 |
CN111124801A (zh) * | 2019-11-19 | 2020-05-08 | 平安科技(深圳)有限公司 | 智能化系统资源监控方法、装置及计算机可读存储介质 |
CN111479464A (zh) * | 2017-12-22 | 2020-07-31 | 阿西姆普托特有限公司 | 与用于生物样品的冷却条件相关的方法和系统 |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005089241A2 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for providing object triggers |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
US20060089984A1 (en) * | 2004-10-22 | 2006-04-27 | International Business Machines Corporation | Process and implementation for autonomous probe enablement |
US8271980B2 (en) | 2004-11-08 | 2012-09-18 | Adaptive Computing Enterprises, Inc. | System and method of providing system jobs within a compute environment |
US8631130B2 (en) | 2005-03-16 | 2014-01-14 | Adaptive Computing Enterprises, Inc. | Reserving resources in an on-demand compute environment from a local compute environment |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
CA2603577A1 (en) | 2005-04-07 | 2006-10-12 | Cluster Resources, Inc. | On-demand access to compute resources |
US7689610B2 (en) * | 2006-12-01 | 2010-03-30 | Computer Associates Think, Inc. | Automated grouping of messages provided to an application using string similarity analysis |
US7917911B2 (en) * | 2006-12-01 | 2011-03-29 | Computer Associates Think, Inc. | Automated grouping of messages provided to an application using execution path similarity analysis |
US8631401B2 (en) * | 2007-07-24 | 2014-01-14 | Ca, Inc. | Capacity planning by transaction type |
US7702783B2 (en) * | 2007-09-12 | 2010-04-20 | International Business Machines Corporation | Intelligent performance monitoring of a clustered environment |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US8458670B2 (en) * | 2007-09-27 | 2013-06-04 | Symantec Corporation | Automatically adding bytecode to a software application to determine network communication information |
US20090089320A1 (en) * | 2007-09-28 | 2009-04-02 | Dov Tendler | Capturing application state information for simulation in managed environments |
US8135824B2 (en) * | 2007-10-01 | 2012-03-13 | Ebay Inc. | Method and system to detect a network deficiency |
US8261278B2 (en) * | 2008-02-01 | 2012-09-04 | Ca, Inc. | Automatic baselining of resource consumption for transactions |
US8166158B2 (en) * | 2008-02-04 | 2012-04-24 | Red Hat, Inc. | Validating service components through data mining |
US8402468B2 (en) * | 2008-03-17 | 2013-03-19 | Ca, Inc. | Capacity planning based on resource utilization as a function of workload |
US8396961B2 (en) * | 2009-08-31 | 2013-03-12 | Red Hat, Inc. | Dynamic control of transaction timeout periods |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US9417906B2 (en) | 2010-04-01 | 2016-08-16 | Red Hat, Inc. | Transaction participant registration with caveats |
US9274919B2 (en) * | 2011-04-29 | 2016-03-01 | Dynatrace Software Gmbh | Transaction tracing mechanism of distributed heterogenous transactions having instrumented byte code with constant memory consumption and independent of instrumented method call depth |
US9015006B2 (en) | 2012-01-13 | 2015-04-21 | International Business Machines Corporation | Automated enablement of performance data collection |
US8910146B2 (en) | 2012-06-09 | 2014-12-09 | International Business Machines Corporation | Automated time-to-value measurement |
US10311014B2 (en) | 2012-12-28 | 2019-06-04 | Iii Holdings 2, Llc | System, method and computer readable medium for offloaded computation of distributed application protocols within a cluster of data processing nodes |
US9559928B1 (en) * | 2013-05-03 | 2017-01-31 | Amazon Technologies, Inc. | Integrated test coverage measurement in distributed systems |
US9201919B2 (en) | 2013-05-07 | 2015-12-01 | Red Hat, Inc. | Bandwidth optimized two-phase commit protocol for distributed transactions |
US20150082286A1 (en) * | 2013-09-18 | 2015-03-19 | Microsoft Corporation | Real-time code instrumentation |
US20150120906A1 (en) * | 2013-10-28 | 2015-04-30 | International Business Machines Corporation | Agentless baseline profile compilation for application monitoring solution |
WO2015084363A1 (en) * | 2013-12-05 | 2015-06-11 | Hewlett-Packard Development Company, L.P. | Identifying a monitoring template for a managed service based on a service-level agreement |
US9858549B2 (en) * | 2014-02-03 | 2018-01-02 | Cisco Technology, Inc. | Business transaction resource usage tracking |
US9690672B2 (en) * | 2015-02-20 | 2017-06-27 | International Business Machines Corporation | Acquiring diagnostic data selectively |
US20160294665A1 (en) * | 2015-03-30 | 2016-10-06 | Ca, Inc. | Selectively deploying probes at different resource levels |
CN105656575B (zh) * | 2016-03-24 | 2018-06-08 | 西安航天恒星科技实业(集团)公司 | 基于gpu的多客户端实时频谱监控系统及其方法 |
US10452511B2 (en) | 2016-04-29 | 2019-10-22 | International Business Machines Corporation | Server health checking |
US10831509B2 (en) | 2017-02-23 | 2020-11-10 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
US11947978B2 (en) | 2017-02-23 | 2024-04-02 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
CN111290924B (zh) * | 2020-01-22 | 2022-05-10 | 北京字节跳动网络技术有限公司 | 监控方法、装置及电子设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974457A (en) * | 1993-12-23 | 1999-10-26 | International Business Machines Corporation | Intelligent realtime monitoring of data traffic |
US6026440A (en) * | 1997-01-27 | 2000-02-15 | International Business Machines Corporation | Web server account manager plug-in for monitoring resources |
US6553403B1 (en) * | 1998-06-03 | 2003-04-22 | International Business Machines Corporation | System, method and computer program product for monitoring in a distributed computing environment |
US6513065B1 (en) * | 1999-03-04 | 2003-01-28 | Bmc Software, Inc. | Enterprise management system and method which includes summarization having a plurality of levels of varying granularity |
US6457143B1 (en) * | 1999-09-30 | 2002-09-24 | International Business Machines Corporation | System and method for automatic identification of bottlenecks in a network |
US7225250B1 (en) * | 2000-10-30 | 2007-05-29 | Agilent Technologies, Inc. | Method and system for predictive enterprise resource management |
US7249179B1 (en) * | 2000-11-09 | 2007-07-24 | Hewlett-Packard Development Company, L.P. | System for automatically activating reserve hardware component based on hierarchical resource deployment scheme or rate of resource consumption |
EP1495398A4 (en) * | 2002-04-08 | 2008-11-26 | Ibm | PROCESS AND SYSTEM FOR TROUBLESHOOTING IN DISTRIBUTED BUSINESS APPLICATIONS |
US8843605B2 (en) * | 2002-06-03 | 2014-09-23 | Oracle International Corporation | Method and system for filtering and suppression of telemetry data |
US7039644B2 (en) * | 2002-09-17 | 2006-05-02 | International Business Machines Corporation | Problem determination method, system and program product |
US6792460B2 (en) * | 2002-10-02 | 2004-09-14 | Mercury Interactive Corporation | System and methods for monitoring application server performance |
US7149738B2 (en) | 2002-12-16 | 2006-12-12 | International Business Machines Corporation | Resource and data administration technologies for IT non-experts |
US6959264B2 (en) * | 2003-09-30 | 2005-10-25 | International Business Machines Corporation | Autonomous computing probe agent |
US6993453B2 (en) * | 2003-10-28 | 2006-01-31 | International Business Machines Corporation | Adjusted monitoring in a relational environment |
US20050251804A1 (en) * | 2004-05-04 | 2005-11-10 | International Business Machines Corporation | Method, data processing system, and computer program product for detecting shared resource usage violations |
JP4866861B2 (ja) * | 2004-12-24 | 2012-02-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トランザクション・ベースのシステムを監視するための方法及びシステム |
US7631073B2 (en) * | 2005-01-27 | 2009-12-08 | International Business Machines Corporation | Method and apparatus for exposing monitoring violations to the monitored application |
US20070011300A1 (en) * | 2005-07-11 | 2007-01-11 | Hollebeek Robert J | Monitoring method and system for monitoring operation of resources |
US7702783B2 (en) * | 2007-09-12 | 2010-04-20 | International Business Machines Corporation | Intelligent performance monitoring of a clustered environment |
-
2006
- 2006-08-03 US US11/462,209 patent/US8510430B2/en not_active Expired - Fee Related
-
2007
- 2007-07-26 CN CNA2007101391375A patent/CN101118502A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104508628A (zh) * | 2012-07-31 | 2015-04-08 | 惠普发展公司,有限责任合伙企业 | 针对受管理的服务的监控 |
US10721146B2 (en) | 2012-07-31 | 2020-07-21 | Micro Focus Llc | Monitoring for managed services |
CN107077394A (zh) * | 2014-11-17 | 2017-08-18 | 国际商业机器公司 | 请求监视 |
US10496520B2 (en) | 2014-11-17 | 2019-12-03 | International Business Machines Corporation | Request monitoring to a code set |
CN107077394B (zh) * | 2014-11-17 | 2020-09-04 | 国际商业机器公司 | 用于监视对代码集的请求的方法和系统 |
CN111479464A (zh) * | 2017-12-22 | 2020-07-31 | 阿西姆普托特有限公司 | 与用于生物样品的冷却条件相关的方法和系统 |
US11774945B2 (en) | 2017-12-22 | 2023-10-03 | Asymptote Ltd. | Method and system relating to cooling conditions for a biological sample |
CN111124801A (zh) * | 2019-11-19 | 2020-05-08 | 平安科技(深圳)有限公司 | 智能化系统资源监控方法、装置及计算机可读存储介质 |
CN111124801B (zh) * | 2019-11-19 | 2023-06-13 | 平安科技(深圳)有限公司 | 智能化系统资源监控方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20080034082A1 (en) | 2008-02-07 |
US8510430B2 (en) | 2013-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101118502A (zh) | 用于选择性地监视事务的方法和系统 | |
US20190347148A1 (en) | Root cause and predictive analyses for technical issues of a computing environment | |
CN100356321C (zh) | 编程生成合成事务以监视web应用的性能和可用性的方法和系统 | |
US11010209B2 (en) | Speculative execution management in a coherent accelerator architecture | |
KR101829406B1 (ko) | 버그 클리어링 하우스 | |
US8478624B1 (en) | Quality of records containing service data | |
US7797579B2 (en) | Method and system for identifying unsafe synthetic transactions and modifying parameters for automated playback | |
CN103336737B (zh) | 信息操纵系统及其实施的方法 | |
CN101183987B (zh) | 用于监视动态Web内容应用的性能的方法和系统 | |
US20060167891A1 (en) | Method and apparatus for redirecting transactions based on transaction response time policy in a distributed environment | |
US20090055684A1 (en) | Method and apparatus for efficient problem resolution via incrementally constructed causality model based on history data | |
CN102201043A (zh) | 基于资源属性审核对数据的访问 | |
US11477231B2 (en) | System and method for vulnerability remediation prioritization | |
CN101449263A (zh) | 用于联合环境中的中间件辅助系统集成的方法和装置 | |
US20220100632A1 (en) | Detecting performance degradation in remotely deployed applications | |
US11379268B1 (en) | Affinity-based routing and execution for workflow service | |
Subraya | Integrated Approach to Web Performance Testing: A Practitioner's Guide: A Practitioner's Guide | |
US10324778B2 (en) | Utilizing an error prediction and avoidance component for a transaction processing system | |
US20160139961A1 (en) | Event summary mode for tracing systems | |
US20160050135A1 (en) | Real-time measurement of user interface performance in a remote desktop environment | |
US9141460B2 (en) | Identify failed components during data collection | |
Bolton et al. | Professional SQL server 2012 internals and troubleshooting | |
CN114580889A (zh) | 操作风险管控方法、装置、设备、介质和程序产品 | |
KR100645529B1 (ko) | 로그 가공이 가능한 로그 관리 시스템 및 이를 이용한 로그관리 방법 | |
CN114372787A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20080206 |