CN100397336C - 用于自主探查器启用的方法和系统 - Google Patents

用于自主探查器启用的方法和系统 Download PDF

Info

Publication number
CN100397336C
CN100397336C CNB2005101095067A CN200510109506A CN100397336C CN 100397336 C CN100397336 C CN 100397336C CN B2005101095067 A CNB2005101095067 A CN B2005101095067A CN 200510109506 A CN200510109506 A CN 200510109506A CN 100397336 C CN100397336 C CN 100397336C
Authority
CN
China
Prior art keywords
explorer
activated
enabling
affairs
situation
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
CNB2005101095067A
Other languages
English (en)
Other versions
CN1804795A (zh
Inventor
B·C·沙古里
陈晓萍
A·J·莱弗里
K·M·塞克斯顿
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1804795A publication Critical patent/CN1804795A/zh
Application granted granted Critical
Publication of CN100397336C publication Critical patent/CN100397336C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3096Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

一种用于在线事务的监控程序能够定义需要最小开销的“启用模块”。当该监控程序被触发时,该启用模块在没有情境的情况下被加载,以确定该探查器是否被启用,而任何情境的加载则被推迟到确定启用时。当不需要全部的探查器时,加载情境的相关开销得以避免。

Description

用于自主探查器启用的方法和系统
技术领域
本申请一般涉及计算机系统的管理。更具体地,本申请涉及允许监控过程确定其是否需要执行,该确定是在与该监控过程相关的大部分开销执行之前做出的。
背景技术
在诸如向客户端提供在线信息和服务的大型计算机系统中,能够通过可包含多个计算机、连接和软件程序的复杂系统监控事务是至关重要的。这种监控可用于检测哪个特定区域出现问题或减速及确保提供约定等级的服务。然而,监控程序本身可能潜在使用大量的开销,从而有必要只要可能便将这种开销最小化。
Java是独立于平台的面向对象的编程设计语言,从而Java程序能够虚拟地运行于每一个系统上。Java虚拟机(JVM)驻留于计算机系统上并为安装了它的机器将Java程序从独立于平台的形式编译成特定于机器的形式。JVM具有与监控代理接口的能力,从而当JVM编译Java类时,监控代理能够向内存驻留应用中插入特殊字节码。这些字节码包括运行时挂钩(hook),该指令包括管理称为探查器的监控程序的组件的执行的逻辑。当挂钩被触发时,它从属于监控代理的注册表中获取当前对于其位置启用的探查器的列表。既不必要一般也不值得监控每一个通过该系统的事务。而是,提供了选择诸如5%、10%或20%的某一百分比的事务的机制。但是,决定是否执行某一探查器的信息直到探查器已被启动才可用。如果存在大量必须传递给该探查器的信息或当该探查器执行多次时,则引起大量的开销。将会值得期望的是,提供一种使探查器能够在与运行该探查器相关的开销之前确定该探查器是否是需要的方法。
发明内容
根据本发明的一个方面,提供一种监控事务的方法,包括以下计算机生成的步骤:
调用用于监控事务的探查器的启用部分,其中所述启用部分不具有情境;
通过所述探查器的所述启用部分,确定所述探查器是否被启用;以及
如果所述探查器被启用,则加载所述探查器的主体部分的情境,执行所述主体部分,并调用该事务;否则,退出所述启用部分并调用该事务,而无需执行所述主体部分。
根据本发明的另一个方面,提供一种监控事务的系统,包括:
用于调用用于监控事务的探查器的启用部分的装置,其中对于所述启用部分不加载情境;
用于通过所述探查器的所述启用部分,确定所述探查器是否被启用的装置;
用于如果所述探查器被启用,则加载所述探查器的主体部分的情境并执行所述主体部分的装置;以及
用于如果所述探查器未被启用,则退出所述启用部分且不执行所述主体部分的装置。
根据本发明的再一个方面,提供一种计算机系统,包括:
连接到因特网以与客户端接口且连接到数据库以提供信息的多个服务器;
运行于所述多个服务器上的多个事务,所述事务是向客户端提供信息的手段;
监控所述多个事务的监控系统,其中所述监控系统包括:
用于调用用于监控事务的探查器的启用部分的装置,其中对于所述启用部分不加载情境;
用于通过所述探查器的所述启用部分,确定所述探查器是否被启用的装置;
用于如果所述探查器被启用,则加载所述探查器的主体部分的情境并执行所述主体部分的装置;以及
用于如果所述探查器未被启用,则退出所述启用部分且不执行所述主体部分的装置。
一种探查器或监控程序能够使用最小化探查器的开销的“启用模块”。在调用挂钩或所插入的字节码之后,探查器的启用模块确定是否需要全部的探查器。当不需要全部的探查器时,例如检索用于该探查器的情境的与整个探查器的执行相关的开销得以避免,从而仅引起了少量开销。
附图说明
在所附权利要求中列出了相信是本发明新颖性特征的特征。不过,结合附图参照下面示例性实施例的详细描述将最好地理解本发明本身以及优选使用模式、进一步的目的及其优点,其中:
图1示出了本发明的实施例可在其上运行的网络;
图2示出了可使用本发明实施例的服务器;
图3示出了运行于该系统上的Java虚拟机(JVM)、监控代理和事务之间的关系;
图4示出了根据本发明实施例在调用所监控的事务时执行的动作的流程图;
图5A和5B示出了根据现有技术运行一个探查器与根据本发明实施例运行一个探查器之间的不同。
具体实施方式
参照图1,企业单位的计算机系统100连接到互联网102,以便提供在线计算机服务。备在线用户104可访问该企业单位的站点。
在当前优选实施例中,在计算机系统100上使用了Java 2 EnterpriseEdition(J2EE)。J2EE是SUN Microsystems的独立于平台的、以JAVA为中心的环境,用于开发、构建和部署基于Web的在线企业应用。J2EE平台包括一组服务、API和协议,它们提供用于开发多层的、基于Web的应用的功能。在客户端级别,J2EE支持纯HTML以及Java小程序或应用。EnterpriseJavaBean(EJB)提供其中存储该平台的逻辑的另一层。在计算机系统100中,Web服务器106被配置为通过互联网以及在系统100的内部网中进行通信;应用服务器108仅被连接为在内部网中进行通信,但能够访问应用数据库112。除了存在于这些服务器上的其他程序和进程之外,每个服务器106、108包含有Java虚拟机(JVM)114和监控程序116的副本,这将在下面进一步讨论。本领域普通技术人员将认识到,在所公开的内部网中许多其他的配置都是可能的。例如,Web服务器和应用服务器可位于单个机器上。反之,可能存在多个Web服务器和应用服务器;如果情形需要,也可以有单独的数据库服务器。
参照图2,其根据本发明的优选实施例示出了可实现为诸如图1中的服务器106、108的服务器的数据处理系统的方框图。数据处理系统200可以是包括连接到系统总线206的多个处理器202和204的对称多处理器(SMP)系统。可选地,可使用单个处理器系统。同样连接到系统总线206的还有存储器控制器/缓存208,其提供到本地存储器209的接口。I/O总线桥210连接到系统总线206并提供到I/O总线212的接口。存储器控制器/缓存208和I/O总线桥210可如所示出的那样集成。
连接到I/O总线212的外围部件互连(PCI)总线桥214提供到PCI局部总线216的接口。多个调制解调器可连接到PCI局部总线216。典型的PCI总线实现将支持4个PCI扩展槽或附加连接器。图1中到用户104的通信链路可通过调制解调器218和网络适配器220来提供,调制解调器218和网络适配器220通过附加连接器连接到PCI局部总线216。
附加的PCI总线桥222和224提供对附加的PCI局部总线226和228的接口,PCI局部总线226和228可支持附加的调制解调器或网络适配器。以这种方式,数据处理系统200允许到多个网络计算机的连接。存储器映射的图形适配器230和硬盘232也可如所示的那样直接或间接地连接到I/O总线212。
本领域普通技术人员将理解,图2中所示出的硬件可以改变。例如,诸如光盘驱动器等的其他外围设备也可附加于或替代所示出的硬件来使用。所示出的例子并不意味着对于本发明的体系结构限制。
参照图3,其示出了应用310、Java虚拟机(JVM)320和监控代理330之间的关系的概观。JVM 320和监控代理330之间存在双向接口。监控代理330包括插入器332(其向应用中插入字节码或挂钩)、注册器334(其包含所有启用的探查器的注册表)、挂钩336(其包含管理探查器的执行的逻辑)和探查器338。探查器可由管理应用340启用或禁用。典型的应用310包括小服务程序311,其调用Enterprise JavaBean(EJB)312、314。EJB 314又进一步调用EJB 316、318。当应用310由JVM 320编译时,JVM 320与监控代理330之间的接口允许插入器332向应用类310的组件311、312、314、316、318中插入特殊字节码350,以形成被管理的应用310′。应该指出,被管理的应用310′的每一个组件311′、312′、314′、316′、318′都包含所插入的字节码350。这些字节码350对应于挂钩336;当被管理的应用310′执行时,挂钩336将与注册器334接口,并使所期望的探查器338执行。
每当决定对给定应用进行监控时,注册表中的各项将定义利用什么方法以及对于任何特定方法使用哪些探查器。在至少某些实施例中,客户也能定义利用使用现有探查器的新方法。
探查器338是运行在与应用的被监控的组件(例如小服务程序、EJB等)相同的进程中的应用组件或探查器。探查器定义可由挂钩访问的前启用进入点和后启用进入点,以及特殊情况进入点postThrown。PostThrown与后启用进入点的不同之处在于postThrown在且仅在应用组件由于该组件引发了java.lang.Throwable而结束时才被调用。所插入的字节码350在正被监控的应用组件的进入点之前调用前启用进入点。在被监控的应用组件结束之后,挂钩立即调用后或postThrown启用进入点,这取决于哪一个是适合的。启用进入点确定是否调用前启用进入点、后启用进入点或postThrown。
在本发明的示例性实施例中,当被管理的应用310′执行时,所插入的字节码350(例如挂钩336)调用被写入以最小化字节码数量的中间Java类。该中间类又调用探查器的前启用进入点。因此,所插入的代码在加载时向应用组件提供增加监控能力的能力。无需提供监控的知识或能力,而依靠所插入的挂钩,便可设计、编码及发布应用,可提供将监控该应用的探查器。
因为探查器338是其正监控的应用310′的外围组件,所以该探查器一般必须被传递有关该应用的信息和该应用正在使用的参数。这一信息是该应用的“情境”。该情境包括但不限于对检测类(instrumented class)、检测方法(instrumented method)、检测类的对象实例和用于调用该方法的参数的引用,如果它们可应用的话。这些引用可根据所插入的字节码350以不同方式来获得。在一个示例性实施例中,将一个新的成员变量以类级别添加到检测类中,以便该新成员对于所有对象实例都是可见的。在类的初始化期间,某些情境被收集并被存储在该对象中。其余情境被收集并在请求时在探查器的主体执行之前给予该探查器。
应该指出,挂钩中的代码和探查器中的代码之间的间隔可以改变。换言之,对于探查器的所有编码来说,直接被插入到所监控的应用中是可能的,虽然这一般并不是值得期望的。还可能的是,向所监控的应用中插入最小量的代码,例如探查器的调用,而监控代码的主体则存在于探查器中。同样,因为挂钩可调用多个探查器,所以可将必要的代码置入单个探查器中或分为多个探查器,而不超出本发明的范围。
尽管可能存在探查器不需要情境的时候,但明显的是,大多数探查器确实需要情境,以便提供监控。在现有技术中,如果具有情境的探查器338被执行,则挂钩必须在允许该探查器执行之前,首先为该探查器建立情境。
现在转到图4,其示出了根据本发明示例性实施例在所监控的应用中采取的动作的流程图。该流程开始于应用的调用。最初,执行所插入的代码(步骤405)。如上面指出的,所插入的代码可执行下列步骤或其可调用一个或多个探查器来执行这些步骤。无论在哪种情况下,起始动作都是确定该探查器是否被启用(步骤410),例如,如管理应用340所决定的那样,是否将监控这一特定事务实例。如果该探查器被启用,则将完成用于该应用的情境并使之可用(步骤415)。然后,执行该监控探查器的预备步骤(步骤420)。一旦初始监控步骤结束,便调用(步骤425)并执行所监控的应用的逻辑。然后,确定是否俘获到异常(步骤430)。这决定了是执行后启用进入点还是执行postThrown。如果已俘获到异常,则执行postThrown(步骤435)且所俘获的异常被重新引发(步骤440);否则,执行后启用进入点(步骤445)。当后启用进入点或postThrown完成时,该方法退出。如果在步骤410确定探查器不被启用并且不会被监控,则调用该应用逻辑(步骤450)且该方法退出,而无需进一步的监控尝试。尽管以多种方式设计这一流程是可能的,但在本发明的至少一个实施例中,图3中的被管理的应用的创建实际上导致对于该应用中的每一个被监控的方法正在定义一个新的方法。例如,当小服务程序311通过JVM 320时,例如在图4的步骤420和450,一个新的小服务程序311′被创建,其包含监控逻辑且其调用被监控的小服务程序311。
现在参照图5A和5B,其示出了用于根据现有技术执行探查器和用于根据本发明的实施例执行探查器的比较性高级流程图。这两个流程开始于挂钩已被触发并开始用于运行探查器的过程。在图5A中,挂钩查看此探查器是否具有情境(步骤505)。如果该探查器具有情境,则挂钩立即加载该情境信息(步骤510);否则,跳过该加载步骤。然后,启动该探查器(步骤515)。接着,该探查器必须确定系统是否期望该探查器全部执行(步骤520),例如被监控的应用的这一特定实例是否被启用以便进行监控。这是通过与管理程序340进行接口来确定的。在一个示例性实施例中,管理程序根据诸如采样率、客户标识等预定标准做出监控一个特定事务的决定。如果该探查器的执行是所期望的,则然后将执行该探查器的主体以进行监控(步骤525);否则,将跳过该步骤。然后,该过程结束。在大多数监控系统中,采样率都低于50%。因此,当探查器不完全执行时,构建情境的开销是浪费的。
在图5B中,公开了根据本发明示例性实施例用于执行探查器的方法。在该流程中,挂钩再次检查以确定该探查器是否具有情境(步骤555)。当使用本发明的过程时,该答案将通常是“否”,因为启用模块被定义为不具有情境。这意味着用于该探查器的主要部分的任何情境的加载将被推迟到确定该探查器被启用。然后,启动该探查器,或更严格地说,启动该探查器的启用模块(步骤560)。启用模块的第一个工作是确定是否期望整个探查器的执行(步骤565)。这可以与现有技术中相同的方式来确定。例如,启用模块可查看当前线程ID,然后使用该线程ID确定是否存在用于这一事务的事务模型。这种事务模型由管理监控的管理进程340来维护。如果不存在事务模型,则不需要执行该探查器的主体。如果事务模型存在,则这是对该探查器应当全部运行的指示。当然,这不是确定该探查器是否被启用的唯一方法。典型的监控策略可包括(a)基于事务的组件跟踪级别-例如特定的事务会将EJB跟踪级别定义为0或1,0意味着不激发探查器,而1意味着激发探查器,(b)采样率-例如使用随机数发生器激发此时的10%的探查器,(c)保密和安全配置-如果探查器的执行可能导致违反保密法或暴露安全数据,则客户可配置为不激发探查器,如果可应用的话。
如果其上正运行新创程序的系统使用资源模型而不是事务模型,则可结合监控调度来确定组件的启用,例如,仅在办公时间监控这一组件等。
如果探查器被启用,则启用模块将加载用于该探查器的情境(步骤570),这是之前由挂钩执行的工作,然后,使该探查器的主体执行(步骤575)。如果没有必要运行该探查器的其余部分,则将跳过这些进一步的步骤并避免加载该情境的开销。然后,该流程终止。
这样,公开了一种用于降低监控程序所需的开销的系统和方法。不是为一个组件加载情境,然后确定该组件是否将完全执行,而是将情境的加载延迟到在确定该组件将执行之后。
重要的是,应该指出,尽管本发明是在完整功能的数据处理系统的情境下被描述的,但本领域普通技术人员将理解,本发明的处理能够以指令的计算机可读介质的形式和各种形式来分布,且不管实际用来实现该分布的信号承载介质的特定类型如何,本发明都同样地应用。计算机可读介质的例子包括诸如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM的可记录类型介质和诸如数字和模拟通信链接、使用诸如射频和光波传输的传输形式的有线或无线通信链路的传输类型介质。计算机可读介质可采用编码格式的形式,该编码格式在特定数据处理系统中被解码以供实际使用。
本发明的描述是为了例示和说明的目的而提供的,而并不是要穷举或以所公开的形式来限制本发明。许多修改和变换对于本领域普通技术人员来说都是显而易见的。例如,本发明并不局限于与Java一起使用。也可与诸如微软的.Net的其他系统一起使用,其中的.Net以类似的方式使用字节码和虚拟机。上述实施例的选择和描述是为了最佳地解释本发明的原理、实际应用,并使本领域普通技术人员能够理解,本发明的具有各种变体的各种实施例都适合于所预期的特定用途。

Claims (20)

1.一种监控事务的方法,包括以下计算机生成的步骤:
调用用于监控事务的探查器的启用部分,其中所述启用部分不具有情境;
通过所述探查器的所述启用部分,确定所述探查器是否被启用;以及
如果所述探查器被启用,则加载所述探查器的主体部分的情境,执行所述主体部分,并调用该事务;否则,退出所述启用部分并调用该事务,而无需执行所述主体部分。
2.如权利要求1所述的方法,进一步包括向上述事务的组件中插入挂钩的步骤,其中所述挂钩调用所述探查器。
3.如权利要求2所述的方法,其中所述挂钩是字节码。
4.如权利要求1所述的方法,其中所述方法在Java环境中执行。
5.如权利要求1所述的方法,其中所述确定所述探查器是否被启用的步骤与用于管理对于事务的监控的程序接口。
6.如权利要求1所述的方法,其中所述探查器被随机启用,以监控预定百分比的事务。
7.如权利要求1所述的方法,其中所述情境包含检测类、检测方法、所述检测类的对象实例和用于调用所述事务的参数中的至少一个。
8.一种监控事务的系统,包括:
用于调用用于监控事务的探查器的启用部分的装置,其中对于所述启用部分不加载情境;
用于通过所述探查器的所述启用部分,确定所述探查器是否被启用的装置;
用于如果所述探查器被启用,则加载所述探查器的主体部分的情境并执行所述主体部分的装置;以及
用于如果所述探查器未被启用,则退出所述启用部分且不执行所述主体部分的装置。
9.如权利要求8所述的系统,进一步包括用于向上述事务的组件中插入挂钩的装置,其中所述挂钩调用所述探查器。
10.如权利要求9所述的系统,其中所述挂钩是字节码。
11.如权利要求8所述的系统,其中权利要求8中的各装置在Java环境中实现。
12.如权利要求8所述的系统,其中所述用于通过所述探查器的所述启用部分,确定所述探查器是否被启用的装置与管理程序接口以确定所述探查器是否被启用。
13.如权利要求8所述的系统,其中可从选自于包括前启用进入点、后启用进入点及特殊情况进入点的组中的进入点进入所述探查器。
14.一种计算机系统,包括:
连接到因特网以与客户端接口且连接到数据库以提供信息的多个服务器;
运行于所述多个服务器上的多个事务,所述事务是向客户端提供信息的手段;
监控所述多个事务的监控系统,其中所述监控系统包括:
用于调用用于监控事务的探查器的启用部分的装置,其中对于所述启用部分不加载情境;
用于通过所述探查器的所述启用部分,确定所述探查器是否被启用的装置;
用于如果所述探查器被启用,则加载所述探查器的主体部分的情境并执行所述主体部分的装置;以及
用于如果所述探查器未被启用,则退出所述启用部分且不执行所述主体部分的装置。
15.如权利要求14所述的计算机系统,其中所述探查器由被插入到上述事务的组件中的插入字节码所调用。
16.如权利要求14所述的计算机系统,其中所述监控系统在Java环境中实现。
17.如权利要求14所述的计算机系统,其中所述用于通过所述探查器的所述启用部分,确定所述探查器是否被启用的装置与管理程序接口以确定所述探查器是否被启用。
18.如权利要求14所述的计算机系统,其中可在从包括前启用进入点、后启用进入点及特殊情况进入点的组中选择的进入点处进入所述探查器。
19.如权利要求14所述的计算机系统,其中所述用于通过所述探查器的所述启用部分,确定所述探查器是否被启用的装置对于所述探查器的启用的确定是逐个事务地做出的。
20.如权利要求14所述的计算机系统,其中如果所述探查器包括事务模型,则所述用于通过所述探查器的所述启用部分,确定所述探查器是否被启用的装置确定所述探查器被启用。
CNB2005101095067A 2004-10-22 2005-10-19 用于自主探查器启用的方法和系统 Expired - Fee Related CN100397336C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/971,473 US20060089984A1 (en) 2004-10-22 2004-10-22 Process and implementation for autonomous probe enablement
US10/971,473 2004-10-22

Publications (2)

Publication Number Publication Date
CN1804795A CN1804795A (zh) 2006-07-19
CN100397336C true CN100397336C (zh) 2008-06-25

Family

ID=36207305

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101095067A Expired - Fee Related CN100397336C (zh) 2004-10-22 2005-10-19 用于自主探查器启用的方法和系统

Country Status (2)

Country Link
US (1) US20060089984A1 (zh)
CN (1) CN100397336C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7464161B2 (en) * 2005-06-06 2008-12-09 International Business Machines Corporation Enabling and disabling byte code inserted probes based on transaction monitoring tokens
US10203974B2 (en) 2010-12-20 2019-02-12 Microsoft Technology Licensing, Llc Probe insertion via background virtual machine
US9298910B2 (en) * 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
CN102831043B (zh) * 2011-06-17 2015-05-20 阿里巴巴集团控股有限公司 应用程序监控方法和装置
US8875096B1 (en) 2012-09-25 2014-10-28 Amazon Technologies, Inc. Dynamic class loading

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1238495A (zh) * 1998-05-11 1999-12-15 国际商业机器公司 分布式计算环境中应用程序可用性和响应的监控与报告
JP2003143226A (ja) * 2001-10-30 2003-05-16 Ando Electric Co Ltd Ipネットワーク用プローブ装置及びトラフィック統計方法
WO2004015922A2 (en) * 2002-08-09 2004-02-19 Netscout Systems Inc. Intrusion detection system and network flow director method
CN1489039A (zh) * 2002-09-09 2004-04-14 �Ҵ���˾ 用于监视服务器性能的方法和系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5455949A (en) * 1991-09-06 1995-10-03 International Business Machines Corporation Method for representing and signaling run-time program conditions
US6263488B1 (en) * 1993-12-03 2001-07-17 International Business Machines Corporation System and method for enabling software monitoring in a computer system
US5732273A (en) * 1995-08-11 1998-03-24 Digital Equipment Corporation System for monitoring compute system performance
US6349406B1 (en) * 1997-12-12 2002-02-19 International Business Machines Coporation Method and system for compensating for instrumentation overhead in trace data by computing average minimum event times
US6311327B1 (en) * 1998-03-02 2001-10-30 Applied Microsystems Corp. Method and apparatus for analyzing software in a language-independent manner
US6230313B1 (en) * 1998-12-23 2001-05-08 Cray Inc. Parallelism performance analysis based on execution trace information
US6671876B1 (en) * 1999-10-28 2003-12-30 Lucent Technologies Inc. Monitoring of software operation for improving computer program performance
JP2001147837A (ja) * 1999-11-18 2001-05-29 Fujitsu Ltd プログラムトレース装置及び記憶媒体
US6539501B1 (en) * 1999-12-16 2003-03-25 International Business Machines Corporation Method, system, and program for logging statements to monitor execution of a program
US7065566B2 (en) * 2001-03-30 2006-06-20 Tonic Software, Inc. System and method for business systems transactions and infrastructure management
US7043237B2 (en) * 2002-01-14 2006-05-09 Agilent Technologies, Inc. Method and system for improved monitoring, measurement and analysis of communication networks utilizing dynamically and remotely configurable probes
US7107579B2 (en) * 2002-05-09 2006-09-12 Hewlett-Packard Development Company, L.P. Preserving program context when adding probe routine calls for program instrumentation
US6792460B2 (en) * 2002-10-02 2004-09-14 Mercury Interactive Corporation System and methods for monitoring application server performance
US7496903B2 (en) * 2003-08-12 2009-02-24 Hewlett-Packard Development Company, L.P. Synthesizing application response measurement (ARM) instrumentation
US7813288B2 (en) * 2005-11-21 2010-10-12 Intel Corporation Transaction detection in link based computing system
US8510430B2 (en) * 2006-08-03 2013-08-13 International Business Machines Corporation Intelligent performance monitoring based on resource threshold

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1238495A (zh) * 1998-05-11 1999-12-15 国际商业机器公司 分布式计算环境中应用程序可用性和响应的监控与报告
JP2003143226A (ja) * 2001-10-30 2003-05-16 Ando Electric Co Ltd Ipネットワーク用プローブ装置及びトラフィック統計方法
WO2004015922A2 (en) * 2002-08-09 2004-02-19 Netscout Systems Inc. Intrusion detection system and network flow director method
CN1489039A (zh) * 2002-09-09 2004-04-14 �Ҵ���˾ 用于监视服务器性能的方法和系统

Also Published As

Publication number Publication date
CN1804795A (zh) 2006-07-19
US20060089984A1 (en) 2006-04-27

Similar Documents

Publication Publication Date Title
CN100410872C (zh) 用于增强的运行时间主机支持的方法和设备
US7131122B1 (en) Apparatus, system and method for detecting old version of an applet in a client brower's JVM
US9454387B2 (en) Method and system for installing portable executable applications
US7114148B2 (en) Runtime services for network software platform
CN1316362C (zh) 重定位在多线程计算机中共享的计算机数据的设备和方法
CN101681294B (zh) 用于存储器事务分组的方法和系统
CN104205109B (zh) 持续性和弹性的工作者进程
EP0371942A2 (en) System and method for interfacing in computer systems
CA2086056C (en) Method for integrating a discrete subprogram into a main program
US11556348B2 (en) Bootstrapping profile-guided compilation and verification
US6880107B1 (en) Software configuration monitor
CN102279765A (zh) 预编译托存托管代码
KR20110128846A (ko) 장치와 웹 서비스 간에 브라우저 캐시를 동기화하는 프로그래밍 모델
CN100397336C (zh) 用于自主探查器启用的方法和系统
US7627662B2 (en) Transaction request processing system and method
US7296050B2 (en) Distributed computing system and method
US8918776B2 (en) Self-adapting software system
JP2005166052A (ja) 待機リソースの資格を移転するためのシステム
JP5324914B2 (ja) ストレージリソースを割り振る方法および装置
CN100378657C (zh) 用于改进java方法调用速度的方法和装置
US7272712B1 (en) Data structure and method for managing modules associated with a kernel
CN103514216A (zh) 基于数据库系统的流水号生成方法
JP4432087B2 (ja) データベース更新管理システム、プログラムおよび方法
US7143281B2 (en) Method and apparatus for automatically changing kernel tuning parameters
US20080098368A1 (en) Automatic native generation

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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee