CN109922141A - Java应用服务器中活动请求列表的实时获取方法及装置 - Google Patents
Java应用服务器中活动请求列表的实时获取方法及装置 Download PDFInfo
- Publication number
- CN109922141A CN109922141A CN201910128937.XA CN201910128937A CN109922141A CN 109922141 A CN109922141 A CN 109922141A CN 201910128937 A CN201910128937 A CN 201910128937A CN 109922141 A CN109922141 A CN 109922141A
- Authority
- CN
- China
- Prior art keywords
- request
- application server
- java application
- activity
- handled
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供Java应用服务器中活动请求列表的实时获取方法及装置,方法包括:接收用户端发送的活动请求命令,活动请求命令用于获取Java应用服务器的活动请求列表;基于活动请求命令获取正在处理的请求url、正在处理的请求的开始时间、处理时长及线程池中实时处理的堆栈信息;将Java应用服务器的活动请求列表发送给用户端,使用户端对Java应用服务器的活动请求列表进行展示,活动请求列表的信息中包含:获取的正在处理的请求url、正在处理的请求的开始时间、处理时长及线程池中实时处理的堆栈信息。能使用户端实时获取Java应用服务器中包含有正在处理的请求的开始时间、处理时长及线程池中实时处理的堆栈信息的活动请求列表。
Description
技术领域
本发明实施例涉及业务支撑及数据业务技术领域,尤其涉及一种Java应用服务器中活动请求列表的实时获取方法及装置。
背景技术
在众多运行在Java应用服务器的业务***中,经常发生业务请求响应慢的问题。问题一旦发生,定位极为复杂,严重影响生产***的稳定运行。如何快速找到问题的根本原因,成为一项极具富有挑战性的事情。
目前,应用服务器weblogic实现的线程监控功能相对是比较全面的,在weblogic控制台页面可以监控线程信息以及当前线程正在处理的请求信息。
但是,weblogic控制台提供的线程信息,无法查看对应请求是什么时候开始处理的,处理时长,及当前线程处理的实时堆栈信息。而这些信息对应处理故障问题也是十分有用的。
发明内容
针对现有技术存在的问题,本发明实施例提供一种Java应用服务器中活动请求列表的实时获取方法及装置。
本发明实施例提供一种Java应用服务器中活动请求列表的实时获取方法,应用于Java应用服务器上的代理Agent端进程,包括:
接收用户端发送的活动请求命令,所述活动请求命令用于获取Java应用服务器的活动请求列表;
基于所述活动请求命令,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;
将Java应用服务器的活动请求列表发送给用户端,以使所述用户端对Java应用服务器的活动请求列表进行展示,所述活动请求列表的信息中包含:获取的正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
本发明实施例提供一种Java应用服务器中活动请求列表的实时获取方法,应用于用户端,包括:
展示模块每隔预设时间段,向采集模块发送活动请求命令和参数,所述活动请求命令用于获取Java应用服务器的活动请求列表,所述参数指定了Java应用服务器上的代理Agent端进程;
采集模块将所述展示模块发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程;
采集模块接收所述Agent端进程发送的Java应用服务器的活动请求列表,并通过展示模块进行展示,所述活动请求列表的信息中包含:Java应用服务器正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
本发明实施例提供一种Java应用服务器中活动请求列表的实时获取装置,应用于Java应用服务器上的代理Agent端进程,包括:
接收模块,用于接收用户端发送的活动请求命令,所述活动请求命令用于获取Java应用服务器的活动请求列表;
获取模块,用于基于所述活动请求命令,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;
发送模块,用于将Java应用服务器的活动请求列表发送给用户端,以使所述用户端对Java应用服务器的活动请求列表进行展示,所述活动请求列表的信息中包含:获取的正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
本发明实施例提供一种Java应用服务器中活动请求列表的实时获取装置,应用于用户端,包括:
展示模块,用于每隔预设时间段,向采集模块发送活动请求命令和参数,所述活动请求命令用于获取Java应用服务器的活动请求列表,所述参数指定了Java应用服务器上的代理Agent端进程;
采集模块,用于将所述展示模块发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程;接收所述Agent端进程发送的Java应用服务器的活动请求列表,所述活动请求列表的信息中包含:Java应用服务器正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;
展示模块,还用于对所述采集模块接收的Java应用服务器的活动请求列表进行展示。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述方法的步骤。
本发明实施例提供的Java应用服务器中活动请求列表的实时获取方法及装置,通过Java应用服务器上的代理Agent端进程接收用户端发送的活动请求命令,所述活动请求命令用于获取Java应用服务器的活动请求列表,基于所述活动请求命令,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息,将Java应用服务器的活动请求列表发送给用户端,以使所述用户端对Java应用服务器的活动请求列表进行展示,所述活动请求列表的信息中包含:获取的正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息,由此,能够使用户端实时获取Java应用服务器中活动请求列表,且所述活动请求列表中包含有正在处理的请求的开始时间、处理时长以及线程池中实时处理的堆栈信息,对后续定位故障代码十分有用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种Java应用服务器中活动请求列表的实时获取方法的流程示意图;
图2为本发明另一实施例提供的一种Java应用服务器中活动请求列表的实时获取方法的流程示意图;
图3为本发明一实施例提供的一种Java应用服务器中活动请求列表的实时获取装置的结构示意图;
图4为本发明另一实施例提供的一种Java应用服务器中活动请求列表的实时获取装置的结构示意图;
图5为本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明一实施例提供的一种Java应用服务器中活动请求列表的实时获取方法的流程示意图,本实施例所述方法应用于Java应用服务器上的代理Agent端进程,如图1所示,本实施例的Java应用服务器中活动请求列表的实时获取方法,包括:
S1、接收用户端发送的活动请求命令,所述活动请求命令用于获取Java应用服务器的活动请求列表;
S2、基于所述活动请求命令,获取正在处理的请求url(统一资源定位符)、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;
S3、将Java应用服务器的活动请求列表发送给用户端,以使所述用户端对Java应用服务器的活动请求列表进行展示,所述活动请求列表的信息中包含:获取的正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
本发明实施例提供的Java应用服务器中活动请求列表的实时获取方法,应用于Java应用服务器上的代理Agent端进程,通过接收用户端发送的活动请求命令,所述活动请求命令用于获取Java应用服务器的活动请求列表,基于所述活动请求命令,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息,将Java应用服务器的活动请求列表发送给用户端,以使所述用户端对Java应用服务器的活动请求列表进行展示,所述活动请求列表的信息中包含:获取的正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息,由此,能够使用户端实时获取Java应用服务器中活动请求列表,且所述活动请求列表中包含有正在处理的请求的开始时间、处理时长以及线程池中实时处理的堆栈信息等更多有用的请求信息,对后续定位故障代码十分有用。
进一步地,在上述实施例的基础上,所述步骤S2可以包括:
基于所述活动请求命令,通过注入servlet代码的方式,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
具体地,基于所述活动请求命令,通过注入servlet代码的方式,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息,可以包括:
基于所述活动请求命令,采用字节码动态注入技术,注入代码逻辑到servlet类的servcie方法,在进入service方法时记录请求的开始时间,并将当前请求信息及线程信息记录在活动请求列表中,退出service方法时,在活动请求列表中清空本次请求信息,由此计算出所有正在处理的请求中每个请求的开始时间和处理时长,通过线程对象计算出正在处理请求线程的实时堆栈信息。
这样,本实施例可以获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
本发明实施例提供的Java应用服务器中活动请求列表的实时获取方法,应用于Java应用服务器上的代理Agent端进程,能够使用户端实时获取Java应用服务器中活动请求列表,且所述活动请求列表中包含有正在处理的请求的开始时间、处理时长以及线程池中实时处理的堆栈信息等更多有用的请求信息,对后续定位故障代码十分有用。
图2示出了本发明一实施例提供的一种Java应用服务器中活动请求列表的实时获取方法的流程示意图,本实施例所述方法应用于用户端,如图2所示,本实施例的Java应用服务器中活动请求列表的实时获取方法,包括:
P1、展示模块每隔预设时间段,向采集模块发送活动请求命令和参数,所述活动请求命令用于获取Java应用服务器的活动请求列表,所述参数指定了Java应用服务器上的代理Agent端进程。
P2、采集模块将所述展示模块发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程。
P3、采集模块接收所述Agent端进程发送的Java应用服务器的活动请求列表,并通过展示模块进行展示,所述活动请求列表的信息中包含:Java应用服务器正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
本发明实施例提供的Java应用服务器中活动请求列表的实时获取方法,应用于用户端,通过展示模块每隔预设时间段,向采集模块发送活动请求命令和参数,所述活动请求命令用于获取Java应用服务器的活动请求列表,所述参数指定了Java应用服务器上的代理Agent端进程,采集模块将所述展示模块发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程,采集模块接收所述Agent端进程发送的Java应用服务器的活动请求列表,并通过展示模块进行展示,所述活动请求列表的信息中包含:Java应用服务器正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息,由此,用户端能够实时获取Java应用服务器中活动请求列表,且所述活动请求列表中包含有正在处理的请求的开始时间、处理时长以及线程池中实时处理的堆栈信息等更多有用的请求信息,对后续定位故障代码十分有用。
进一步地,在上述实施例的基础上,Agent端进程数量可能成千上万个,所述采集模块可以由多个采集模块节点集群组成,相应地,所述步骤P1可以包括:
展示模块从预先建立的采集模块节点与Java应用服务器上的代理Agent端进程的从属关系表中,检索到Java应用服务器上的代理Agent端进程对应的采集模块节点,每隔预设时间段将活动请求命令和指定了Java应用服务器上的代理Agent端进程的参数发送给检索到的采集模块节点;
相应地,所述步骤P2可以包括:
检索到的采集模块节点将所述展示模块发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程;
相应地,所述步骤P3可以包括:
检索到的采集模块节点接收所述Agent端进程发送的Java应用服务器的活动请求列表,并通过展示模块进行展示,所述活动请求列表的信息中包含:Java应用服务器正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
可以理解的是,展示模块需要实时维护预先建立的采集模块节点与Java应用服务器上的代理Agent端进程的从属关系表。
本发明实施例提供的Java应用服务器中活动请求列表的实时获取方法,应用于用户端,能够实时获取Java应用服务器中活动请求列表,且所述活动请求列表中包含有正在处理的请求的开始时间、处理时长以及线程池中实时处理的堆栈信息等更多有用的请求信息,对后续定位故障代码十分有用。
图3示出了本发明一实施例提供的一种Java应用服务器中活动请求列表的实时获取装置的结构示意图,本实施例所述装置应用于Java应用服务器上的代理Agent端进程,如图3所示,本实施例的Java应用服务器中活动请求列表的实时获取装置,包括:接收模块31、获取模块32和发送模块33;其中:
所述接收模块31,用于接收用户端发送的活动请求命令,所述活动请求命令用于获取Java应用服务器的活动请求列表;
所述获取模块32,用于基于所述活动请求命令,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;
所述发送模块33,用于将Java应用服务器的活动请求列表发送给用户端,以使所述用户端对Java应用服务器的活动请求列表进行展示,所述活动请求列表的信息中包含:获取的正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
具体地,所述接收模块31接收用户端发送的活动请求命令,所述活动请求命令用于获取Java应用服务器的活动请求列表;所述获取模块32基于所述活动请求命令,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;所述发送模块33将Java应用服务器的活动请求列表发送给用户端,以使所述用户端对Java应用服务器的活动请求列表进行展示,所述活动请求列表的信息中包含:获取的正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
本发明实施例提供的Java应用服务器中活动请求列表的实时获取装置,应用于Java应用服务器上的代理Agent端进程,能够使用户端实时获取Java应用服务器中活动请求列表,且所述活动请求列表中包含有正在处理的请求的开始时间、处理时长以及线程池中实时处理的堆栈信息等更多有用的请求信息,对后续定位故障代码十分有用。
进一步地,在上述实施例的基础上,所述获取模块32,可具体用于
基于所述活动请求命令,通过注入servlet代码的方式,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
具体地,所述获取模块32中的基于所述活动请求命令,通过注入servlet代码的方式,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息,可以包括:
基于所述活动请求命令,采用字节码动态注入技术,注入代码逻辑到servlet类的servcie方法,在进入service方法时记录请求的开始时间,并将当前请求信息及线程信息记录在活动请求列表中,退出service方法时,在活动请求列表中清空本次请求信息,由此计算出所有正在处理的请求中每个请求的开始时间和处理时长,通过线程对象计算出正在处理请求线程的实时堆栈信息。
这样,本实施例的获取模块可以获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
本发明实施例提供的Java应用服务器中活动请求列表的实时获取装置,应用于Java应用服务器上的代理Agent端进程,能够使用户端实时获取Java应用服务器中活动请求列表,且所述活动请求列表中包含有正在处理的请求的开始时间、处理时长以及线程池中实时处理的堆栈信息等更多有用的请求信息,对后续定位故障代码十分有用。
本发明实施例提供的Java应用服务器中活动请求列表的实时获取装置,可以用于执行前述图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4示出了本发明一实施例提供的一种Java应用服务器中活动请求列表的实时获取装置的结构示意图,本实施例所述装置应用于用户端,如图4所示,本实施例的Java应用服务器中活动请求列表的实时获取装置,包括:采集模块41和展示模块42;其中:
所述展示模块42,用于每隔预设时间段,向采集模块41发送活动请求命令和参数,所述活动请求命令用于获取Java应用服务器的活动请求列表,所述参数指定了Java应用服务器上的代理Agent端进程;
所述采集模块41,用于将所述展示模块42发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程;接收所述Agent端进程发送的Java应用服务器的活动请求列表,所述活动请求列表的信息中包含:Java应用服务器正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;
所述展示模块42,还用于对所述采集模块42接收的Java应用服务器的活动请求列表进行展示。
具体地,所述展示模块42每隔预设时间段,向采集模块41发送活动请求命令和参数,所述活动请求命令用于获取Java应用服务器的活动请求列表,所述参数指定了Java应用服务器上的代理Agent端进程;所述采集模块41将所述展示模块42发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程,接收所述Agent端进程发送的Java应用服务器的活动请求列表,所述活动请求列表的信息中包含:Java应用服务器正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;所述展示模块42对所述采集模块42接收的Java应用服务器的活动请求列表进行展示。
本发明实施例提供的Java应用服务器中活动请求列表的实时获取装置,应用于用户端,能够实时获取Java应用服务器中活动请求列表,且所述活动请求列表中包含有正在处理的请求的开始时间、处理时长以及线程池中实时处理的堆栈信息等更多有用的请求信息,对后续定位故障代码十分有用。
进一步地,在上述实施例的基础上,Agent端进程数量可能成千上万个,所述采集模块可以由多个采集模块节点集群组成,相应地,所述展示模块42,可具体用于
从预先建立的采集模块节点与Java应用服务器上的代理Agent端进程的从属关系表中,检索到Java应用服务器上的代理Agent端进程对应的采集模块节点,每隔预设时间段将活动请求命令和指定了Java应用服务器上的代理Agent端进程的参数发送给检索到的采集模块节点;
相应地,所述采集模块41,可具体用于
检索到的采集模块节点将所述展示模块42发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程;检索到的采集模块节点接收所述Agent端进程发送的Java应用服务器的活动请求列表,所述活动请求列表的信息中包含:Java应用服务器正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
相应地,所述展示模块42,还可具体用于对检索到的采集模块节点接收的Java应用服务器的活动请求列表进行展示。
可以理解的是,展示模块需要实时维护预先建立的采集模块节点与Java应用服务器上的代理Agent端进程的从属关系表。
本发明实施例提供的Java应用服务器中活动请求列表的实时获取装置,应用于用户端,能够实时获取Java应用服务器中活动请求列表,且所述活动请求列表中包含有正在处理的请求的开始时间、处理时长以及线程池中实时处理的堆栈信息等更多有用的请求信息,对后续定位故障代码十分有用。
本发明实施例提供的Java应用服务器中活动请求列表的实时获取装置,可以用于执行前述图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5示出了本发明一实施例提供的一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括存储器502、处理器501及存储在存储器502上并可在处理器501上运行的计算机程序,所述处理器501执行所述程序时实现上述方法的步骤,例如包括:接收用户端发送的活动请求命令,所述活动请求命令用于获取Java应用服务器的活动请求列表;基于所述活动请求命令,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;将Java应用服务器的活动请求列表发送给用户端,以使所述用户端对Java应用服务器的活动请求列表进行展示,所述活动请求列表的信息中包含:获取的正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;或者,包括:展示模块每隔预设时间段,向采集模块发送活动请求命令和参数,所述活动请求命令用于获取Java应用服务器的活动请求列表,所述参数指定了Java应用服务器上的代理Agent端进程;采集模块将所述展示模块发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程;采集模块接收所述Agent端进程发送的Java应用服务器的活动请求列表,并通过展示模块进行展示,所述活动请求列表的信息中包含:Java应用服务器正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤,例如包括:接收用户端发送的活动请求命令,所述活动请求命令用于获取Java应用服务器的活动请求列表;基于所述活动请求命令,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;将Java应用服务器的活动请求列表发送给用户端,以使所述用户端对Java应用服务器的活动请求列表进行展示,所述活动请求列表的信息中包含:获取的正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;或者,包括:展示模块每隔预设时间段,向采集模块发送活动请求命令和参数,所述活动请求命令用于获取Java应用服务器的活动请求列表,所述参数指定了Java应用服务器上的代理Agent端进程;采集模块将所述展示模块发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程;采集模块接收所述Agent端进程发送的Java应用服务器的活动请求列表,并通过展示模块进行展示,所述活动请求列表的信息中包含:Java应用服务器正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种Java应用服务器中活动请求列表的实时获取方法,应用于Java应用服务器上的代理Agent端进程,其特征在于,包括:
接收用户端发送的活动请求命令,所述活动请求命令用于获取Java应用服务器的活动请求列表;
基于所述活动请求命令,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;
将Java应用服务器的活动请求列表发送给用户端,以使所述用户端对Java应用服务器的活动请求列表进行展示,所述活动请求列表的信息中包含:获取的正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述活动请求命令,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息,包括:
基于所述活动请求命令,通过注入servlet代码的方式,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
3.根据权利要求2所述的方法,其特征在于,所述基于所述活动请求命令,通过注入servlet代码的方式,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息,包括:
基于所述活动请求命令,采用字节码动态注入技术,注入代码逻辑到servlet类的servcie方法,在进入service方法时记录请求的开始时间,并将当前请求信息及线程信息记录在活动请求列表中,退出service方法时,在活动请求列表中清空本次请求信息,由此计算出所有正在处理的请求中每个请求的开始时间和处理时长,通过线程对象计算出正在处理请求线程的实时堆栈信息。
4.一种Java应用服务器中活动请求列表的实时获取方法,应用于用户端,其特征在于,包括:
展示模块每隔预设时间段,向采集模块发送活动请求命令和参数,所述活动请求命令用于获取Java应用服务器的活动请求列表,所述参数指定了Java应用服务器上的代理Agent端进程;
采集模块将所述展示模块发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程;
采集模块接收所述Agent端进程发送的Java应用服务器的活动请求列表,并通过展示模块进行展示,所述活动请求列表的信息中包含:Java应用服务器正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
5.根据权利要求4所述的方法,其特征在于,所述采集模块由多个采集模块节点集群组成,相应地,所述展示模块每隔预设时间段,向采集模块发送活动请求命令和参数,包括:
展示模块从预先建立的采集模块节点与Java应用服务器上的代理Agent端进程的从属关系表中,检索到Java应用服务器上的代理Agent端进程对应的采集模块节点,每隔预设时间段将活动请求命令和指定了Java应用服务器上的代理Agent端进程的参数发送给检索到的采集模块节点;
相应地,所述采集模块将所述展示模块发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程,包括:
检索到的采集模块节点将所述展示模块发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程;
相应地,所述采集模块接收所述Agent端进程发送的Java应用服务器的活动请求列表,并通过展示模块进行展示,包括:
检索到的采集模块节点接收所述Agent端进程发送的Java应用服务器的活动请求列表,并通过展示模块进行展示。
6.一种Java应用服务器中活动请求列表的实时获取装置,应用于Java应用服务器上的代理Agent端进程,其特征在于,包括:
接收模块,用于接收用户端发送的活动请求命令,所述活动请求命令用于获取Java应用服务器的活动请求列表;
获取模块,用于基于所述活动请求命令,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;
发送模块,用于将Java应用服务器的活动请求列表发送给用户端,以使所述用户端对Java应用服务器的活动请求列表进行展示,所述活动请求列表的信息中包含:获取的正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,具体用于基于所述活动请求命令,通过注入servlet代码的方式,获取正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息。
8.一种Java应用服务器中活动请求列表的实时获取装置,应用于用户端,其特征在于,包括:
展示模块,用于每隔预设时间段,向采集模块发送活动请求命令和参数,所述活动请求命令用于获取Java应用服务器的活动请求列表,所述参数指定了Java应用服务器上的代理Agent端进程;
采集模块,用于将所述展示模块发送的活动请求命令转发给所述参数指定的Java应用服务器上的代理Agent端进程;接收所述Agent端进程发送的Java应用服务器的活动请求列表,所述活动请求列表的信息中包含:Java应用服务器正在处理的请求url、正在处理的请求的开始时间、正在处理的请求的处理时长以及线程池中实时处理的堆栈信息;
展示模块,还用于对所述采集模块接收的Java应用服务器的活动请求列表进行展示。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述方法的步骤,或者所述处理器执行所述程序时实现如权利要求4或5所述方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至3任一项所述方法的步骤,或者该计算机程序被处理器执行时实现如权利要求4或5所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910128937.XA CN109922141A (zh) | 2019-02-21 | 2019-02-21 | Java应用服务器中活动请求列表的实时获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910128937.XA CN109922141A (zh) | 2019-02-21 | 2019-02-21 | Java应用服务器中活动请求列表的实时获取方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109922141A true CN109922141A (zh) | 2019-06-21 |
Family
ID=66961977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910128937.XA Pending CN109922141A (zh) | 2019-02-21 | 2019-02-21 | Java应用服务器中活动请求列表的实时获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109922141A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110837455A (zh) * | 2019-11-07 | 2020-02-25 | 北京宝兰德软件股份有限公司 | 一种基于脚本的应用配置信息获取方法及装置 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040075690A1 (en) * | 2002-10-18 | 2004-04-22 | Cirne Lewis K. | User interface for viewing performance information about transactions |
US20060143608A1 (en) * | 2004-12-28 | 2006-06-29 | Jan Dostert | Thread monitoring using shared memory |
US20100031252A1 (en) * | 2008-07-29 | 2010-02-04 | Compuware Corporation | Method And System For Monitoring The Performance Of An Application And At Least One Storage Device For Storing Code Which Performs The Method |
CN101799751A (zh) * | 2009-12-02 | 2010-08-11 | 山东浪潮齐鲁软件产业股份有限公司 | 一种构建主机监控代理软件的方法 |
US20120005658A1 (en) * | 2007-06-05 | 2012-01-05 | Computer Associates Think, Inc. | Programmatic Root Cause Analysis For Application Performance Management |
US20140068068A1 (en) * | 2009-09-10 | 2014-03-06 | AppDynamics, Inc. | Performing call stack sampling |
CN104407910A (zh) * | 2014-10-29 | 2015-03-11 | 华南理工大学 | 一种虚拟化服务器性能的监测方法及*** |
CN104503891A (zh) * | 2014-12-10 | 2015-04-08 | 北京京东尚科信息技术有限公司 | 对jvm线程进行在线监控的方法和装置 |
CN104699759A (zh) * | 2015-02-10 | 2015-06-10 | 上海新炬网络信息技术有限公司 | 一种数据库自动化运行维护方法 |
US20160098341A1 (en) * | 2014-10-06 | 2016-04-07 | Oracle International Corporation | Web application performance testing |
CN106375435A (zh) * | 2016-08-31 | 2017-02-01 | 福建天晴数码有限公司 | Web线程超时监控的方法及其*** |
CN106407088A (zh) * | 2016-09-08 | 2017-02-15 | 努比亚技术有限公司 | 一种对多核cpu进行检测的方法和装置 |
US20170269977A1 (en) * | 2014-10-31 | 2017-09-21 | AppDynamics, Inc. | Business transaction context for call graph |
CN107291586A (zh) * | 2016-04-01 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 一种应用程序的分析方法和装置 |
CN108089978A (zh) * | 2017-11-28 | 2018-05-29 | 华北电力大学(保定) | 一种分析asp.net应用软件性能及故障的诊断方法 |
CN108563526A (zh) * | 2018-03-06 | 2018-09-21 | 北京酷我科技有限公司 | 一种iOS卡顿监控策略 |
CN108733496A (zh) * | 2017-04-24 | 2018-11-02 | 腾讯科技(上海)有限公司 | 事件处理方法和装置 |
-
2019
- 2019-02-21 CN CN201910128937.XA patent/CN109922141A/zh active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040075690A1 (en) * | 2002-10-18 | 2004-04-22 | Cirne Lewis K. | User interface for viewing performance information about transactions |
US20060143608A1 (en) * | 2004-12-28 | 2006-06-29 | Jan Dostert | Thread monitoring using shared memory |
US20120005658A1 (en) * | 2007-06-05 | 2012-01-05 | Computer Associates Think, Inc. | Programmatic Root Cause Analysis For Application Performance Management |
US20100031252A1 (en) * | 2008-07-29 | 2010-02-04 | Compuware Corporation | Method And System For Monitoring The Performance Of An Application And At Least One Storage Device For Storing Code Which Performs The Method |
US20140068068A1 (en) * | 2009-09-10 | 2014-03-06 | AppDynamics, Inc. | Performing call stack sampling |
CN101799751A (zh) * | 2009-12-02 | 2010-08-11 | 山东浪潮齐鲁软件产业股份有限公司 | 一种构建主机监控代理软件的方法 |
US20160098341A1 (en) * | 2014-10-06 | 2016-04-07 | Oracle International Corporation | Web application performance testing |
CN104407910A (zh) * | 2014-10-29 | 2015-03-11 | 华南理工大学 | 一种虚拟化服务器性能的监测方法及*** |
US20170269977A1 (en) * | 2014-10-31 | 2017-09-21 | AppDynamics, Inc. | Business transaction context for call graph |
CN104503891A (zh) * | 2014-12-10 | 2015-04-08 | 北京京东尚科信息技术有限公司 | 对jvm线程进行在线监控的方法和装置 |
CN104699759A (zh) * | 2015-02-10 | 2015-06-10 | 上海新炬网络信息技术有限公司 | 一种数据库自动化运行维护方法 |
CN107291586A (zh) * | 2016-04-01 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 一种应用程序的分析方法和装置 |
CN106375435A (zh) * | 2016-08-31 | 2017-02-01 | 福建天晴数码有限公司 | Web线程超时监控的方法及其*** |
CN106407088A (zh) * | 2016-09-08 | 2017-02-15 | 努比亚技术有限公司 | 一种对多核cpu进行检测的方法和装置 |
CN108733496A (zh) * | 2017-04-24 | 2018-11-02 | 腾讯科技(上海)有限公司 | 事件处理方法和装置 |
CN108089978A (zh) * | 2017-11-28 | 2018-05-29 | 华北电力大学(保定) | 一种分析asp.net应用软件性能及故障的诊断方法 |
CN108563526A (zh) * | 2018-03-06 | 2018-09-21 | 北京酷我科技有限公司 | 一种iOS卡顿监控策略 |
Non-Patent Citations (1)
Title |
---|
朱琦等: "《分布式应用***运维理论与实践》", 31 October 2014, 中国环境科学出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110837455A (zh) * | 2019-11-07 | 2020-02-25 | 北京宝兰德软件股份有限公司 | 一种基于脚本的应用配置信息获取方法及装置 |
CN110837455B (zh) * | 2019-11-07 | 2023-04-14 | 北京宝兰德软件股份有限公司 | 一种基于脚本的应用配置信息获取方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634728B (zh) | 作业调度方法、装置、终端设备及可读存储介质 | |
CN105183299B (zh) | 一种人机界面服务处理***和方法 | |
CN101196912B (zh) | 用于应用程序状态同步的方法和设备 | |
CN102880503B (zh) | 数据分析***及数据分析方法 | |
US7886295B2 (en) | Connection manager, method, system and program product for centrally managing computer applications | |
CN107688496A (zh) | 任务分布式处理方法、装置、存储介质和服务器 | |
CN112559133A (zh) | 一种基于原生容器技术的云边协同***及云边协同方法 | |
CN108388479A (zh) | 延迟消息推送方法、装置、计算机设备及存储介质 | |
CN109656782A (zh) | 可视化调度监控方法、装置及服务器 | |
CN105978721B (zh) | 一种集群***中监控服务运行状态的方法、装置和*** | |
CN113220431B (zh) | 跨云的分布式数据任务调度方法、设备及存储介质 | |
CN111210340A (zh) | 一种自动任务处理方法、装置、服务器及存储介质 | |
CN106357430A (zh) | 一种云计算集群服务状态监控方法和*** | |
CN106484459A (zh) | 应用于JavaScript的流程控制方法和装置 | |
CN109922141A (zh) | Java应用服务器中活动请求列表的实时获取方法及装置 | |
CN107908481A (zh) | 一种数据同步方法、装置和*** | |
CN112131188B (zh) | 批量文件分发处理方法及装置 | |
CN108959657A (zh) | 一种数据变更处理方法及装置 | |
EP3687133B1 (en) | System and method for synchronization of media objects between devices operating in a multiroom system | |
CN109274533B (zh) | 一种基于规则引擎的Web服务故障的定位装置和方法 | |
CN110839061A (zh) | 数据分发方法、装置及存储介质 | |
CN111722914B (zh) | 一种定时任务分发方法、***、计算机设备及存储介质 | |
CN111756778A (zh) | 一种服务器磁盘清理脚本推送的方法、装置和存储介质 | |
CN111290873B (zh) | 故障处理方法和装置 | |
US11294704B2 (en) | Monitoring and reporting performance of online services using a monitoring service native to the online service |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190621 |
|
RJ01 | Rejection of invention patent application after publication |