自动异步切换标识的制作方法
【专利摘要】可以自动地检测线程与其他软件组件之间的异步切换,并且可以跟踪对应的工作对象。系统可以报告包括原始请求和对应的异步请求的整个事务的监视信息。自动地检测异步请求可以包括仪表化虚拟机例如Java虚拟机(JVM)以检测线程切换对象的创建以及对象和/或线程执行。可以自动地跟踪、基于随时间推移而学习到的数据来跟踪、基于用户输入来跟踪以及以另外的方式配置线程切换对象。在一些实施方式中,在检测到线程切换对象的创建之后,调用的对象的标识可以被标识为在其他服务器或应用中被跟踪。
【专利说明】
自动异步切换标识
【背景技术】
[0001]万维网已扩展为使Web服务成为消费者的日常生活的一部分。Web服务可以由使用一种或更多种服务来处理事务的Web应用来提供。应用可以分布在几个机器上。内容页(例如,Web页)可以呈现在网络浏览器应用中并且可以提供来自由几个内容页元素请求的内容的信息。在一些内容页中,可以从不同的远端应用来异步地加载页元素。例如,响应于请求,内容页可以启动多个异步请求。
[0002]当前的应用跟踪工具不跟踪该多个异步请求。典型的系统监视单个内容页的后端事务。因此,当多个元素启动不同的进程和服务时,不使用现有技术的监视系统来跟踪它们。这提供了作为提供内容页的一部分的事务以及内容页呈现的真实性质的不充分的视图。
[0003]在本技术领域中需要具有改善了的监视能力的应用监视。
【发明内容】
[0004]本技术可以自动地检测线程与其他软件组件之间的异步切换(asynchronoushandoff)。该系统可以报告包括原始请求以及对应的异步请求的整个事务的监视信息。自动地检测异步请求可以包括仪表化(instrument)虚拟机例如Java虚拟机(JVM)以检测线程切换对象的创建以及对象和/或线程执行。可以自动地跟踪、基于随时间推移而学习到的数据来跟踪、基于用户输入来跟踪以及以另外的方式配置线程切换对象。在一些实施方式中,在检测到线程切换对象的创建之后,调用的目标的标识可以被标识为在其他服务器或应用中被跟踪。
[0005]实施方式可以包括用于监视业务事务的方法。所述方法可以由服务器上的代理自动地检测对象的构造。所述对象可以被配置成将事务的控制从第一线程切换至第二线程。所构造的对象可以与监视参数相关联并且第二线程可以与所述监视参数相关联。
[0006]所述方法可以作为系统或者是在计算机可读介质上实现的可执行程序来实现。
【附图说明】
[0007]图1是用于监视业务事务的示例性系统的框图。
[0008]图2是具有多个元素的内容页的框图。
[0009]图3是用于监视业务事务的示例性方法。
[0010]图4是用于自动地仪表化构造器对象的示例性方法。
[0011]图5是用于检测线程切换对象的构造的示例性方法。
[0012]图6是将数据发送至控制器的示例性方法。
[0013 ]图7是控制器的操作的示例性方法。
[0014]图8是示例性计算设备的框图。
【具体实施方式】
[0015]本技术监视由一个或更多个分布式应用提供的网络应用或Web应用。Web应用可以由各自被实现为虚拟机的或被实现为在虚拟机上实施的一个或更多个应用的一个或更多个Web服务来提供。可以在一个或更多个虚拟机上通过跟踪工作对象创建和执行来自动地检测异步切换。检测异步切换可以帮助监视系统标识和跟踪内容页以及具有多个异步请求的其他模块的分布式业务事务。
[0016]自动地检测异步请求可以包括仪表化虚拟机例如Java虚拟机(JVM)以检测线程切换对象的创建。线程切换对象可以预先被知晓,可以随时间推移被学习到,可以由用户提供或者可以以其他方式被标识。例如,线程切换对象可以包括java调用,例如java.runable、java.callable和java.thread。
[0017]图1是用于监视业务事务的示例性系统的框图。图1的系统100包括客户端设备105、移动设备115、网络120、网络服务器125、应用服务器130、140、150和160、异步网络机170、数据库180和185以及控制器190。
[0018]客户端设备105可以包括网络浏览器110并且可以被实现为计算设备,例如便携式计算机、台式机、工作站或一些其他计算设备。网络浏览器110可以是用于对由应用服务器例如应用服务器130通过网络120经由网络服务器125提供的内容进行查看的客户端应用。移动设备115被连接至网络120并且可以被实现为适用于通过网络接收内容的便携式设备,例如移动电话、智能手机或其他便携式设备。客户端设备105和移动设备115两者可以包括被配置成对由网络服务器125提供的Web服务进行访问的硬件和/或软件。
[0019]网络120可以促进不同服务器、设备和机器之间的数据通信。该网络可以被实现为专用网络、公共网络、内联网、因特网、无线网络、蜂窝网络或这些网络的组合。
[0020]网络服务器125被连接至网络120并且可以接收和处理通过网络120接收的请求。网络服务器125可以被实现为实施网络服务的一个或更多个服务器。当网络120为因特网时,网络服务器125可以被实现为Web服务器。
[0021]应用服务器130与网络服务器125、应用服务器140和150以及控制器190通信。应用服务器130还可以与其他机器和设备(图1中未示出)通信。应用服务器130可以托管应用或者分布式应用的一部分并且包括虚拟机132、代理134及其他软件模块。如图1所示,应用服务器130可以被实现为一个服务器或多个服务器。
[0022]虚拟机132可以由在一个或更多个应用服务器上运行的代码来实现。上述代码可以实现计算机程序、模块和数据结构以实现用于执行程序和应用的虚拟机模式。在一些实施方式中,不止一个虚拟机132可以在应用服务器130上执行。虚拟机可以被实现为Java虚拟机(JVM)来实现。虚拟机132可以执行由包括系统100的应用服务器执行的业务事务的全部或一部分。虚拟机可以被看作是实现Web服务的几种服务之一。
[0023]可以使用字节代码插入或字节代码仪表化来仪表化虚拟机132,以修改虚拟机的对象代码。经仪表化的对象代码可以包括用于以下操作的代码:检测由虚拟机132接收的调用,检测由虚拟机132发送的调用,以及在虚拟机132上的应用执行期间与代理134通信。可替代地,其他代码可以是经仪表化的字节代码,例如包括在虚拟机132中执行的应用或在应用服务器130上而且在虚拟机132外部执行的应用的代码。
[0024]应用服务器130上的代理134可以通过对象代码的仪表化、将应用下载至该服务器或以某种其他方式被安装在应用服务器130上。可以执行代理134以监视应用服务器130和监视虚拟机132并且与应用服务器130、虚拟机132或在应用服务器130上的另一个应用上的字节仪表化代码通信。代理134可以通过应用服务器130和虚拟机132来检测例如接收调用和发送请求的操作。代理134可以接收来自于虚拟机132的经仪表化的代码的数据、处理上述数据并且将上述数据发送至控制器190。如本文所讨论的,代理134可以执行与监视虚拟机132和应用服务器130相关的其他操作。例如,代理134可以标识其他应用,共享业务事务数据,聚集检测运行时间数据以及执行其他操作。
[0025]代理134可以包括用于存储对象标识符和监视参数相关配对的映射表。当经仪表化的线程切换对象构造器被创建时,代理可以检测上述创建并且存储对象ID以及所创建的对象的监视数据。监视ID可以由代理或其他实体来创建。当在所创建的对象上执行经修改的对象运行方法时,针对该对象ID而存储的监视参数与该对象的线程处理执行相关联,并且监视参数可以包括在本地的对象执行中或包括在远端应用的对象执行中。可以通过将监视参数与执行对象相关联来监视执行对象。监视数据被报告至具有监视参数的控制器,并且分布的(例如,“连续的”)事务可以由可以使来自不同代理和应用的数据相关联的控制器绑结在一起。
[0026]应用服务器140、150和160中的每一个可以包括应用和代理。每个应用可以在对应的应用服务器上或虚拟机上运行。应用服务器140至160上的虚拟机142、152和162中的每一个的操作可以类似于虚拟机132的操作并且托管执行分布式业务事务的至少一部分的一个或更多个应用。代理144、154和164可以监视虚拟机142至162,采集和处理虚拟机的运行时间处的数据并且与控制器190通信。虚拟机132、142、152和162可以彼此通信作为执行分布式事务的一部分。具体地,每个虚拟机可以调用另一个虚拟机的任何应用或方法。
[0027]控制器190可以控制和管理分布在应用服务器130至160上的业务事务的监视。控制器190可以从代理134至164中的每一个接收运行时间数据,使业务事务数据的各部分相关联,与代理通信以配置运行时间数据的采集并且提供性能数据和通过接口的报告。该接口可以被看作是能够通过移动设备115、客户端设备105或一些其他设备查看的基于Web的接口。在一些实施方式中,客户端设备192可以与控制器190直接通信以查看用于监视数据的接口。
[0028]异步网络机170可以参与与例如应用服务器150和160的一个或更多个应用服务器的异步通信。例如,应用服务器150可以将几个调用或消息发送至异步网络机。异步网络机可以处理信息并且最终向应用服务器160提供例如处理信息的响应,而不是传回应用服务器150。由于从异步网络机至应用服务器150没有返回信息,所以异步网络机与应用服务器150之间的通信是异步的。
[0029]数据库180和185可以各自由例如应用服务器150的应用服务器访问。数据库185还可以由应用服务器150访问。数据库180和185中的每个数据库可以存储数据,处理所述数据并且返回从应用服务器接收的查询。数据库180和185中的每个数据库可以包括或不包括代理。
[0030]图2是具有多个元素的内容页的框图。图2包括内容页200和250。可以根据从一个或更多个远端应用例如Web服务应用接收的内容来在网络浏览器应用中呈现内容页200和250中的每个内容页。
[0031]内容页200包括可选内容页元素205。当被用户选择时,提供内容页200的网络浏览器可以用内容页250来替换内容页200。内容页250包括异步内容页元素210、220、230和240。
[0032]在实施方式中,当网络浏览器呈现内容页250时异步内容页元素210至240中的一个或更多个可以启动针对内容的异步调用。例如,上述内容页元素中的一个或更多个可以设置对网页服务、资源、远端对象或其他元素的调用。异步内容页元素所做出的每个调用可以独立于其他异步内容页元素的操作并且可以与其自身的分布式事务相关联。同样地,当内容页250被呈现时,内容页元素210至240可以并行地操作以检索要在网络浏览器应用内的内容页200中再现的内容。
[0033]由于内容页元素并行地工作以接收内容,与内容页200相关联的线程可以将控制切换至与各个异步内容页元素中的每个异步内容页元素相关联的单独的线程。类似地,每个内容页元素线程可以将控制切换至另一线程,例如在远端应用处的线程。现有技术的应用监视系统无法将针对可选内容页元素205而接收的请求与和异步内容页元素210至240相关联的一个或更多个异步请求相关联。本技术能够自动跟踪线程切换对象以提供较好的跟踪以及在内容页250中提供内容的整个过程(分布式事务或连续性事务)的相关性。
[0034]图3是用于监视业务事务的示例性方法。首先,在步骤310处可以自动地仪表化构造器对象。上述仪表化可以包括仪表化应用服务器字节代码或对象代码。构造器可以被仪表化以使得当构造器随后创建对象(具体为线程切换对象)时,该对象可以被跟踪。线程切换对象可以是很可能导致新线程被分配以从现有线程取得对进程的控制的任何对象。经自动地仪表化的构造器的示例包括构造可调用对象、可运行对象和线程对象的构造器。新线程可以是原始线程的子线程。尽管参照步骤310讨论了虚拟机,但为了检测线程切换对象的创建,可以仪表化应用的其他部分。关于仪表化字节代码和/或对象代码以检测线程切换对象的创建的更多细节参照图4的方法来讨论。
[0035]在步骤315处可以自动地仪表化运行方法。运行方法可以包括用于执行在步骤310处被仪表化的线程切换对象的一种或更多种方法。例如,针对可调用对象、可运行对象和线程对象,执行所述对象的方法可以包括调用方法、运行方法和线程方法。无论用户输入、系统行为及其他因素如何,都可以自动地仪表化步骤310的构造器和步骤315的方法。
[0036]在步骤320处可以构造另外的构造器和运行方法。所述另外的构造器和运行方法可以不像步骤310和315中那些构造器和运行方法那样构造,而是可以基于用户输入、随时间推移的系统行为学习及其他因素来构造。
[0037]在以下美国专利申请中讨论了关于仪表化代码、安装代理以及监视事务的另外的信息:于2010年9月9 日提交的标题为 “Monitoring Distributed Web Applicat1nTransact1ns”的美国专利申请N0.1 2/878,919、于20 11年7月22日提交的标题为“Automatic Capture of Diagnostic Data Based on Transact1n Behav1r Learning”的美国专利申请N0.13/189,360、以及于2012年2月2日提交的标题为“Automatic Captureof Detailed Analysis Informat1n for Web Applicat1n Outliers with Very LowOverhead”的美国专利申请N0.13/365,171,以上三个申请的全部内容通过引用而合并到本文中。
[0038]在步骤325处可以将代理安装在应用中并且可以配置控制器。代理可以被安装在应用服务器上以及虚拟机内、应用内或虚拟机外。可以通过字节代码仪表化、通过将要安装的代码下载到应用服务器上或者通过一些其他方法来添加代理。在某个点处,还可以配置控制器190。配置控制器190可以包括将软件加载到控制器190上用于与一个或更多个代理通信,处理运行时间数据,报告性能信息以及执行其他操作。参照图7来更加详细地讨论某个控制器190的操作。
[0039]在步骤330处可以检测线程切换对象的构造。当构造器创建对象时经仪表化的构造器可以通知代理。该对象可以是由在步骤310处被自动地仪表化的构造器或在步骤320处非自动地仪表化的构造器创建的对象之一。
[0040]在某些情况下,当检测到线程切换对象的构造时,可以用监视参数来修改用于执行线程切换对象的调用。应用服务器上的作出该调用的代理可以修改该调用作为业务事务的一部分。代理可以用例如应用标识符、事务标识符、请求标识符、调用链信息和诊断状态的监视参数来修改所述调用。在一些实施方式中,通过向输出线程添加例如来自“线程本地”文件的监视参数的线程信息来修改调用。可以由代理将监视参数数据添加至“线程本地”文件。步骤330的更多细节参照图5的方法来讨论。
[0041 ]在步骤335处,当创建了线程切换对象时,存储对象标识符和监视参数。对象标识符可以标识所创建的例如具有唯一标识符的对象。监视参数可以标识与最终启动对象创建的请求相关联的事务ID。可以由虚拟机上的代理或者可以执行所创建的对象的其他节点来将对象标识符和监视参数存储在内存映射中。
[0042]在步骤340处可以检测对象的执行。当经仪表化的运行方法在例如在步骤330处创建的线程切换对象的对象上被调用时可以检测对象执行。经仪表化的调用方法可以告知代理何时通过该方法执行对象。
[0043]在步骤345处检索与被执行的对象相关联的事务监视参数。代理可以接收包括正在被执行的对象的标识符的对象执行消息。代理可以检索与该对象标识符对应的监视参数。然后在步骤350处,代理可以将被执行的对象与检索到的监视参数相关联。在一些情况下,代理可以通过将监视参数与正执行对象的线程相关联来将被执行的对象与监视参数相关耳关。
[0044]在步骤355处完成对象执行。对象的执行可以包括将对象执行的控制切换至另一线程,该另一线程可以在本地位于调用该对象的同一虚拟机或应用上或者在远端位于另外的虚拟机或应用上。在任何情况下,监视参数可以保持与对象执行相关联。在某些情况下,对象的执行可以包括创建并且执行另一线程切换对象。当这种情况发生时,如在前的对象一样,另外的线程切换对象与监视参数相关联,另外的对象的执行完成,并且可以基于另外的线程切换对象执行的结果来执行在前的线程切换对象直至完成。
[0045]在步骤360处可以将数据发送至控制器。该数据可以包括监视数据、所聚集的运行时间数据及其他数据。可以通过监视线程切换对象创建和执行的代理来报告该数据。参考图6的方法来讨论将数据发送至控制器的更多信息。
[0046]图4是用于自动地仪表化构造器对象的示例性方法。图4的方法提供关于图3的方法的步骤310的更多细节。在步骤410处仪表化虚拟机以检测可运行对象构造器。可运行对象可以被称为线程切换对象,并且将期望监视该对象的创建。在步骤420处可以仪表化虚拟机以检测可调用对象构造器。在步骤430处可以仪表化虚拟机以检测线程对象构造器。
[0047]在步骤410至430处的仪表化可以检测很可能将控制从一个线程切换至另一线程的对象。可以执行仪表化以使得:当构造器创建对象时,代码被插入到构造器、构造器的代理以及代理名称中。
[0048]图4的方法的步骤可以以任何顺序来执行并且可以单独执行。例如,可以在可运行对象构造器之前仪表化可调用对象构造器,或者可以仅针对特定的应用来仪表化可调用对象构造器。此外,除了仪表化在图4的方法的步骤中列出的对象构造器之外,还可以仪表化其他的对象构造器。
[0049]图5是用于检测线程切换对象的构造的示例性方法。图5的方法提供了关于图3的方法的步骤330的更多细节。步骤510至520首先确定是否检测到很可能执行切换的对象构造。在步骤510处,确定是否检测到可运行对象的构造。如果检测到可运行对象,则图5的方法继续至跟踪该对象的步骤525。跟踪该对象可以包括在存储映射中存储关于该对象的数据。在步骤515处确定是否检测到可调用对象的构造。如果检测到可调用对象的构造,则在步骤525处跟踪所构造的对象。在步骤520处确定是否检测到线程对象的构造。如果未检测到线程对象的构造,则图5的方法结束而不跟踪对象的构造。如果在步骤520处检测到线程对象的构造,则可以在步骤525处跟踪检测到的对象。
[0050]图6是用于将数据发送至控制器的示例性方法。在步骤610处可以聚集运行时间数据。代理所收集的运行时间数据可以基于监视参数来聚集以及在例如I分钟的时间段内被平均。
[0051]当与调用相关联的运行时间数据被接收时可以将其存储。在一些实施方式中,运行时间数据可以指示完成调用的响应时间。运行时间数据可以包括与业务事务、调用链及其他参数信息相关联的定时信息及其他数据。代理可以接收或检索与应用调用、方法调用及其他操作的开始和结束对应的时间戳。当调用完成时,可以产生用于整个调用以及将调用插入至其他应用的响应时间。
[0052]在步骤620处可以检测运行时间数据报告事件。运行时间报告事件可以是几个事件中的任何事件,例如,计时器的终止、报告运行时间数据的应用服务器的一个或更多个资源的状态或者另一个事件。然后可以在步骤630处由代理将运行时间数据发送至控制器190。控制器190可以接收来自一个或更多个代理的数据,处理该数据并且可以提供关于正被监视的系统的监视信息。
[0053]图7是用于控制器的操作的示例性方法。在步骤710处可以从一个或更多个代理接收聚集运行时间数据。可以基于事件,基于数据的负载大小或者基于一些其他标准来定期接收聚集运行时间数据。聚集运行时间数据可以指示业务事务、调用链数据、时间戳数据及其他数据。业务事务可以与请求相关联。聚集数据中的调用链数据可以包括在请求的头部中接收的调用链数据,如果存在的话,还可以包括处理请求的应用或虚拟机的标识符。聚集数据可以被发送以用于每个调用链组合。
[0054]在步骤720处可以根据所接收的聚集数据来构造用于业务事务的调用链。可以基于所接收的聚集数据中的调用链数据通过连接与业务事务的一部分相关联的数据来构造调用链。
[0055]构造调用链可以包括将一个或更多个异步请求与父请求相关联。例如,在客户端处的内容页中接收的请求可以导致由不同于处理原始请求的线程的多个线程启动多个异步请求。在本文所描述的每个技术中,多个异步请求可以被绑定至原始请求,所有这些原始请求由不同的线程处理。控制器可以将原始请求的性能数据及其他数据与后续的异步请求相关联作为单一的分布式或连续事务以进行进一步分析。
[0056]在步骤730处可以确定针对业务事务的性能信息。性能信息可以指示针对业务事务的总响应时间和每个节点(例如,在业务事务中的每个应用服务器或虚拟机的处理时间)的本地响应时间、系统内的虚拟机之间的时间段、以及性能是否能够被接受。
[0057]可以在步骤740处基于所确定的性能来确定用于业务事务的性能基线和告警。在一些实施方式中,可以针对业务事务的一部分来确定平均性能或基线性能,例如通过对一段时间内每个部分的性能数据求平均。可以在步骤750处报告业务事务的性能。
[0058]图8是示例性计算设备的框图。图8的系统800可以在像应用服务器130至160、网络服务器125、数据库180和185以及客户端105和192这样的环境中来实现。图8的计算系统800包括一个或更多个处理器810和存储器810。主存储器810部分地存储供处理器810执行的指令和数据。当操作时主存储器810可以存储可执行代码。图8的系统800还包括大容量存储设备830、便携式存储介质驱动840、输出设备850、用户输入设备860、图形显示器870和外围设备880。
[0059]图8所示的组件被描述为经由单个总线890来连接。然而,上述组件可以通过一个或更个数据传输装置来连接。例如,处理器单元810和主存储器810可以经由本地微处理器总线来连接,并且大容量存储设备830、外围设备880、便携式存储设备840和显示系统870可以经由一个或更多个输入/输出(I /0)总线来连接。
[0060]可以用磁盘驱动器或光盘驱动器来实现的大容量存储设备830是用于对供处理器单元810使用的数据和指令进行存储的非易失性存储设备。为将用于实现本发明的实施方式的系统软件加载至主存储器810,大容量存储设备830可以存储该系统软件。
[0061]便携式存储设备840结合例如软盘、致密盘或数字视频盘的便携式非易失性存储介质来操作以往/从图8的计算机系统800输入/输出数据和代码。用于实现本发明的实施方式的系统软件可以存储在这样的便携式介质上并且经由便携式存储设备840被输入至计算机系统800。
[0062]输入设备860提供了用户接口的一部分。输入设备860可以包括字母数字小键盘,例如键盘,用于输入字母数字及其他信息;或定点设备,例如鼠标、追踪球、手写笔或光标方向键。此外,如图8所示的系统800包括输出设备850。合适的输出设备的示例包括扬声器、打印机、网络接口和监视器。
[0063]显示系统870可以包括液晶显示器(IXD)或其他合适的显示设备。显示系统870接收文本和图形信息,并且处理该信息以输出至显示设备。
[0064]外围设备880可以包括任意类型的用于为计算机系统添加另外功能的计算机支持设备。例如,外围设备880可以包括调制解调器或路由器。
[0065]包括在图8的计算机系统800中的组件是通常在计算机中出现的可能适用于本发明的实施方式的那些组件并且意在表示本领域所熟知的这样的计算机组件的广泛类别。因此,图8的计算机系统800可以是个人计算机、手持计算设备、电话、移动计算设备、工作站、服务器、小型计算机、大型计算机或任何其他计算设备。计算机还可以包括不同的总线配置、联网平台、多处理器平台等。可以使用各种操作系统,包括Unix、Linux、Windows、Mac
OS,Palm OS及其他合适的操作系统。
[0066]类似于图8的计算系统的计算系统可以用于实现移动设备115,但是还可以包括通常出现在这样的移动设备中的另外的元件。例如,实现移动设备15的系统除了包括图8的系统的元件以外,还可以包括用于无线通信的一个或更多个天线及相关电路、扬声器、触摸屏以及用于实现例如智能手机、平板电脑等移动设备的其他组件。
[0067]上面出于说明和描述的目的而对本文的技术进行了详细描述。上述描述非意在为穷尽性或者将本技术限于所公开的精确形式。根据上述教导,可以作出许多修改和变型。为了最佳地解释本技术的原理及其实际应用而选择了所描述的实施方式,从而使本领域的其他技术人员能够最佳地利用不同实施方式中的技术并且利用本技术的适用于所设想的具体用途的多种修改。意在通过所附权利要求书来限定本技术的范围。
【主权项】
1.一种用于监视业务事务的方法,包括: 由服务器上的代理自动地检测对象的构造,所述对象被配置成将事务的控制从第一线程切换至第二线程; 将所构造的对象与监视参数相关联;以及 将所述第二线程与所述监视参数相关联。2.根据权利要求1所述的方法,其中,所述对象是可调用对象。3.根据权利要求1所述的方法,其中,所述对象是可运行对象。4.根据权利要求1所述的方法,其中,所述对象是线程对象。5.根据权利要求1所述的方法,还包括: 自动地检测所述对象的执行,其中,所述对象的执行将事务的控制从第一线程传递至第二线程,其中,所述监视参数与所述第一线程相关联。6.根据权利要求1所述的方法,其中,所述对象创建要作为事务的一部分执行的子线程。7.根据权利要求1所述的方法,其中,所述对象由多个独立执行内容页元素中的第一独立执行内容页元素来启动。8.根据权利要求1所述的方法,其中,所述对象构造由在构造所述对象的服务器上执行的代理来检测。9.根据权利要求1所述的方法,其中,所述事务由构造所述对象的第一线程以及由所述对象启动的第二线程来执行。10.根据权利要求9所述的方法,其中,监视所述事务包括监视所述第一线程和所述第二线程。11.一种包含有程序的计算机可读存储介质,所述程序能够由处理器执行以执行用于监视业务事务的方法,所述方法包括: 自动地检测对象的构造,所述对象被配置成将事务的控制从第一线程切换至第二线程; 将所构造的对象与监视参数相关联;以及 将所述第二线程与所述监视参数相关联。12.根据权利要求11所述的计算机可读存储介质,其中,所述对象是可调用对象。13.根据权利要求11所述的计算机可读存储介质,其中,所述对象是可运行对象。14.根据权利要求11所述的计算机可读存储介质,其中,所述对象是线程对象。15.根据权利要求11所述的计算机可读存储介质,自动地检测所述对象的执行,其中,所述对象的执行将事务的控制从第一线程传递至第二线程,其中,所述监视参数与所述第一线程相关联。16.根据权利要求11所述的计算机可读存储介质,其中,所述对象创建要作为事务的一部分执行的子线程。17.根据权利要求11所述的计算机可读存储介质,其中,所述对象由多个独立执行内容页元素中的第一独立执行内容页元素来启动。18.根据权利要求11所述的计算机可读存储介质,其中,所述对象构造由在构造所述对象的服务器上执行的代理来检测。19.根据权利要求11所述的计算机可读存储介质,其中,所述事务由构造所述对象的第一线程以及由所述对象启动的第二线程来执行。20.根据权利要求19所述的计算机可读存储介质,其中,监视所述事务包括监视所述第一线程和所述第二线程。21.—种用于监视业务事务的系统,所述系统包括: 处理器; 存储器;以及 一个或更多个模块,所述一个或更多个模块存储在所述存储器中并且能够由所述处理器执行以由服务器上的代理自动地检测对象的构造,所述对象被配置成将事务的控制从第一线程切换至第二线程、将所构造的对象与监视参数相关联以及将所述第二线程与所述监视参数相关联。22.根据权利要求21所述的系统,其中,所述对象是可调用对象。23.根据权利要求21所述的系统,其中,所述对象是可运行对象。24.根据权利要求21所述的系统,其中,所述对象是线程对象。25.根据权利要求21所述的系统,自动地检测所述对象的执行,其中,所述对象的执行将事务的控制从第一线程传递至第二线程,其中,所述监视参数与所述第一线程相关联。26.根据权利要求21所述的系统,其中,所述对象创建要作为事务的一部分执行的子线程。27.根据权利要求21所述的系统,其中,所述对象由多个独立执行内容页元素中的第一独立执行内容页元素来启动。28.根据权利要求21所述的系统,其中,所述对象构造由在构造所述对象的服务器上执行的代理来检测。29.根据权利要求21所述的系统,其中,所述事务由构造所述对象的第一线程以及由所述对象启动的第二线程来执行。30.根据权利要求29所述的系统,其中,所述一个或更多个模块能够被执行以监视所述第一线程和所述第二线程。
【文档编号】G06F3/00GK106030456SQ201480063050
【公开日】2016年10月12日
【申请日】2014年10月20日
【发明人】巴斯卡尔·松卡拉, 苏拉杰·普瓦达, 马诺伊·阿查里雅, 维奈·斯里尼瓦赛亚
【申请人】动力应用程序公司