CN110908850A - 数据获取方法及装置 - Google Patents
数据获取方法及装置 Download PDFInfo
- Publication number
- CN110908850A CN110908850A CN201811073206.1A CN201811073206A CN110908850A CN 110908850 A CN110908850 A CN 110908850A CN 201811073206 A CN201811073206 A CN 201811073206A CN 110908850 A CN110908850 A CN 110908850A
- Authority
- CN
- China
- Prior art keywords
- call
- thread
- determining
- duration
- data
- 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/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本说明书一个或多个实施例提供一种数据获取方法及装置,该方法可以包括:根据调用被分配的标识,确定所述调用的状态参数和所在的线程;当所述调用的状态参数超出正常取值范围时,对所述调用所在的线程进行监听,得到与所述调用相关的数据。
Description
技术领域
本说明书一个或多个实施例涉及故障诊断技术领域,尤其涉及一种数据获取方法及装置。
背景技术
在应用的运行过程中涉及到各种服务的调用,以实现相关业务。调用可能发生各种异常或故障。例如,当调用的速度较快时,反映为相关业务的处理耗时较短,可以给用户带来更好的使用体验。而当调用的速度较慢时,反映为相关业务的处理耗时较长,会导致用户需要等待较长时间,甚至影响关联业务的实施。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种数据获取方法及装置。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种数据获取方法,包括:
根据调用被分配的标识,确定所述调用的状态参数和所在的线程;
当所述调用的状态参数超出正常取值范围时,对所述调用所在的线程进行监听,得到与所述调用相关的数据。
根据本说明书一个或多个实施例的第二方面,提出了一种故障数据的获取方法,包括:
根据调用被分配的标识,确定所述调用的状态参数和所在的线程;
当所述调用的状态参数超出正常取值范围时,对所述调用所在的线程进行监听,得到与所述调用相关的故障数据。
根据本说明书一个或多个实施例的第三方面,提出了一种数据获取装置,包括:
确定单元,根据调用被分配的标识,确定所述调用的状态参数和所在的线程;
监听单元,当所述调用的状态参数超出正常取值范围时,对所述调用所在的线程进行监听,得到与所述调用相关的数据。
根据本说明书一个或多个实施例的第四方面,提出了一种故障数据的获取装置,包括:
确定单元,根据调用被分配的标识,确定所述调用的状态参数和所在的线程;
监听单元,当所述调用的状态参数超出正常取值范围时,对所述调用所在的线程进行监听,得到与所述调用相关的故障数据。
附图说明
图1是一示例性实施例提供的一种数据获取系统的架构示意图。
图2是一示例性实施例提供的一种数据获取方法的流程图。
图3是一示例性实施例提供的一种获取故障数据的示意图。
图4是一示例性实施例提供的一种针对多个调用进行监听的示意图。
图5是一示例性实施例提供的一种设备的结构示意图。
图6是一示例性实施例提供的一种数据获取装置的框图。
图7是一示例性实施例提供的一种设备的结构示意图。
图8是一示例性实施例提供的一种故障数据的获取装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
在一实施例中,本说明书的数据获取方案可以应用于电子设备中,例如该电子设备可以包括独立主机、主机承载的虚拟机、用户设备(如手机、平板设备、笔记本电脑、PC、掌上电脑(PDAs,Personal Digital Assistants)、可穿戴设备(如智能眼镜、智能手表等)等)或者其他任意类型,本说明书并不对此进行限制。在运行过程中,该电子设备可以对慢调用进行有效监控,以实现本说明书的数据获取方案。
图1是一示例性实施例提供的一种数据获取系统的架构示意图。如图1所示,该系统可以包括服务器11、网络12、手机13、PC14等。
服务器11可以为包含一独立主机的物理服务器,或者该服务器11可以为主机集群承载的虚拟服务器。在运行过程中,服务器11可以运行某一应用的服务器侧的程序,并对该应用在运行过程中的慢调用进行有效监控。
手机13、PC14只是用户可以使用的部分类型的用户设备。实际上,用户显然还可以使用诸如下述类型的用户设备:独立主机、主机承载的虚拟机、平板设备、笔记本电脑、掌上电脑(PDAs,Personal Digital Assistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。在运行过程中,该电子设备可以运行某一应用的客户端侧的程序,使得用户可以管理或查看故障数据的获取情况,与服务器11配合实现本说明书的数据获取方案。
而对于手机13、PC14与服务器11之间进行交互的网络12,可以包括多种类型的有线或无线网络。在一实施例中,该网络12可以包括公共交换电话网络(Public SwitchedTelephone Network,PSTN)和因特网。
图2是一示例性实施例提供的一种数据获取方法的流程图。如图2所示,该方法可以包括以下步骤:
步骤202,根据调用被分配的标识,确定所述调用的状态参数和所在的线程。
在一实施例中,通过为调用分配对应的标识,可以对各个调用进行有效区分,并且对各个调用的状态参数、所在线程等进行准确的记录和追踪,因而可以针对性地识别各个调用是否为慢调用或其他异常调用,而无需对所有线程都进行监控,使得本说明书中所需的性能开销极低,能够在生产系统中常态运行的同时,避免对系统的正常运行造成不良影响,有助于及时发现和解决异常。
在一实施例中,调用的状态参数可以包括以下至少之一:持续时长、调用次数、调用频率等,本说明书并不对此进行限制。
以持续时长为例,可以通过对所述调用进行调用拦截,在所述调用开始时记录所述调用的开始时刻和所在的线程;然后,在所述调用的执行过程中,根据所述开始时刻确定所述调用的持续时长。比如,当调用的开始时刻为T1时,如果该调用在T2时刻结束,那么该调用的持续时长为T=T2-T1。
当然,除了基于调用拦截的方式之外,还可以通过其他任意方式对调用的持续时长和所在的线程进行监控,本说明书并不对此进行限制。
在一实施例中,对于应用产生的每一调用,均可以通过本说明书的技术方案进行监控,并获取相应的数据。
在一实施例中,可以仅针对应用产生的指定类型的调用,通过本说明书的技术方案进行监控,而其他类型的调用则由于不会产生严重故障或其他原因而无需监控。
步骤204,当所述调用的状态参数超出正常取值范围时,对所述调用所在的线程进行监听,得到与所述调用相关的数据。
在一实施例中,调用可能发生故障,因而获取的数据可以为与该调用相关的故障数据;或者,调用可能尚未发生故障,仅存在一些异常情况,因而获取的数据可以为与该调用相关的异常数据。
在一实施例中,假定以持续时长作为状态参数:当调用的持续时长超出时长阈值时,可以认为该调用属于慢调用,即该调用可能存在相关故障,因而可以通过对该调用所在的线程进行监听,以获得相关的故障数据。而对于持续时长未超出时长阈值的其他调用,表明其并不存在故障,因而无需对这些调用所在的线程进行监听;换言之,本说明书中仅需要针对慢调用所在的线程进行监听,因而仅需极少的性能开销,即可实现对故障数据的准确获取。
在一实施例中,可以对每一调用进行轮询,当某一调用的开始时刻至最近一次轮询时刻之间的时间差超出时长阈值时,表明该调用的持续时长必然超出时长阈值,即可判定该调用为慢调用,需要对该调用所处的线程进行监听,以获得相应的数据。
在一实施例中,可以启用针对所述调用的线程监听器,以对所述调用所在的线程进行监听;然后,在所述调用结束时,释放所述线程监听器,避免性能资源的浪费、尽可能地消除或降低对系统正常运行的影响。
在一实施例中,可以通过对所述调用进行调用拦截,在所述调用结束时释放所述线程监听器。当然,还可以通过其他方式实现对线程监听器的释放操作,本说明书并不对此进行限制。
在一实施例中,所述数据包括:在所述调用的执行过程中采集的堆栈快照数据。相应地,可以通过聚合统计所述堆栈快照数据,还原所述调用的本地方法执行路径与耗时,从而能够准确地定位所述调用的故障或异常。当然,除了上述的堆栈快照数据之外,该数据还可以包括其他任意与故障或异常相关的数据,本说明书并不对此进行限制。
下面以某一应用的运行过程为例,详细说明如何通过本说明书的技术方案获取相应的故障数据。相应地,图3是一示例性实施例提供的一种获取故障数据的示意图;如图3所示,应用在运行过程中可以产生很多调用,针对各个调用的处理过程类似,本实施例中以调用i为例进行说明。
在一实施例中,调用i是指调用ID为i的调用,该调用ID为每个调用被分配的唯一标识,用于对不同调用进行有效区分,以便于分别针对各个调用进行跟踪和监听。
例如,通过实施如图3所示的调用拦截1操作,可以在调用i开始时实施相关处理,包括:向该调用分配调用ID为“i”,并记录该调用i的开始时刻Ts、该调用i所在的线程Sj,从而建立起“调用i-开始时刻Ts-线程Sj”的三方映射关系。类似地,对于应用中其他的调用,均可以通过实施调用拦截的方式,向各个调用分配调用ID、建立“调用ID-开始时刻-所在的线程”这一格式的三方映射关系,此处不再一一赘述。
在一实施例中,在调用i的运行过程中,可以对该调用i进行周期性检测(如轮询),以确定该调用i是否尚未结束、该调用i的持续时长是否超出预设的时长阈值t0。其中,通过设定合理的时长阈值t0,可以用于判断调用i是否为慢调用(由于存在故障而导致调用时间过长);例如,当某一时刻Tr对调用i进行周期性检测时,如果该调用i尚未结束且Tr-Ts>t0,那么由于调用i的结束时刻Te必然位于该时刻Tr之后,因而调用i的持续时长T必然满足T=Te-Ts>t0,从而判定该调用i属于慢调用。
上述的用于判断调用是否为慢调用的功能可以称为“慢调用发现器”,该慢调用发现器可以通过类似于上述针对调用i的处理过程,分别对各个调用的状态(是否已结束)和持续时长进行检测,以准确识别出各个调用是否为慢调用,而这正是得益于上文中针对各个调用所分配的调用ID以及相应记录的“调用ID-开始时刻-所在的线程”三方映射关系。
仍以调用i为例,当判定该调用i为慢调用时,可以针对该调用i启用相应的线程监听器,而基于上述的“调用i-开始时刻Ts-线程Sj”三方映射关系可以确定该调用i处于线程Sj,因而该线程监听器可以针对该线程Sj进行监听,得到相应的故障数据,比如该故障数据可以为堆栈快照集,该堆栈快照集包含调用i对应的若干堆栈快照。
类似地,对于其他的慢调用,也可以通过“调用ID-开始时刻-所在的线程”三方映射关系确定出慢调用所在的线程,并启用线程监听器对该线程进行监听,得到相应的堆栈快照集,此处不再赘述。可见,通过准确识别出慢调用,并基于“调用ID-开始时刻-所在的线程”确定出慢调用所在的线程,可以仅针对慢调用所在的线程进行监听,而对于其他正常调用所在的线程则无需实施监听,因而既能够准确获得故障数据(如堆栈快照集),又能够将性能开销控制在极低的水平,不会影响应用的正常运行,并且能够在应用运行的过程中实施常态化的监听操作,以便于及时、准确地发现应用所存在的问题或故障。
假定调用i在时刻Te结束,可以通过实施如图3所示的调用拦截2操作,控制针对该调用i的线程监听器进行资源释放,可以避免对性能资源的无端浪费,使得相关性能资源能够应用于对其他慢调用的监听或应用的正常运行。
图4是一示例性实施例提供的一种针对多个调用进行监听的示意图。如图4所示,对于应用产生的调用1、调用2……调用i等各个调用,均可以分别通过实施如图3所示的实施例,实现本说明书的技术方案。
比如在调用1开始时,通过采用调用拦截可以分配调用ID并记录“调用ID-开始时刻-所在的线程”三方映射关系;然后,从调用1的开始时刻T1起,通过慢调用发现器对该调用1进行不断检测,确定其是否属于慢调用;如果判定调用1属于慢调用,可以通过启动线程监听器1对该调用1所处的线程进行监听,得到相应的堆栈快照集1,直至该调用1在时刻T2结束,可以对线程监听器1进行资源释放。
再比如调用2的开始时刻为T3、结束时刻为T4,通过慢调用发现器对该调用2进行不断检测时,如果直至结束时刻T4为止,任意时刻Tr均不满足Tr-T3>t0,那么可以判定该调用2不属于慢调用,无需通过线程监听器对该调用2所在的线程进行监听,节省了相应的性能资源。
又比如在调用n开始时,通过采用调用拦截可以分配调用ID并记录“调用ID-开始时刻-所在的线程”三方映射关系;然后,从调用n的开始时刻Tm-1起,通过慢调用发现器对该调用n进行不断检测,确定其是否属于慢调用;如果判定调用n属于慢调用,可以通过启动线程监听器j对该调用n所处的线程进行监听,得到相应的堆栈快照集2,直至该调用n在时刻Tm结束,可以对线程监听器j进行资源释放。
在一实施例中,以调用1为例,对于线程监听器1监听得到的堆栈快照集1,可以通过对该堆栈快照集1中的堆栈快照进行聚合统计,对调用1的本地方法执行路径与耗时进行精准还原、复现故障现场,帮助用户快速、准确地定位出故障发生的根本原因。类似地,对于其他慢调用进行监听得到的堆栈快照集,均可以被用于还原出相应慢调用的本地方法执行路径与耗时,以帮助用户快速、准确地定位出故障发生的根本原因。
图5是一示例性实施例提供的一种设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行,在逻辑层面上形成数据获取装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图6,在软件实施方式中,该数据获取装置可以包括:
确定单元61,根据调用被分配的标识,确定所述调用的状态参数和所在的线程;
监听单元62,当所述调用的状态参数超出正常取值范围时,对所述调用所在的线程进行监听,得到与所述调用相关的数据。
可选的,所述状态参数包括以下至少之一:持续时长、调用次数、调用频率。
可选的,所述状态参数包括持续时长;所述确定单元61具体用于:
通过对所述调用进行调用拦截,在所述调用开始时记录所述调用的开始时刻和所在的线程;
在所述调用的执行过程中,根据所述开始时刻确定所述调用的持续时长。
可选的,所述监听单元62具体用于:
启用针对所述调用的线程监听器,以对所述调用所在的线程进行监听;
在所述调用结束时,释放所述线程监听器。
可选的,所述监听单元62通过下述方式释放所述线程监听器:
通过对所述调用进行调用拦截,在所述调用结束时释放所述线程监听器。
可选的,所述故障数据包括:在所述调用的执行过程中采集的堆栈快照数据。
可选的,还包括:
还原单元63,通过聚合统计所述堆栈快照数据,还原所述调用的本地方法执行路径与耗时,以定位所述调用的故障或异常。
图7是一示例性实施例提供的一种设备的示意结构图。请参考图7,在硬件层面,该设备包括处理器702、内部总线704、网络接口706、内存708以及非易失性存储器710,当然还可能包括其他业务所需要的硬件。处理器702从非易失性存储器710中读取对应的计算机程序到内存708中然后运行,在逻辑层面上形成故障数据的获取装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图8,在软件实施方式中,该故障数据的获取装置可以包括:
确定单元81,根据调用被分配的标识,确定所述调用的状态参数和所在的线程;
监听单元82,当所述调用的状态参数超出正常取值范围时,对所述调用所在的线程进行监听,得到与所述调用相关的故障数据。
可选的,所述状态参数包括以下至少之一:持续时长、调用次数、调用频率。
可选的,所述状态参数包括持续时长;所述确定单元81具体用于:
通过对所述调用进行调用拦截,在所述调用开始时记录所述调用的开始时刻和所在的线程;
在所述调用的执行过程中,根据所述开始时刻确定所述调用的持续时长。
可选的,所述监听单元82具体用于:
启用针对所述调用的线程监听器,以对所述调用所在的线程进行监听;
在所述调用结束时,释放所述线程监听器。
可选的,所述监听单元82通过下述方式释放所述线程监听器:
通过对所述调用进行调用拦截,在所述调用结束时释放所述线程监听器。
可选的,所述故障数据包括:在所述调用的执行过程中采集的堆栈快照数据。
可选的,还包括:
还原单元83,通过聚合统计所述堆栈快照数据,还原所述调用的本地方法执行路径与耗时,以定位所述调用的故障。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (16)
1.一种数据获取方法,其特征在于,包括:
根据调用被分配的标识,确定所述调用的状态参数和所在的线程;
当所述调用的状态参数超出正常取值范围时,对所述调用所在的线程进行监听,得到与所述调用相关的数据。
2.根据权利要求1所述的方法,其特征在于,所述状态参数包括以下至少之一:持续时长、调用次数、调用频率。
3.根据权利要求1所述的方法,其特征在于,所述状态参数包括持续时长;所述确定所述调用的持续时长和所在的线程,包括:
通过对所述调用进行调用拦截,在所述调用开始时记录所述调用的开始时刻和所在的线程;
在所述调用的执行过程中,根据所述开始时刻确定所述调用的持续时长。
4.根据权利要求1所述的方法,其特征在于,所述对所述调用所在的线程进行监听,包括:
启用针对所述调用的线程监听器,以对所述调用所在的线程进行监听;
在所述调用结束时,释放所述线程监听器。
5.根据权利要求4所述的方法,其特征在于,所述释放所述线程监听器,包括:
通过对所述调用进行调用拦截,在所述调用结束时释放所述线程监听器。
6.根据权利要求1所述的方法,其特征在于,所述数据包括:在所述调用的执行过程中采集的堆栈快照数据。
7.根据权利要求6所述的方法,其特征在于,还包括:
通过聚合统计所述堆栈快照数据,还原所述调用的本地方法执行路径与耗时,以定位所述调用的故障或异常。
8.一种故障数据的获取方法,其特征在于,包括:
根据调用被分配的标识,确定所述调用的状态参数和所在的线程;
当所述调用的状态参数超出正常取值范围时,对所述调用所在的线程进行监听,得到与所述调用相关的故障数据。
9.一种数据获取装置,其特征在于,包括:
确定单元,根据调用被分配的标识,确定所述调用的状态参数和所在的线程;
监听单元,当所述调用的状态参数超出正常取值范围时,对所述调用所在的线程进行监听,得到与所述调用相关的数据。
10.根据权利要求9所述的装置,其特征在于,所述状态参数包括以下至少之一:持续时长、调用次数、调用频率。
11.根据权利要求9所述的装置,其特征在于,所述状态参数包括持续时长;所述确定单元具体用于:
通过对所述调用进行调用拦截,在所述调用开始时记录所述调用的开始时刻和所在的线程;
在所述调用的执行过程中,根据所述开始时刻确定所述调用的持续时长。
12.根据权利要求9所述的装置,其特征在于,所述监听单元具体用于:
启用针对所述调用的线程监听器,以对所述调用所在的线程进行监听;
在所述调用结束时,释放所述线程监听器。
13.根据权利要求12所述的装置,其特征在于,所述监听单元通过下述方式释放所述线程监听器:
通过对所述调用进行调用拦截,在所述调用结束时释放所述线程监听器。
14.根据权利要求9所述的装置,其特征在于,所述故障数据包括:在所述调用的执行过程中采集的堆栈快照数据。
15.根据权利要求14所述的装置,其特征在于,还包括:
还原单元,通过聚合统计所述堆栈快照数据,还原所述调用的本地方法执行路径与耗时,以定位所述调用的故障或异常。
16.一种故障数据的获取装置,其特征在于,包括:
确定单元,根据调用被分配的标识,确定所述调用的状态参数和所在的线程;
监听单元,当所述调用的状态参数超出正常取值范围时,对所述调用所在的线程进行监听,得到与所述调用相关的故障数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811073206.1A CN110908850A (zh) | 2018-09-14 | 2018-09-14 | 数据获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811073206.1A CN110908850A (zh) | 2018-09-14 | 2018-09-14 | 数据获取方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110908850A true CN110908850A (zh) | 2020-03-24 |
Family
ID=69812235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811073206.1A Pending CN110908850A (zh) | 2018-09-14 | 2018-09-14 | 数据获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110908850A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120174076A1 (en) * | 2011-01-04 | 2012-07-05 | Zoran Rajic | Systems and methods for profiling servers |
US20150309915A1 (en) * | 2014-04-23 | 2015-10-29 | Microsoft Corporation | Call chain interval resource impact aggregation differencing |
CN105493040A (zh) * | 2013-08-30 | 2016-04-13 | 苹果公司 | 在访问动态类型化阵列对象过程中的尺寸依赖类型 |
CN107179975A (zh) * | 2016-03-09 | 2017-09-19 | 北京京东尚科信息技术有限公司 | 监控方法和装置 |
CN107391360A (zh) * | 2016-11-16 | 2017-11-24 | 广州爱九游信息技术有限公司 | 应用程序异常信息处理方法、装置、服务器及用户终端 |
CN107908438A (zh) * | 2017-11-15 | 2018-04-13 | 山东浪潮通软信息科技有限公司 | 一种提高数据交互稳定性的方法及装置 |
CN108052412A (zh) * | 2017-12-28 | 2018-05-18 | 努比亚技术有限公司 | 重启故障定位方法、移动终端及计算机可读存储介质 |
-
2018
- 2018-09-14 CN CN201811073206.1A patent/CN110908850A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120174076A1 (en) * | 2011-01-04 | 2012-07-05 | Zoran Rajic | Systems and methods for profiling servers |
CN105493040A (zh) * | 2013-08-30 | 2016-04-13 | 苹果公司 | 在访问动态类型化阵列对象过程中的尺寸依赖类型 |
US20150309915A1 (en) * | 2014-04-23 | 2015-10-29 | Microsoft Corporation | Call chain interval resource impact aggregation differencing |
CN107179975A (zh) * | 2016-03-09 | 2017-09-19 | 北京京东尚科信息技术有限公司 | 监控方法和装置 |
CN107391360A (zh) * | 2016-11-16 | 2017-11-24 | 广州爱九游信息技术有限公司 | 应用程序异常信息处理方法、装置、服务器及用户终端 |
CN107908438A (zh) * | 2017-11-15 | 2018-04-13 | 山东浪潮通软信息科技有限公司 | 一种提高数据交互稳定性的方法及装置 |
CN108052412A (zh) * | 2017-12-28 | 2018-05-18 | 努比亚技术有限公司 | 重启故障定位方法、移动终端及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106856489B (zh) | 一种分布式存储系统的服务节点切换方法和装置 | |
US10439937B2 (en) | Service addressing in distributed environment | |
EP3399692B1 (en) | Method and apparatus for upgrading distributed storage system | |
CN111258851B (zh) | 一种集群的告警方法、装置、设置及存储介质 | |
CN107040576B (zh) | 信息推送方法及装置、通讯系统 | |
CN109560976B (zh) | 一种消息延迟的监控方法及装置 | |
CN111147313B (zh) | 一种报文异常监控方法、装置、存储介质及电子设备 | |
CN109586989B (zh) | 一种状态检查方法、装置及集群系统 | |
US11930292B2 (en) | Device state monitoring method and apparatus | |
CN111309548A (zh) | 一种超时监控方法、装置及计算机可读存储介质 | |
CN112559565A (zh) | 一种异常检测方法、系统及装置 | |
CN111478792B (zh) | 一种割接信息处理方法、系统及装置 | |
CN114064217A (zh) | 一种基于OpenStack的节点虚拟机迁移方法及装置 | |
CN114691445A (zh) | 集群故障处理方法、装置、电子设备及可读存储介质 | |
CN109284275B (zh) | 一种云平台虚拟机文件系统监控方法和装置 | |
CN109446034B (zh) | 上报崩溃事件的方法、装置、计算机设备及存储介质 | |
CN110018986B (zh) | 异常快照识别方法及装置 | |
CN109558249B (zh) | 一种并发操作的控制方法及装置 | |
CN110908850A (zh) | 数据获取方法及装置 | |
CN115562933A (zh) | 作业监控数据的处理方法及装置、存储介质、电子设备 | |
CN114860432A (zh) | 一种内存故障的信息确定方法及装置 | |
CN111435320B (zh) | 一种数据处理方法及其装置 | |
CN109062642B (zh) | 一种控件消息通知方法及装置 | |
CN109426559B (zh) | 命令下发方法和装置、存储介质、处理器 | |
TWI740885B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40026487 Country of ref document: HK |