CN104503912A - 一种服务响应过程的监测方法及装置 - Google Patents

一种服务响应过程的监测方法及装置 Download PDF

Info

Publication number
CN104503912A
CN104503912A CN201410817816.3A CN201410817816A CN104503912A CN 104503912 A CN104503912 A CN 104503912A CN 201410817816 A CN201410817816 A CN 201410817816A CN 104503912 A CN104503912 A CN 104503912A
Authority
CN
China
Prior art keywords
service module
time
request process
time threshold
function
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
CN201410817816.3A
Other languages
English (en)
Other versions
CN104503912B (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.)
ThunderSoft Co Ltd
Original Assignee
ThunderSoft Co Ltd
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 ThunderSoft Co Ltd filed Critical ThunderSoft Co Ltd
Priority to CN201410817816.3A priority Critical patent/CN104503912B/zh
Publication of CN104503912A publication Critical patent/CN104503912A/zh
Application granted granted Critical
Publication of CN104503912B publication Critical patent/CN104503912B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请提供了一种服务响应过程的监测方法及装置,可以将其看作是定时器,该定时器持续记录服务模块处理请求进程所用的时长,由于服务处理模块在处理请求进程时会生成函数调用数据,并且函数调用数据按照生成顺序依次存储在内存栈中,若时长达到第一时间阈值但服务模块仍未处理完毕所述请求进程,则认为该服务模块被阻塞,进而输出内存栈中的函数调用数据,以供相关人员分析阻塞问题所在,若时长达到第二时间阈值但阻塞情况仍未消除,则将函数调用数据进行保存,并触发服务模块重启,从而相关人员可以在服务模块重启后,仍能获取到保存的函数调用数据进行后续分析。

Description

一种服务响应过程的监测方法及装置
技术领域
本申请涉及服务监测技术领域,尤其是对服务长时间无响应状况的监测方法及装置。
背景技术
终端设备如手机、PAD等,必须安装有操作系统才能正常运行。操作系统可以为各种应用软件、驱动程序等提供基础的服务。在终端设备发布前,常常需要进行系统功能的测试,若系统提供服务的过程即服务响应过程出现问题,需要对提供服务的模块进行调试,以找到原因所在并进行修改。
服务响应过程中,常常出现的是服务阻塞情况,即系统服务长时间不响应接收到的请求。因此,亟需一种服务响应过程的监测方法,以监测服务的响应过程,从而帮助开发者找到阻塞原因。
发明内容
有鉴于此,本发明提供了一种服务响应过程的监测方法及装置,用以实现对服务响应过程的监测。为实现所述目的,本发明提供的技术方案如下:
一种服务响应过程的监测方法,包括:
当服务模块接收到请求进程时,获取第一时间阈值及第二时间阈值;所述第二时间阈值大于所述第一时间阈值;
以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程所用的时间长度;
当所述时间长度达到所述第一时间阈值且所述服务模块未处理完毕所述请求进程时,输出内存栈中的函数调用数据;其中,所述服务模块处理所述请求进程时生成函数调用数据,且所述函数调用数据按照生成顺序依次存储在所述内存栈中;
当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,将所述函数调用数据保存至存储设备,并触发所述服务模块重启。
上述的服务响应过程的监测方法,优选地,还包括:
以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程时的函数传入参数以及函数调用顺序。
上述的服务响应过程的监测方法,优选地,在当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,且触发所述服务模块重启之前还包括:
将记录的所述函数传入参数及所述函数调用顺序保存至所述存储设备。
上述的服务响应过程的监测方法,优选地,在所述当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,且触发所述服务模块重启之前还包括:
获取所述请求进程的上下文信息,并将所述上下文信息保存至所述存储设备。
上述的服务响应过程的监测方法,优选地,在所述以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程所用的时间长度的同时,还包括:
当所述服务模块处理完毕所述请求进程且所述服务模块未重启时,停止所述时间长度的持续记录,并将停止时的时间长度确定为本次响应时长;
当存储有平均响应时长时,获取所述平均响应时长,将所述平均响应时长与所述本次响应时长的平均值作为平均响应时长进行存储;
当未存储有平均响应时长时,将所述本次响应时长作为平均响应时长进行存储。
上述的服务响应过程的监测方法,优选地,所述获取第一时间阈值包括:
当存储有平均响应时长时,获取所述平均响应时长作为第一时间阈值;
当未存储有平均响应时长时,获取预设时间阈值作为第一时间阈值。
本申请还提供了一种服务响应过程的监测装置,包括:
时间阈值获取模块,用于当服务模块接收到请求进程时,获取第一时间阈值及第二时间阈值;所述第二时间阈值大于所述第一时间阈值;
处理时长记录模块,用于以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程所用的时间长度;
函数调用数据输出模块,用于当所述时间长度达到所述第一时间阈值且所述服务模块未处理完毕所述请求进程时,输出内存栈中的函数调用数据;其中,所述服务模块处理所述请求进程时生成函数调用数据,且所述函数调用数据按照生成顺序依次存储在所述内存栈中;
函数调用数据保存模块,用于当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,将所述函数调用数据保存至存储设备,并触发所述服务模块重启。
上述的服务响应过程的监测装置,优选地,还包括:
函数参数及顺序记录模块,用于以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程时的函数传入参数以及函数调用顺序。
上述的服务响应过程的监测装置,优选地,还包括:
函数参数及顺序保存模块,用于在当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,且触发所述服务模块重启之前,将记录的所述函数传入参数及所述函数调用顺序保存至所述存储设备。
上述的服务响应过程的监测装置,优选地,还包括:
上下文信息保存模块,用于在所述当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,且触发所述服务模块重启之前,获取所述请求进程的上下文信息,并将所述上下文信息保存至所述存储设备。
综合上述的技术方案来看,可以将本发明实施例提供的监测方法及装置看作是定时器进程,该定时器进程持续记录服务模块处理请求进程所用的时长,由于服务处理模块在处理请求进程时会生成函数调用数据,并且函数调用数据按照生成顺序依次存储在内存栈中,若时长达到第一时间阈值但服务模块仍未处理完毕所述请求进程,则认为该服务模块被阻塞,进而输出内存栈中的函数调用数据,以供相关人员分析阻塞问题所在,若时长达到第二时间阈值但阻塞情况仍未消除,则将函数调用数据进行保存,并触发服务模块重启,从而相关人员可以在服务模块重启后,仍能获取到保存的函数调用数据进行后续分析。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的服务响应过程的监测方法的流程图;
图2为本发明另一实施例提供的服务响应过程的监测方法的流程图;
图3为本发明又一实施例提供的服务响应过程的监测方法的流程图;
图4为本发明实施例提供的服务响应过程的监测装置的结构示意图;
图5为本发明另一实施例提供的服务响应过程的监测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,其示出了本发明实施例提供的服务响应过程的监测方法的流程,具体包括以下步骤:
步骤S101:当服务模块接收到请求进程时,获取第一时间阈值及第二时间阈值;所述第二时间阈值大于所述第一时间阈值。
其中,使用第一时间阈值及第二时间阈值监测服务模块处理请求进程的时长。需要说明的是,第二时间阈值大于第一时间阈值,可选地,第二时间阈值是第一时间阈值的整数倍,如两倍或三倍。
步骤S102:以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程所用的时间长度。
其中,服务模块接收到请求进程后开始处理该请求进程,同时,开始记录服务模块处理该请求进程所用的时间长度。服务模块处理请求进程为现有技术,且与请求进程请求的内容相对应。例如,请求进程为请求屏幕点亮的进程,则服务模块处理的是将屏幕点亮,又如请求进程为请求调高音量的进程,则服务模块处理的是将音量调高。
需要说明的是,本步骤是持续进行的,直至所述服务模块处理完毕所述请求进程或者所述服务模块重启。但在持续记录的过程中,如果出现某些情况,需要同时执行下述步骤S103或步骤S104。即,若记录的时间长度达到了第一时间阈值但服务模块并未处理完毕请求进程时,则执行步骤S103中的输出内存栈中的函数调用关系;若记录的时间长度达到了第二时间阈值但服务模块并未处理完毕请求进程时,则执行步骤S104中的将所述函数调用关系保存至存储设备,并触发所述服务模块重启。
步骤S103:当所述时间长度达到所述第一时间阈值且所述服务模块未处理完毕所述请求进程时,输出内存栈中的函数调用数据;其中,所述服务模块处理所述请求进程时生成函数调用数据,且所述函数调用数据按照生成顺序依次存储在所述内存栈中。
我们可以知道的是,服务模块处理该请求进程时,需要调用并执行预先设置的多个函数,且在调用并执行函数时会生成函数调用数据。函数调用数据可以包括函数调用的开始标识及函数执行的结束标识。其中,函数调用的开始标识是在函数开始被调用时生成的,表明开始执行该函数;函数执行的结束标识是在函数被成功执行完毕时生成的,表明成功执行了调用的函数。
例如,服务模块需要调用并执行函数a,在调用函数a时,在内存栈中存储函数a的开始标识,在成功执行完函数a时,在内存栈中存储函数a的结束标识。
需要说明的是,各个函数之间具有预先设置的执行顺序,因此,函数调用数据是依次生成的,可以反映服务模块处理请求进程的实时流程。并且,函数调用数据按照生成顺序被存储在内存栈中。若记录的时间长度达到第一时间阈值但服务模块仍未处理完毕该请求进程时,则将内存栈中存储的函数调用数据输出,供相关人员进行数据分析,以确定服务模块长时间无响应的问题所在。
例如,服务模块需要调用并执行函数a、函数b及函数c,具体地,首先调用函数a,在执行函数a的过程中,需要调用函数b,成功执行函数b且结束执行函数a后,调用并执行函数c,若输出的函数调用数据为函数a的开始标识及函数b的开始标识。由于未包含函数b的结束标识,则可以确定服务模块在调用函数b时出现问题。
步骤S104:当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,将所述函数调用数据保存至存储设备,并触发所述服务模块重启。
若持续记录的时间长度超过了第一时间阈值并且达到了第二时间阈值,但服务模块仍未处理完毕请求进程,需要触发服务模块重启。由于内存栈中的数据在重启后丢失,因此,在触发服务模块重启前,需要将函数调用数据保存至存储设备中,需要说明的是,该存储设备为非易失性存储设备,以保证存储的数据在重启后不丢失,这样,可以在重启后仍能获取到函数调用数据,以进行后续分析。
综合上述的技术方案来看,可以将本发明实施例提供的监测方法看作是定时器进程,该定时器进程持续记录服务模块处理请求进程所用的时长,由于服务处理模块在处理请求进程时会生成函数调用数据,并且函数调用数据按照生成顺序依次存储在内存栈中,若时长达到第一时间阈值但服务模块仍未处理完毕所述请求进程,则认为该服务模块被阻塞,进而输出内存栈中的函数调用数据,以供相关人员分析阻塞问题所在,若时长达到第二时间阈值但阻塞情况仍未消除,则将函数调用数据进行保存,并触发服务模块重启,从而相关人员可以在服务模块重启后,仍能获取到保存的函数调用数据进行后续分析。
服务模块处理请求进程时,可以是分为多线程同时处理,每个线程生成的函数调用数据均会保存在内存栈中。上述的实施例中,输出内存栈中的函数调用数据,可以是将每个线程的函数调用数据均输出。进一步地,还可以将每个线程的函数调用数据均保存。原因是,线程之间可能存在执行顺序,即线程1需要等待线程2执行完毕才能执行,若线程1出现阻塞情况,可能是由线程2导致的,即线程2并未成功执行,则线程1会出现阻塞。因此,输出每个线程的函数调用数据可以帮助开发者进行阻塞原因的分析。
需要说明的是,为了向相关人员提供更多的阻塞情况分析数据,除了上述实施例中的将内存栈中记录的数据保存外,还可以保存函数传入参数及函数的调用顺序。如图2所示,包括:
步骤S202:以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程时的函数传入参数以及函数调用顺序,并持续记录所述服务模块处理所述请求进程时的函数传入参数以及函数调用顺序。
也就是说,在内存栈记录函数调用数据的同时,还可以记录函数传入参数及函数调用顺序。其中:
服务模块在处理请求进程时,可以调用函数,调用函数时需要传入参数,该参数即函数传入参数。通过函数传入参数可知是否传入错误的函数参数。例如,需要传入的函数参数为1,实际传入的函数参数为0。
服务模块在处理请求进程时,可能需要多次重复多个函数的调用,生成的函数调用顺序可以反映调用的是哪个函数且是以怎样的顺序调用,进而通过函数调用顺序,可知函数调用是否错误。
例如,记录的函数调用顺序为abc、abb、abc、abc,可知正确的函数调用顺序应该为abc,则两次重复调用b的函数调用错误。
步骤S204:当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,将所述函数调用数据、所述函数传入参数及所述函数调用顺序保存至所述存储设备,并触发所述服务模块重启。
需要说明,图2中的步骤S201可以参见上述步骤S101,步骤S203可参照上述步骤S103,此处并不做赘述。
同理,将记录的内容保存至存储设备中,以为了在重启后可以进行进一步的问题分析。需要说明的是,本实施例中存储的数据更丰富,从而更利于相关人员分析出阻塞原因。
当然,进一步地,在存储函数调用数据、函数传入参数及函数调用顺序的任意一种或者多种的基础上,还可以存储请求进程的上下文信息。如图3所示,步骤S304:当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,获取所述请求进程的上下文信息,并将所述函数调用数据、所述函数传入参数、所述函数调用顺序及所述上下文信息保存至所述存储设备,并触发所述服务模块重启。
其中,服务模块在处理请求进程的过程中,可以生成请求进程的上下文信息。上下文信息可以包括请求进程的入栈信息、初始化信息、变量信息、类信息及结构体等,这些信息可以为相关人员提供更详细的分析内容。
需要说明,图3中的步骤S301至步骤S303可以参见上述步骤S201至步骤S203,此处并不做赘述。
另外,持续记录所述服务模块处理所述请求进程所用的时间长度的同时,需要同时判断服务模块是否处理完毕请求进程。若当所述服务模块处理完毕所述请求进程且所述服务模块未重启时,停止所述时间长度的持续记录,并将停止时的时间长度确定为本次响应时长;当存储有平均响应时长时,获取所述平均响应时长,将所述平均响应时长与所述本次响应时长的平均值作为平均响应时长进行存储;当未存储有平均响应时长时,将所述本次响应时长作为平均响应时长进行存储。
具体来讲,服务模块处理完毕请求进程时但服务模块未重启,说明虽然耗时较长,但服务模块能成功处理请求进程。此时,停止时间的持续记录,并将停止时的时间长度确定为服务模块本次处理请求进程时用的本次响应时长。
然后,判断是否存储有平均响应时长,若未存储有,说明服务模块首次接收到该请求进程,即是首次处理该请求进程,进而直接将本次响应时长作为平均响应时长进行存储,若存储有平均响应时长,所述服务模块以前接收到过该请求进程,则获取存储的平均响应时长,并求解存储的该平均响应时长与本次响应时长的平均值,将平均值作为新的平均响应时长进行存储。
可见,平均响应时长用来反映服务模块处理同一类型的请求进程所用的平均时长,该数据具有一定的实际参考价值,因而可以用来作为服务模块处理下一次请求进程时的参考数据,即将其作为第一时间阈值。
也就是说,上述步骤S101中获取第一时间阈值的具体实现方式可以是:
当存储有平均响应时长时,获取所述平均响应时长作为第一时间阈值;当未存储有平均响应时长时,获取预设时间阈值作为第一时间阈值。
当然,在未存储该平均响应时长时,可以获取预先设置的时间阈值,将该时间阈值作为第一时间阈值。
下面对本发明实施例提供的服务响应过程的监测装置进行介绍,需要说明的是,有关服务响应过程的监测装置的说明可参照上文提供的服务响应过程的监测方法,以下并不做赘述。
参照图4,其示出了本发明实施例提供的服务响应过程的监测装置的结构,具体包括:时间阈值获取模块100、处理时长记录模块200、函数调用数据输出模块300及函数调用数据保存模块400。其中:
时间阈值获取模块100,用于当服务模块接收到请求进程时,获取第一时间阈值及第二时间阈值;所述第二时间阈值大于所述第一时间阈值;
处理时长记录模块200,用于以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程所用的时间长度;
函数调用数据输出模块300,用于当所述时间长度达到所述第一时间阈值且所述服务模块未处理完毕所述请求进程时,输出内存栈中的函数调用数据;其中,所述服务模块处理所述请求进程时生成函数调用数据,且所述函数调用数据按照生成顺序依次存储在所述内存栈中;
函数调用数据保存模块400,用于当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,将所述函数调用数据保存至存储设备,并触发所述服务模块重启。
由以上的技术方案可知,时间阈值获取模块100可以获取到第一时间阈值及第二时间阈值,处理时长记录模块200记录服务模块的处理时间,当处理时间达到第一时间阈值且处理未结束时,函数调用数据输出模块300输出内存栈中的函数调用数据,当处理时间达到第二时间阈值且处理未结束时,函数调用数据保存模块400存储该函数调用数据,并触发服务模块重启。
可选地,如图5所示,在上述实施例的基础上,还可以包括:函数参数及顺序记录模块500、函数参数及顺序存储模块600及上下文信息存储模块700。
函数参数及顺序记录模块500,用于以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程时的函数传入参数以及函数调用顺序。
函数参数及顺序保存模块600,用于在当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,且触发所述服务模块重启之前,将记录的所述函数传入参数及所述函数调用顺序保存至所述存储设备。
上下文信息保存模块700,用于在所述当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,且触发所述服务模块重启之前,获取所述请求进程的上下文信息,并将所述上下文信息保存至所述存储设备。
可选地,在上述各个实施例的基础上,还包括:响应时长统计模块,用于当所述服务模块处理完毕所述请求进程且所述服务模块未重启时,停止所述时间长度的持续记录,并将停止时的时间长度确定为本次响应时长;当存储有平均响应时长时,获取所述平均响应时长,将所述平均响应时长与所述本次响应时长的平均值作为平均响应时长进行存储;当未存储有平均响应时长时,将所述本次响应时长作为平均响应时长进行存储。
可选地,所述时间阈值获取模块获取第一时间阈值的方式是:
当存储有平均响应时长时,获取所述平均响应时长作为第一时间阈值;当未存储有平均响应时长时,获取预设时间阈值作为第一时间阈值。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种服务响应过程的监测方法,其特征在于,包括:
当服务模块接收到请求进程时,获取第一时间阈值及第二时间阈值;所述第二时间阈值大于所述第一时间阈值;
以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程所用的时间长度;
当所述时间长度达到所述第一时间阈值且所述服务模块未处理完毕所述请求进程时,输出内存栈中的函数调用数据;其中,所述服务模块处理所述请求进程时生成函数调用数据,且所述函数调用数据按照生成顺序依次存储在所述内存栈中;
当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,将所述函数调用数据保存至存储设备,并触发所述服务模块重启。
2.根据权利要求1所述的服务响应过程的监测方法,其特征在于,还包括:
以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程时的函数传入参数以及函数调用顺序。
3.根据权利要求2所述的服务响应过程的监测方法,其特征在于,在当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,且触发所述服务模块重启之前还包括:
将记录的所述函数传入参数及所述函数调用顺序保存至所述存储设备。
4.根据权利要求1或3所述的服务响应过程的监测方法,其特征在于,在所述当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,且触发所述服务模块重启之前还包括:
获取所述请求进程的上下文信息,并将所述上下文信息保存至所述存储设备。
5.根据权利要求1所述的服务响应过程的监测方法,其特征在于,在所述以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程所用的时间长度的同时,还包括:
当所述服务模块处理完毕所述请求进程且所述服务模块未重启时,停止所述时间长度的持续记录,并将停止时的时间长度确定为本次响应时长;
当存储有平均响应时长时,获取所述平均响应时长,将所述平均响应时长与所述本次响应时长的平均值作为平均响应时长进行存储;
当未存储有平均响应时长时,将所述本次响应时长作为平均响应时长进行存储。
6.根据权利要求5所述的服务响应过程的监测方法,其特征在于,所述获取第一时间阈值包括:
当存储有平均响应时长时,获取所述平均响应时长作为第一时间阈值;
当未存储有平均响应时长时,获取预设时间阈值作为第一时间阈值。
7.一种服务响应过程的监测装置,其特征在于,包括:
时间阈值获取模块,用于当服务模块接收到请求进程时,获取第一时间阈值及第二时间阈值;所述第二时间阈值大于所述第一时间阈值;
处理时长记录模块,用于以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程所用的时间长度;
函数调用数据输出模块,用于当所述时间长度达到所述第一时间阈值且所述服务模块未处理完毕所述请求进程时,输出内存栈中的函数调用数据;其中,所述服务模块处理所述请求进程时生成函数调用数据,且所述函数调用数据按照生成顺序依次存储在所述内存栈中;
函数调用数据保存模块,用于当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,将所述函数调用数据保存至存储设备,并触发所述服务模块重启。
8.根据权利要求7所述的服务响应过程的监测装置,其特征在于,还包括:
函数参数及顺序记录模块,用于以所述服务模块接收到所述请求进程的时间点为起点,持续记录所述服务模块处理所述请求进程时的函数传入参数以及函数调用顺序。
9.根据权利要求8所述的服务响应过程的监测装置,其特征在于,还包括:
函数参数及顺序保存模块,用于在当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,且触发所述服务模块重启之前,将记录的所述函数传入参数及所述函数调用顺序保存至所述存储设备。
10.根据权利要求7或9所述的服务响应过程的监测装置,其特征在于,还包括:
上下文信息保存模块,用于在所述当所述时间长度达到所述第二时间阈值且所述服务模块未处理完毕所述请求进程时,且触发所述服务模块重启之前,获取所述请求进程的上下文信息,并将所述上下文信息保存至所述存储设备。
CN201410817816.3A 2014-12-24 2014-12-24 一种服务响应过程的监测方法及装置 Active CN104503912B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410817816.3A CN104503912B (zh) 2014-12-24 2014-12-24 一种服务响应过程的监测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410817816.3A CN104503912B (zh) 2014-12-24 2014-12-24 一种服务响应过程的监测方法及装置

Publications (2)

Publication Number Publication Date
CN104503912A true CN104503912A (zh) 2015-04-08
CN104503912B CN104503912B (zh) 2017-07-11

Family

ID=52945311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410817816.3A Active CN104503912B (zh) 2014-12-24 2014-12-24 一种服务响应过程的监测方法及装置

Country Status (1)

Country Link
CN (1) CN104503912B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389202A (zh) * 2015-11-25 2016-03-09 福建天晴数码有限公司 处理应用程序响应的方法及系统
CN106095566A (zh) * 2016-05-31 2016-11-09 广东欧珀移动通信有限公司 一种响应控制方法及移动终端
CN106598817A (zh) * 2017-01-09 2017-04-26 中交航局安装工程有限公司 一种煤堆三维建模数据采集服务端自修复的方法
CN106610881A (zh) * 2015-10-22 2017-05-03 阿里巴巴集团控股有限公司 提取程序无响应发生时函数栈的提取方法和装置
CN107678782A (zh) * 2017-09-14 2018-02-09 平安科技(深圳)有限公司 一种进程保护方法、装置、设备以及计算机可读存储介质
CN107678945A (zh) * 2017-09-04 2018-02-09 清华大学 一种网页应用阻塞的判断方法及装置
CN107861826A (zh) * 2017-10-31 2018-03-30 努比亚技术有限公司 冻屏监测与解决方法、移动终端及计算机可读存储介质
CN109271298A (zh) * 2018-11-19 2019-01-25 武汉达梦数据库有限公司 一种数据库无响应故障的检测方法
CN109766068A (zh) * 2019-01-10 2019-05-17 厦门理工学院 一种终端屏幕锁定的检测方法及装置
CN111061410A (zh) * 2018-10-16 2020-04-24 华为技术有限公司 一种冻屏处理方法及终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064483A1 (en) * 2004-09-23 2006-03-23 Patel Rikin S System and method for service response monitoring
CN1904852A (zh) * 2006-08-01 2007-01-31 西安西电捷通无线网络通信有限公司 一种计算机应用程序的监控及异常处理方法
CN101876938A (zh) * 2009-11-11 2010-11-03 北京神州泰岳软件股份有限公司 一种基于消息队列的应用软件响应时间测量方法
CN102117240A (zh) * 2009-12-31 2011-07-06 腾讯科技(深圳)有限公司 一种获取进程阻塞信息的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064483A1 (en) * 2004-09-23 2006-03-23 Patel Rikin S System and method for service response monitoring
CN1904852A (zh) * 2006-08-01 2007-01-31 西安西电捷通无线网络通信有限公司 一种计算机应用程序的监控及异常处理方法
CN101876938A (zh) * 2009-11-11 2010-11-03 北京神州泰岳软件股份有限公司 一种基于消息队列的应用软件响应时间测量方法
CN102117240A (zh) * 2009-12-31 2011-07-06 腾讯科技(深圳)有限公司 一种获取进程阻塞信息的方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106610881A (zh) * 2015-10-22 2017-05-03 阿里巴巴集团控股有限公司 提取程序无响应发生时函数栈的提取方法和装置
CN106610881B (zh) * 2015-10-22 2019-05-07 阿里巴巴集团控股有限公司 提取程序无响应发生时函数栈的提取方法和装置
CN105389202A (zh) * 2015-11-25 2016-03-09 福建天晴数码有限公司 处理应用程序响应的方法及系统
CN106095566A (zh) * 2016-05-31 2016-11-09 广东欧珀移动通信有限公司 一种响应控制方法及移动终端
CN106598817A (zh) * 2017-01-09 2017-04-26 中交航局安装工程有限公司 一种煤堆三维建模数据采集服务端自修复的方法
CN107678945A (zh) * 2017-09-04 2018-02-09 清华大学 一种网页应用阻塞的判断方法及装置
CN107678945B (zh) * 2017-09-04 2020-04-21 清华大学 一种网页应用阻塞的判断方法及装置
CN107678782B (zh) * 2017-09-14 2020-03-17 平安科技(深圳)有限公司 一种进程保护方法、装置、设备以及计算机可读存储介质
CN107678782A (zh) * 2017-09-14 2018-02-09 平安科技(深圳)有限公司 一种进程保护方法、装置、设备以及计算机可读存储介质
CN107861826A (zh) * 2017-10-31 2018-03-30 努比亚技术有限公司 冻屏监测与解决方法、移动终端及计算机可读存储介质
CN111061410A (zh) * 2018-10-16 2020-04-24 华为技术有限公司 一种冻屏处理方法及终端
US11467894B2 (en) 2018-10-16 2022-10-11 Huawei Technologies Co., Ltd. Screen freezing processing method and terminal
CN109271298A (zh) * 2018-11-19 2019-01-25 武汉达梦数据库有限公司 一种数据库无响应故障的检测方法
CN109766068A (zh) * 2019-01-10 2019-05-17 厦门理工学院 一种终端屏幕锁定的检测方法及装置
CN109766068B (zh) * 2019-01-10 2023-08-29 厦门理工学院 一种终端屏幕锁定的检测方法及装置

Also Published As

Publication number Publication date
CN104503912B (zh) 2017-07-11

Similar Documents

Publication Publication Date Title
CN104503912A (zh) 一种服务响应过程的监测方法及装置
CN109033123B (zh) 基于大数据的查询方法、装置、计算机设备和存储介质
WO2017083207A1 (en) Digital assistant setting up device
CN102479084A (zh) 一种Android终端获取日志的方法及装置
CN105373419A (zh) 一种后台应用的操作方法及装置
CN104765678A (zh) 对移动终端设备上的应用进行测试的方法及装置
US20160283357A1 (en) Call stack relationship acquiring method and apparatus
CN105607986A (zh) 用户行为日志数据采集方法及装置
CN108052440B (zh) 对业务系统操作逻辑的修正方法、装置、设备和存储介质
CN103152391A (zh) 一种日志输出方法和装置
CN112783725A (zh) 指标采集方法及装置
CN110380936B (zh) 测试方法和装置
CN113792341A (zh) 应用程序的隐私合规自动化检测方法、装置、设备及介质
CN107526636B (zh) 资源识别方法及装置
US9104567B2 (en) Memory-leak identification
US9940590B2 (en) System and method to generate a transaction count using filtering
CN111143196A (zh) 数据库的测试方法以及装置
CN107766230A (zh) 一种基于配置文件进行测试的方法与设备
CN109144809B (zh) 一种焦点变化监控方法、存储介质、电子设备及系统
WO2020177495A1 (zh) 一种数据库连接管理方法及装置、设备
CN111294377A (zh) 一种依赖关系的网络请求发送方法、终端装置及存储介质
US10102052B2 (en) Dumping resources
CN105005519A (zh) 清除客户端缓存的方法和装置
US11036624B2 (en) Self healing software utilizing regression test fingerprints
CN114513469A (zh) 分布式系统的流量整形方法、装置和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 101-105, floor 1, Chuangda building, No. 9, Qinghua East Road, Haidian District, Beijing 100083 (Dongsheng District)

Patentee after: Thunder Software Technology Co., Ltd.

Address before: 100191 Beijing Haidian District Lung Cheung Road No. 1 Tai Xiang business building 4 layer 401-409

Patentee before: Thunder Software Technology Co., Ltd.