CN106575222A - Node.js应用的监测 - Google Patents

Node.js应用的监测 Download PDF

Info

Publication number
CN106575222A
CN106575222A CN201480079372.6A CN201480079372A CN106575222A CN 106575222 A CN106575222 A CN 106575222A CN 201480079372 A CN201480079372 A CN 201480079372A CN 106575222 A CN106575222 A CN 106575222A
Authority
CN
China
Prior art keywords
workflow
readjustment
node
workflow functionality
context
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
CN201480079372.6A
Other languages
English (en)
Other versions
CN106575222B (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.)
Cisco Technology Inc
Vihana Inc
Original Assignee
Power Applications Inc
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 Power Applications Inc filed Critical Power Applications Inc
Publication of CN106575222A publication Critical patent/CN106575222A/zh
Application granted granted Critical
Publication of CN106575222B publication Critical patent/CN106575222B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Environmental & Geological Engineering (AREA)

Abstract

一种在node.js应用内创建和监测虚拟线程的系统。在针对node.js系统的事件循环内执行的回调被识别并且可以被追踪。回调与上下文相关联,并且在每个上下文期间与执行流相关联的资源可以被识别。回调注册、回调调用和回调完成消息每个都可以被检测和记录。每个注册、调用和完成消息与虚拟线程或者其他事务标识符相关联。对于每个虚拟线程的定时信息和对于每个上下文的其他资源使用因而可以被识别、针对分布式事务而被拼接在一起并且被报告给用户以提供关于node.js应用处理的更多细节。

Description

Node.js应用的监测
背景技术
万维网已经发展到向用户提供更快速地网络服务。网络服务可以由网络应用提供,网络应用使用一个或更多个服务来处理事务。应用可以在若干机器上被分发,使得提供服务的机器的拓扑更加难以追踪和监测。
在网络上提供商业服务的一个平台是node.js。Node.js是用于可伸缩服务器侧和联网应用的软件平台。Node.js应用是以Javascript编写的,并且可以在运行期间在Windows、Macintosh操作系统和Linux上运行而无需改变它们。Node.js应用利用非阻塞式输入输出接口和异步事件来将吞吐量和效率最大化并且在单线程进程上运行。
与Java不同,node.js可以利用单个线程处理工作流。因此,无法在典型Java应用的级别监测node.js应用,在典型Java应用中处理器可以关联于不同的线程。需要一种用于监测node.js系统的改进的方法。
发明内容
本发明的技术提供了用于在node.js应用内创建和监测虚拟线程的系统。对于node.js系统在事件循环内执行的回调被识别并且可以被追踪的。回调关联于上下文,并且在每个上下文期间关联于执行流的资源可以被识别。回调注册、回调调用和回调完成消息每个都可以被检测和被记录。每个注册、调用和完成消息与虚拟线程或其他事务标识符相关联。因此,针对每个虚拟线程的定时信息和针对每个上下文的其他资源使用可以被识别、针对分布式事务而被拼接在一起并且被报告给用户以提供关于node.js应用处理的更多细节。
一个实施方式可以包括用于监测商业事务的方法。可以在应用服务器上检测工作流功能。可以设置与该工作流功能相关联的上下文。可以监测在该应用服务器上并且与该工作流功能相关联的工作流。可以存储与上下文相关联的性能数据。
一个实施方式可以包括用于监测商业事务的系统。该系统可以包括处理器、存储器和一个或更多个存储在存储器中且由处理器执行的模块。在执行时,一个或更多个模块可以检测在应用服务器上的工作流功能、设置与该工作流功能相关联的上下文、监测在应用服务器上的与工作流功能相关联的工作流并且存储与上下文相关联的性能数据。
附图说明
图1示出了用于监测node.js系统的系统;
图2是执行node.js应用的应用的框图;
图3示出了本发明的技术的时序图;
图4示出了用于监测node.js应用的方法;
图5示出了用于识别应用功能的方法;
图6示出了用于追踪应用功能的方法;
图7提供了用于实现本发明的技术的计算环境的框图。
具体实施方式
提供了一种用于在node.js应用内创建和监测虚拟线程的系统。在node.js系统的事件循环中执行的回调被识别并且可以被追踪。回调与上下文相关联,并且可以识别在每个上下文期间与执行流相关联的资源。回调注册、回调调用和回调完成消息每个都可以被检测并记录。每个注册、调用和完成消息与虚拟线程或其他事务标识符相关联。对于每个虚拟线程的定时信息和对于每个上下文的资源使用因而可以被识别、针对分布式事务而被拼接在一起并其而被报告给用户以提供关于node.js应用处理的更多细节。
图1示出了用于监测node.js应用的系统的框图。图1的系统可以包括:客户端110、移动设备115、网络120、网络服务器125、应用服务器130、140和150、追踪器160、数据库170和客户端设备180。
客户端110可以包括任何如下设备:用户可以通过该设备在网络120上向服务器130–140发起请求。客户端设备110可以包括网络浏览器112并且可以实现为计算设备,例如笔记本电脑、台式机、工作站或者一些其他计算设备。网络浏览器112可以是用于向应用服务器(例如应用服务器130)发送请求和查询并且查看由应用服务器提供的内容的客户端应用。客户端设备110可以包括被配置成访问由网络服务器125提供的网络服务的硬件和/或软件。
移动设备115可以实现为便携式设备,例如移动电话、智能手机、平板电脑或者其他便携式设备。移动设备115可以包括网络浏览器117,其可以包括用于查看由应用服务器(例如应用服务器130)经由网络服务器125在网络120上提供的内容的客户端应用。
网络120可以被用于接收和处理通信,包括在客户端110、移动设备115和网络服务器125之间的请求和响应。在一些实施方式中,网络120还可以存在于图1的其他机器之间,例如在应用服务器130、140和150之间,在应用服务器和数据存储设备170之间,以及在其他机器之间。网络120可以包括用于传送数据的任何公共或私有网络,例如局域网、广域网、互联网、内联网、无线网络、蜂窝网络或这些网络的组合。
网络服务器125可以接收并处理通过网络120从客户端110和移动设备115接收的请求。网络服务器125可以由与应用服务器130相同或不同的机器实现。在一些实施方式中,网络服务器125可以是实际设备或逻辑设备,其处理请求并向应用服务器130转发请求或生成新请求,上述请求要被处理并且被返回至客户端110或移动设备115。
应用服务器130可以与网络服务器125、应用服务器140和150、数据存储设备170通信,以及可以包括一个或更多个应用142。应用服务器140可以在与网络服务器130相同或不同的机器上被实现。
应用服务器130可以包括一个或更多个node.js应用。Node.js应用可以用Javascript编写并在Windows、Apple操作系统(OS)或Linux OS上运行。应用服务器130还可以包括监测组件,其识别以及追踪在node.js平台中作为执行流的一部分而执行的应用功能。关于应用服务器130的更多细节将在下文中关于图2的框图来讨论。
应用服务器140和150可以彼此通信、与应用服务器130、数据存储设备170、网络服务器125和追踪器160通信。应用服务器140和150中的每个可以包括一个或更多个node.js应用和类似于应用服务器130的监测组件。应用服务器130-150可以处理涉及一个或更多个服务器130-150上的node.js应用的分布式商业事务。
追踪器160可以被用于追踪node.js应用的应用功能。追踪器应用160可以从安装在应用服务器130、140和150的应用上的监测组件接收信息。追踪器160可以从应用监测组件接收事件信息和事务标识符、将信息和事务标识符拼接在一起以确定虚拟线程和针对每个虚拟线程(上下文信息)的运行时间数据并将该数据报告给用户。数据可以经由可由客户端设备180查看的基于网络的接口、以若干典型报告方法中的任一种来被报告,包括警告、邮件消息、短信消息(SMS)。
数据存储设备170可以从应用服务器130-150接收请求、处理请求以及向请求服务器发送响应。
图2示出了在应用服务器200内的node.js应用。图2的应用服务器提供了针对图1的应用服务器130-150中的每个的附加细节。应用服务器200包括node.js应用210、拦截器220、追踪器230,拦截器240和事件循环250。在应用服务器200上的node.js应用210可以从外部源接收请求,外部源例如远程计算设备。作为请求的一部分,应用210将可能向事件循环250发送消息以使请求被处理。事件循环250可以处理请求以及可选地向例如数据库170产生附加请求。
拦截器220位于应用210和事件循环250之间以拦截发生在node.js应用210和事件循环250之间的执行流。拦截器220可以拦截执行流,例如回调注册、回调调用以及其他执行流。在拦截执行流的情况下,拦截器220可以查询追踪器230以确定特定执行流消息目前是否与事务ID相关联。例如,如果拦截器220拦截回调注册,则拦截器220可以从追踪器230确定没有事务ID与回调注册相关联、创建事务ID并向追踪器230发送该事务ID。如果回调调用被220拦截,则拦截器220将确认该回调与事务ID相关联并指示追踪器230已经收到与该回调相关联的事务ID的调用。
在拦截来自应用210的执行流后,拦截器220将该执行流转发到事件循环250。事件循环250将基于该执行流的请求发送到外部服务,例如数据库170。一旦该外部请求被应用服务器之外的组件处理,就通过事件循环250从该组件接收响应。
在该回调处理完成的情况下,例如在从数据库170接收消息之后,事件循环250将通知node.js应用210回调已经完成。拦截器240可以拦截从事件循环250发送至node.js应用210的信息。在收到回调完成的通知的情况下,拦截器240通知追踪器230回调完成。在接收该信息的情况下,追踪器230将当前上下文状态改变为不同的状态。例如,在接收回调注册通知的情况下,追踪器230可以设置上下文状态,其中该上下文状态在接收回调调用时被切换。在接收回调调用的情况下,拦截器200通知追踪器230并且追踪器230主动将上下文状态设置为与该回调相关联的特定值。这一上下文状态可以被看作是“虚拟线程”值。该上下文状态随后被切换到下一虚拟线程值、前一虚拟线程值或者在完成回调后切换为零值。
图3示出了利用本发明的技术监测node.js应用的时序图。图3的时序图包括事件循环305和虚拟线程追踪器310。在步骤315中由事件循环接收第一回调注册。如图所示,拦截器可以拦截回调注册以及将拦截器的上下文设置为虚拟线程1。在步骤320中可以接收第二回调注册。这创建了值为2的拦截器上下文虚拟线程。拦截器然后可以在步骤325拦截关联于第一回调的回调调用。这时,第一回调开始执行并且虚拟线程设置为值1。在步骤335中,在第一虚拟线程期间注册第二回调,并且在步骤340中可以拦截关于第一回调完成的消息。在第一回调完成后,在步骤345中可以检测对于第二回调的调用。这时,在步骤355中,设置第二虚拟线程值直到该回调完成。在第二回调完成后。在步骤360设置第一回调中的第二部分,这时虚拟线程被设置为第一虚拟线程值的虚拟状态。在步骤370中,该状态持续直到第一回调完成。
图4是用于监测node.js应用的方法。首先,在步骤410初始化代理。该代理可以包括拦截器、追踪器以及可选地应用服务器内的、用以监测应用服务器内的node.js应用的其他组件。然后,在步骤420中,可以通过代理组件监测应用功能。参照图2,拦截器220和240可以拦截在应用210和事件循环250之间的通信作为监测的一部分。在步骤430识别应用功能。应用功能可以与由该应用初始化并由事件循环处理的回调相关联。功能可以包括回调注册、回调调用以及回调完成。该功能可以包括与商业事务的一部分相关联的工作流功能,即入口点、HTTP请求、相关后台调用,例如MySQL调用。用于识别应用功能的更多细节结合图5的方法讨论。
在步骤440中可以追踪应用功能。在识别了应用功能之后,与该功能的执行相关联的资源被追踪并通过追踪器组件被拼接在一起。关于追踪应用功能的更多细节结合图6的方法讨论。在追踪应用功能之后,在步骤450中可以报告追踪数据。追踪器可以将部分执行上下文连接在一起。追踪器知道作为相同执行上下文的一部分的事务开始和每个事件开始,并且可以通过基于网络的接口包括它们。事务的组件可以就处理每个调用的虚拟线程而被报告。
图5是用于识别应用功能的方法。拦截器在步骤510通过代理拦截执行流。执行流可以包括从应用向事件流发送以及被拦截器拦截的消息。然后在步骤520,确定执行流和被拦截的部分是否与事务标识符相关联。在一些实施方式中,拦截器可以查询追踪器以确定被拦截的回调是否通过该追踪器而与事务标识符相关联。如果在追踪器处没有储存针对特定回调的事务标识符,则在步骤530中,事务标识符通过拦截器被创建并被提供给追踪器。在一些实施方式中,事务标识符响应于来自拦截器的事务ID查询而由拦截器创建并被提供至追踪器。如果没有事务ID关联于作为执行流的一部分而接收的回调,则被拦截的执行流是回调注册。如果被拦截的执行流与事务ID相关联,则在步骤540中确定被拦截的执行流是回调调用并且将该调用注册到追踪器。在接收回调调用的情况下,虚拟线程值可以被设置为与该事务ID相关联的特定状态。
在步骤550,拦截器将回调与事务ID相关联。这时,回调信息被转发到随后执行事务的事件循环。在确定事务完成的情况下,事件循环将这一信息传送至应用。在步骤560,调用完成消息被拦截。在步骤570,拦截器取回事务标识符。回调拦截器可以从javascript上下文取回事务标识符,其中事务ID通过回调注册拦截器来储存,并且回调拦截器使用该事务标识符以传递追踪器并且设置回追踪器,因此使其成为当前虚拟线程ID。
图6是用于追踪应用功能的方法。首先,在步骤610中检测事件。事件可以包括检测作为应用识别过程的一部分而被处理的回调调用。检测事件之后,在步骤620中拦截器向追踪器报告事件信息以及事务标识符。事件信息可以包括http请求、用于数据库的IP地址或MySQL查询。事件信息可以包括数据库和http调用以及文件系统访问请求。在步骤630可以检测事件的完成,并且在步骤640,针对该完成的事件的事件信息和事务标识符被发送到追踪器。
图7是用于实现本发明的技术的计算机系统的框图。图7的系统700可以被实现在客户端110、网络服务器125、应用服务器130、140和150、追踪器160、数据储存设备170和客户端设备180等的上下文中。与图7中的系统相似的系统可以被用于实现能够进行无线通信的移动设备,例如智能手机或平板电脑,但可以包括附加组件,例如天线或无线电,附加麦克风以及通常在例如智能电话或平板电脑的移动设备中发现的其他组件。
图7的计算机系统700包括一个或更多个处理器710和存储器720。主存储器720部分地存储指令和数据以由处理器710执行。主存储器720可以在工作时存储可执行代码。图7的系统700还包括大容量存储设备730、便携式存储介质驱动740、输出装置750、用户输入装置760、图形显示器770以及外围设备780。
图7所示的组件被描绘成经由单个总线790而被连接。然而,该组件可以通过一个或更多个数据传输装置来连接。例如,处理器单元710和主存储器720可以经由本地微处理器总线而被连接,而大容量存储设备730、外围设备780、便携式存储设备740以及显示系统770可以经由一个或更多个输入/输出(I/O)总线而被连接。
可以利用磁盘驱动或光盘驱动来实现的大容量存储设备730是用于存储数据和指令以供处理器单元710使用的非易失性存储设备。大容量存储设备730可以存储用于实现本发明实施方式的系统软件,以将该软件载入主存储器710中。
便携式存储设备740与便携式非易失性存储介质相结合地工作以向和从图7的计算机系统700输入和输出数据和代码,便携式非易失性存储介质例如是软盘、光盘或数字视频光盘。用于实现本发明的实施方式的软件系统可以被存储在这样的便携式介质上并且经由便携式存储设备740而被输入到计算机系统700。
输入装置760提供了用户接口的一部分。输入装置760可以包括诸如键盘这样的字母数字小键盘以输入字母数字和其他信息,或者指点设备,例如鼠标、轨迹球、触控笔或者光标方向键。另外,如图7所示的系统700包括输出装置750。合适的输出装置的示例包括扬声器、打印机、网络接口和监视器。
显示系统770可以包括液晶显示器(LCD)或其他适合的显示设备。显示系统770接收文本和图像信息,并且处理该信息以输出到显示设备。
外围设备780可以包括任何类型的计算机支持设备以向计算机系统添加附加功能。例如,外围设备780可以包括调制解调器或路由器。
包括在图7的计算机系统700中的组件是通常在计算机系统中发现的那些组件,其可能适合于用于本发明的实施方式并意在表示现有技术中公知的一大类这种计算机组件。因此,图7中的计算机系统700可以是个人计算机、手持计算设备、电话、移动计算设备、工作站、服务器、微型计算机、主机计算机或者任何其他计算设备。计算机还可以包括不同的总线配置、联网平台、多处理器平台等。可以使用各种操作系统,包括Unix、Linux、Windows、Macintosh OS、Palm OS以及其他适合的操作系统。
以上出于说明和描述的目的给出了对本发明的技术的详细描述。其不是穷举的或者不意在将本发明的技术局限于所公开的特定形式。可以根据上述教导实现许多修改和变化。所描述的实施方式被选择以最佳地说明本发明的技术的原理及其实际应用,由此使得本领域技术人员能够在各种实施方式中最佳地使用本发明的技术并且对本发明的技术进行各种修改以适合于所设想的特定用途。因此,本发明的技术的范围由所附权利要求来限定。

Claims (27)

1.一种用于监测商业事务的方法,该方法包括:
检测应用服务器上的工作流功能;
设置与所述工作流功能相关联的上下文;
监测所述应用服务器上的与所述工作流功能相关联的工作流;以及
存储与所述上下文相关联的性能数据。
2.根据权利要求1所述的方法,其中,所述工作流功能包括回调注册。
3.根据权利要求2所述的方法,其中,所述工作流功能通过拦截所述回调注册来检测。
4.根据权利要求1所述的方法,其中,所述工作流功能通过node.js应用来执行。
5.根据权利要求1所述的方法,进一步包括创建针对所述工作流功能的事务标识符。
6.根据权利要求1所述的方法,进一步包括向追踪器模块报告事件信息。
7.根据权利要求6所述的方法,其中,所述事件信息在检测到回调调用的情况下被报告。
8.根据权利要求6所述的方法,其中,所述事件信息在检测到回调完成的情况下被报告。
9.根据权利要求1所述的方法,进一步包括:
访问与多个上下文相关联的性能数据;以及
处理所述性能数据以确定处理一个或更多个工作流功能的node.js应用的性能。
10.一种包含程序的非瞬时性计算机可读存储介质,所述程序能通过处理器执行以执行用于监测商业事务的方法,所述方法包括:
检测应用服务器上的工作流功能;
设置与所述工作流功能相关联的上下文;
监测所述应用服务器上的与所述工作流功能相关联的工作流;以及
存储与所述上下文相关联的性能数据。
11.根据权利要求10所述的非瞬时性计算机可读存储介质,其中,所述工作流功能包括回调注册。
12.根据权利要求11所述的非瞬时性计算机可读存储介质,其中,所述工作流功能通过拦截所述回调注册来被检测。
13.根据权利要求10所述的非瞬时性计算机可读存储介质,其中,所述工作流功能由node.js应用来执行。
14.根据权利要求10所述的非瞬时性计算机可读存储介质,进一步包括创建针对所述工作流功能的事务标识符。
15.根据权利要求10所述的非瞬时性计算机可读存储介质,进一步包括向追踪器模块报告事件信息。
16.根据权利要求15所述的非瞬时性计算机可读存储介质,其中,所述事件信息在检测到回调调用的情况下被报告。
17.根据权利要求15所述的非瞬时性计算机可读存储介质,其中,所述事件信息在检测到回调完成的情况下被报告。
18.根据权利要求1所述的非瞬时性计算机可读存储介质,进一步包括:
访问与多个上下文相关联的性能数据;以及
处理所述性能数据以确定处理一个或更多个工作流功能的node.js应用的性能。
19.一种用于监测商业事务的系统,所述系统包括:
应用服务器,包括一个或更多个处理器和存储器;以及
一个或更多个模块,其被存储在存储器中且能够由所述一个或更多个处理器中的至少一个处理器执行以检测所述应用服务器上的工作流功能、设置与所述工作流功能相关联的上下文、监测所述应用服务器上的与所述工作流功能相关联的工作流以及存储与所述上下文相关联的性能数据。
20.根据权利要求19所述的系统,其中,所述工作流功能包括回调注册。
21.根据权利要求20所述的系统,其中,所述工作流功能通过拦截所述回调注册来被检测。
22.根据权利要求19所述的系统,其中,所述工作流功能由node.js应用来执行。
23.根据权利要求19所述的系统,所述一个或更多个模块还能够被执行以创建针对所述工作流功能的事务标识符。
24.根据权利要求19所述的系统,所述一个或更多个模块还能够被执行以向追踪器模块报告事件信息。
25.根据权利要求24所述的系统,其中,所述事件信息在检测到回调调用的情况下被报告。
26.根据权利要求24所述的系统,其中,所述事件信息在检测到回调完成的情况下被报告。
27.根据权利要求19所述的系统,所述一个或更多个模块还能够被执行以:
访问与多个上下文相关联的性能数据;以及
处理所述性能数据以确定处理一个或更多个工作流功能的node.js应用的性能。
CN201480079372.6A 2014-03-30 2014-10-31 Node.js应用的监测 Active CN106575222B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/229,988 2014-03-30
US14/229,988 US10257316B2 (en) 2014-03-30 2014-03-30 Monitoring of node.js applications
PCT/US2014/063574 WO2015152969A1 (en) 2014-03-30 2014-10-31 Monitoring of node.js applications

Publications (2)

Publication Number Publication Date
CN106575222A true CN106575222A (zh) 2017-04-19
CN106575222B CN106575222B (zh) 2021-01-22

Family

ID=54191917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480079372.6A Active CN106575222B (zh) 2014-03-30 2014-10-31 Node.js应用的监测

Country Status (5)

Country Link
US (1) US10257316B2 (zh)
EP (1) EP3126961A4 (zh)
CN (1) CN106575222B (zh)
GB (1) GB2541569B (zh)
WO (1) WO2015152969A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413333A (zh) * 2018-04-28 2019-11-05 网宿科技股份有限公司 基于NodeJS和PowerShell的Windows系统的微服务管理方法和装置
CN112364353A (zh) * 2020-11-03 2021-02-12 深圳开源互联网安全技术有限公司 一种基于nodejs express应用的xss漏洞检测方法及装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838488B2 (en) * 2015-04-30 2017-12-05 Appdynamics Llc Agent asynchronous transaction monitor
US20160323397A1 (en) * 2015-04-30 2016-11-03 AppDynamics Inc. Aysnchronous Custom Exit Points
US10055199B2 (en) * 2016-02-10 2018-08-21 NodeSource, Inc. Transparent node runtime and management layer
CN105791295B (zh) * 2016-03-04 2019-01-11 宁波工程学院 一种基于Node.js的应用服务器
EP3236637B1 (de) * 2016-04-22 2020-12-09 Siemens Aktiengesellschaft Kommunikation über ein weitverkehrsnetz mittels eines applikationsspezifischen protokolls
CN106131138B (zh) * 2016-06-27 2019-06-04 浪潮软件股份有限公司 一种基于非阻塞队列的展示数据实时推送系统和方法
US20200142758A1 (en) * 2018-11-01 2020-05-07 NodeSource, Inc. Utilization And Load Metrics For An Event Loop
US20200218584A1 (en) * 2019-01-03 2020-07-09 International Business Machines Corporation Identifying and demarcating application transactions in an event loop based runtime
US11157387B2 (en) * 2020-01-07 2021-10-26 International Business Machines Corporation Selective tracking of requests through enterprise systems by multiple vendors with a single tracking token scheme
US11797417B2 (en) 2020-09-13 2023-10-24 Oracle International Corporation Smart distributed tracing context injection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060271827A1 (en) * 2005-05-25 2006-11-30 International Business Machines Corporation System and method for vertical integrated performance and environment monitoring
US20070038683A1 (en) * 2005-08-04 2007-02-15 Pentaho Corporation Business intelligence system and methods
CN101825877A (zh) * 2009-11-19 2010-09-08 四维-约翰逊实业股份有限公司 运钞车的安全控制系统及工作流程
US20130036197A1 (en) * 2011-08-05 2013-02-07 Xtreme Labs Inc. Method and system for a mobile local server
CN103383753A (zh) * 2012-12-05 2013-11-06 航天数联信息技术(深圳)有限公司 一种基于物联网的监测装置和监测方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020062237A1 (en) * 2000-08-04 2002-05-23 Scott Matsumoto Transactional monitoring system and method
US8055527B1 (en) 2001-06-08 2011-11-08 Servigistics, Inc. Policy based automation for a supply chain
US7493622B2 (en) * 2003-08-12 2009-02-17 Hewlett-Packard Development Company, L.P. Use of thread-local storage to propagate application context in Java 2 enterprise edition (J2EE) applications
US20050039171A1 (en) 2003-08-12 2005-02-17 Avakian Arra E. Using interceptors and out-of-band data to monitor the performance of Java 2 enterprise edition (J2EE) applications
US7458072B2 (en) * 2004-10-06 2008-11-25 Microsoft Corporation Execution context infrastructure
US7480681B2 (en) * 2004-12-06 2009-01-20 Sap Ag System and method for a transaction manager
US7562138B2 (en) * 2004-12-28 2009-07-14 Sap Shared memory based monitoring for application servers
US7631073B2 (en) 2005-01-27 2009-12-08 International Business Machines Corporation Method and apparatus for exposing monitoring violations to the monitored application
US7640538B2 (en) * 2005-04-05 2009-12-29 International Business Machines Corporation Virtual threads in business process programs
US9632817B2 (en) * 2005-07-29 2017-04-25 International Business Machines Corporation Correlating business workflows with transaction tracking
US8024405B2 (en) * 2006-03-30 2011-09-20 Microsoft Corporation Declarative model for concurrency-control across lightweight threads
US7805510B2 (en) * 2006-05-11 2010-09-28 Computer Associates Think, Inc. Hierarchy for characterizing interactions with an application
US9826197B2 (en) * 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
US9355681B2 (en) * 2007-01-12 2016-05-31 Activevideo Networks, Inc. MPEG objects and systems and methods for using MPEG objects
US20090037240A1 (en) 2007-08-03 2009-02-05 Patrick Schmidt Joint Tracking and Tracing and Business Activity Monitoring
US9021505B2 (en) 2007-12-07 2015-04-28 Ca, Inc. Monitoring multi-platform transactions
US7953850B2 (en) * 2008-10-03 2011-05-31 Computer Associates Think, Inc. Monitoring related content requests
US9167028B1 (en) 2009-09-10 2015-10-20 AppDynamics, Inc. Monitoring distributed web application transactions
US20130091197A1 (en) * 2011-10-11 2013-04-11 Microsoft Corporation Mobile device as a local server
US20130170481A1 (en) * 2011-12-29 2013-07-04 John R. Crawford Load monitoring systems, nodes, and related methods
US10514937B2 (en) * 2012-01-05 2019-12-24 Vmware, Inc. Auto-discovery service and method of discovering applications within a virtual network
US9350802B2 (en) * 2012-06-22 2016-05-24 Annia Systems Inc. System and method for secure, high-speed transfer of very large files

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060271827A1 (en) * 2005-05-25 2006-11-30 International Business Machines Corporation System and method for vertical integrated performance and environment monitoring
US20070038683A1 (en) * 2005-08-04 2007-02-15 Pentaho Corporation Business intelligence system and methods
CN101825877A (zh) * 2009-11-19 2010-09-08 四维-约翰逊实业股份有限公司 运钞车的安全控制系统及工作流程
US20130036197A1 (en) * 2011-08-05 2013-02-07 Xtreme Labs Inc. Method and system for a mobile local server
CN103383753A (zh) * 2012-12-05 2013-11-06 航天数联信息技术(深圳)有限公司 一种基于物联网的监测装置和监测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
网友:TYCHIO: "我的前端开发工作流-自动化篇", 《SGEMENTFAULT思否论坛》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413333A (zh) * 2018-04-28 2019-11-05 网宿科技股份有限公司 基于NodeJS和PowerShell的Windows系统的微服务管理方法和装置
CN110413333B (zh) * 2018-04-28 2022-04-22 网宿科技股份有限公司 基于NodeJS和PowerShell的Windows系统的微服务管理方法和装置
CN112364353A (zh) * 2020-11-03 2021-02-12 深圳开源互联网安全技术有限公司 一种基于nodejs express应用的xss漏洞检测方法及装置

Also Published As

Publication number Publication date
GB2541569B (en) 2021-05-26
GB2541569A (en) 2017-02-22
CN106575222B (zh) 2021-01-22
US20150281035A1 (en) 2015-10-01
WO2015152969A1 (en) 2015-10-08
EP3126961A4 (en) 2017-12-13
EP3126961A1 (en) 2017-02-08
US10257316B2 (en) 2019-04-09
GB201618364D0 (en) 2016-12-14

Similar Documents

Publication Publication Date Title
CN106575222A (zh) Node.js应用的监测
CN109040316B (zh) Http服务处理方法和装置
US8843646B2 (en) Multi-desktop interaction using nested remote desktop sessions
US10298469B2 (en) Automatic asynchronous handoff identification
US20200244695A1 (en) Configurable event-based compute instance security assessments
US9870303B2 (en) Monitoring and correlating a binary process in a distributed business transaction
US9929930B2 (en) Reducing an amount of captured network traffic data to analyze
US11303693B2 (en) Firewall multi-level security dynamic host-based sandbox generation for embedded URL links
US10216601B2 (en) Agent dynamic service
CN104335201B (zh) 用于促进计算系统的动态和受信任的基于云的扩展升级的机构
US20150319221A1 (en) Tracing business transactions based on application frameworks
US20160323160A1 (en) Detection of node.js memory leaks
US10067862B2 (en) Tracking asynchronous entry points for an application
US20170269977A1 (en) Business transaction context for call graph
US10223407B2 (en) Asynchronous processing time metrics
US20160321173A1 (en) Automatic garbage collection thrashing monitoring
CN116861198A (zh) 数据处理方法、装置及存储介质
US9548893B2 (en) Dynamic agent replacement within a cloud network
US20160034326A1 (en) Monitoring a business transaction utilizing php engines
CN107920010B (zh) 一种实现临时会话的方法与系统
CN111782188A (zh) 集成跨平台移动应用开发框架的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Power Applications Ltd.

Address before: California, USA

Applicant before: APPDYNAMICS Inc.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180119

Address after: California, USA

Applicant after: Cisco Technology, Inc.

Address before: California, USA

Applicant before: VIHANA, Inc.

Effective date of registration: 20180119

Address after: California, USA

Applicant after: VIHANA, Inc.

Address before: California, USA

Applicant before: Power Applications Ltd.

GR01 Patent grant
GR01 Patent grant