任务监控方法及装置、任务异常分析方法及装置制造方法及图纸

技术编号:37858905 阅读:13 留言:0更新日期:2023-06-15 20:49
本申请公开了一种任务监控方法及装置、任务异常分析方法及装置,涉及计算机技术领域,主要目的在于降低任务异常问题的定位难度;主要技术方案包括:在待监控任务的每一个目标线程被执行时,监控所述目标线程的线程执行情况以及所述目标线程的每一个函数的函数调用情况,形成对应的线程执行信息和函数调用信息;基于所述待监控任务的各目标线程对应的线程执行信息以及函数调用信息,生成所述待监控任务的监控日志。务的监控日志。务的监控日志。

【技术实现步骤摘要】
任务监控方法及装置、任务异常分析方法及装置


[0001]本申请涉及计算机
,特别是涉及一种任务监控方法及装置、任务异常分析方法及装置。

技术介绍

[0002]诸如nuttx等操作系统中,存在有多个线程执行的任务。在这样的任务执行过程中,其涉及的线程互相影响、互相依赖,线程之间需要基于执行顺序进行切换。一旦任务出现任务性能受损或任务崩溃等异常问题时,难以定位出任务异常问题发生在何处。

技术实现思路

[0003]有鉴于此,本申请提出了一种任务监控方法及装置、任务异常分析方法及装置,主要目的在于降低任务异常问题的定位难度。
[0004]为了达到上述目的,本申请主要提供了如下技术方案:
[0005]第一方面,本申请提供了一种任务监控方法,该任务监控方法包括:
[0006]在待监控任务的每一个目标线程被执行时,监控所述目标线程的线程执行情况以及所述目标线程的每一个函数的函数调用情况,形成对应的线程执行信息和函数调用信息;
[0007]基于所述待监控任务的各目标线程对应的线程执行信息以及函数调用信息,生成所述待监控任务的监控日志。
[0008]本申请提供的任务监控方法,在待监控任务的每一个目标线程被执行时,监控目标线程的线程执行情况以及目标线程的每一个函数的函数调用情况,形成对应的线程执行信息和函数调用信息。基于待监控任务的各目标线程对应的线程执行信息以及函数调用信息,生成待监控任务的监控日志。这里的监控日志中所记录的线程执行信息以及函数调用信息是定位任务异常问题的依据。基于监控日志不仅能够定位出任务的哪些线程出现异常,且也能够定位出是哪些函数导致对应的线程出现异常。这样,不仅能够降低任务异常问题的定位难度,且能够提高任务异常问题的定位效率,且更为便于业务人员从函数的粒度对任务的异常问题进行排除。
[0009]在一些实施例中,该任务监控方法还包括:确定当前被触发的宏定义开关;其中,不同的宏定义开关对应的任务监控粒度不同;若判定当前被触发的宏定义开关对应的任务监控粒度为函数粒度,则在待监控任务的每一个目标线程被执行时,监控所述目标线程的线程执行情况以及所述目标线程的每一个函数的函数调用情况,形成对应的线程执行信息和函数调用信息。
[0010]在一些实施例中,监控所述目标线程的线程执行情况,形成对应的线程执行信息,包括:监控所述目标线程的线程名称、开始执行时间、结束执行时间、所占用处理器的名称;基于所监控的线程名称、开始执行时间、结束执行时间、所占用处理器的名称,形成对应的线程执行信息。
[0011]在一些实施例中,监控所述目标线程的每一个函数的函数调用情况,形成对应的函数调用信息,包括:在所述目标线程的每一个函数被调用时,监控所述函数的开始调用时间、结束调用时间、函数在所述目标线程的所有函数中的调用顺序、函数的调用栈地址信息;其中,所述调用栈地址信息用于获取所述函数对应的函数名称;基于所监控的开始调用时间、结束调用时间、函数在所述目标线程的所有函数中的调用顺序、函数的调用栈地址信息,形成对应的函数调用信息。
[0012]在一些实施例中,该任务监控方法还包括:将所述待监控任务的所有线程均确定为目标线程;或,将所述待监控任务的所有线程中对应的标识位于预设名单内的线程确定为目标线程;其中,对应的标识位于所述预设名单中的线程会给所述待监控任务带来任务异常的风险。
[0013]在一些实施例中,该任务监控方法还包括:检测当前被执行的目标线程的持续执行时长是否超出第一时长;若超出,则终止所述待监控任务,并基于所述待监控任务的已被执行的目标线程对应的线程执行信息以及函数调用信息,生成所述待监控任务的监控日志。
[0014]在一些实施例中,该任务监控方法还包括:检测当前被调用的目标线程的函数的持续调用时长是否超出第二时长;若超出,则终止所述待监控任务,并基于所述待监控任务的已被执行的目标线程对应的线程执行信息以及函数调用信息,生成所述待监控任务的监控日志。
[0015]第二方面,本申请提供了一种任务异常分析方法,该任务异常分析方法包括:
[0016]获取待分析任务对应的监控日志;其中,所述监控日志中包括有所述待分析任务被执行时其各目标线程对应的线程执行信息以及各目标线程的函数对应的函数调用信息;
[0017]基于所述待分析任务的各目标线程对应的线程执行信息以及各目标线程的函数对应的函数调用信息,对所述待分析任务进行异常分析处理。
[0018]本申请提供的任务异常分析方法,获取待分析任务对应的监控日志,这里的监控日志中包括有待分析任务被执行时其各目标线程对应的线程执行信息以及各目标线程的函数对应的函数调用信息。基于待分析任务的各目标线程对应的线程执行信息以及各目标线程的函数对应的函数调用信息,对待分析任务进行异常分析处理。由于监控日志中包括有待分析任务被执行时其各目标线程对应的线程执行信息以及各目标线程的函数对应的函数调用信息,因此在异常分析处理时,基于监控日志不仅能够定位出任务的哪些线程出现异常,且也能够定位出是哪些函数导致对应的线程出现异常。这样,不仅能够降低任务异常问题的定位难度,且能够提高任务异常问题的定位效率,且更为便于业务人员从函数的粒度对任务的异常问题进行排除。
[0019]在一些实施例中,基于所述待分析任务的各目标线程对应的线程执行信息以及各目标线程的函数对应的函数调用信息,对所述待分析任务进行异常分析处理,包括:基于线程执行信息包括的线程名称、开始执行时间、结束执行时间、所占用处理器的名称,按照所述待分析任务中的目标线程的执行顺序,依次显示每一个目标线程所占用处理器的占用时长;在任一所述目标线程被选中时,基于被选中的目标线程的各函数的函数调用信息包括的调用栈地址信息解析出各函数的函数名称;基于被选中的目标线程的各函数的函数调用信息包括的开始调用时间、结束调用时间、函数在对应的目标线程的所有函数中的调用顺
序,显示被选中的目标线程的各函数的函数名称、调用顺序以及每一个函数占用处理器的占用时长;在任一所述函数被选中时,显示被选中的函数对应的代码文件标识以及被选中的函数在所述代码文件标识对应的代码文件中涉及的代码行。
[0020]在一些实施例中,该任务异常分析方法还包括:选中占用时长大于第三时长的目标线程;和/或,选中占用时长大于第四时长的函数。
[0021]第三方面,本申请提供了一种任务监控装置,该任务监控装置包括:
[0022]监控模块,用于在待监控任务的每一个目标线程被执行时,监控所述目标线程的线程执行情况以及所述目标线程的每一个函数的函数调用情况,形成对应的线程执行信息和函数调用信息;
[0023]生成模块,用于基于所述待监控任务的各目标线程对应的线程执行信息以及函数调用信息,生成所述待监控任务的监控日志。
[0024]第四方面,本申请提供了一种任务异常分析装置,该任务异常分析装置包括:
[0025]获取模块,用于获取待分析任务对应的监控日志;其中,所述监控日本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务监控方法,其特征在于,所述方法包括:在待监控任务的每一个目标线程被执行时,监控所述目标线程的线程执行情况以及所述目标线程的每一个函数的函数调用情况,形成对应的线程执行信息和函数调用信息;基于所述待监控任务的各目标线程对应的线程执行信息以及函数调用信息,生成所述待监控任务的监控日志。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定当前被触发的宏定义开关;其中,不同的宏定义开关对应的任务监控粒度不同;若判定当前被触发的宏定义开关对应的任务监控粒度为函数粒度,则在待监控任务的每一个目标线程被执行时,监控所述目标线程的线程执行情况以及所述目标线程的每一个函数的函数调用情况,形成对应的线程执行信息和函数调用信息。3.根据权利要求1所述的方法,其特征在于,监控所述目标线程的线程执行情况,形成对应的线程执行信息,包括:监控所述目标线程的线程名称、开始执行时间、结束执行时间、所占用处理器的名称;基于所监控的线程名称、开始执行时间、结束执行时间、所占用处理器的名称,形成对应的线程执行信息;和/或,监控所述目标线程的每一个函数的函数调用情况,形成对应的函数调用信息,包括:在所述目标线程的每一个函数被调用时,监控所述函数的开始调用时间、结束调用时间、函数在所述目标线程的所有函数中的调用顺序、函数的调用栈地址信息;其中,所述调用栈地址信息用于获取所述函数对应的函数名称;基于所监控的开始调用时间、结束调用时间、函数在所述目标线程的所有函数中的调用顺序、函数的调用栈地址信息,形成对应的函数调用信息。4.根据权利要求1

3中任一项所述的方法,其特征在于,所述方法还包括:将所述待监控任务的所有线程均确定为目标线程;或,将所述待监控任务的所有线程中对应的标识位于预设名单内的线程确定为目标线程;其中,对应的标识位于所述预设名单中的线程会给所述待监控任务带来任务异常的风险。5.根据权利要求1

3中任一项所述的方法,其特征在于,所述方法还包括:检测当前被执行的目标线程的持续执行时长是否超出第一时长;若超出,则终止所述待监控任务,并基于所述待监控任务的已被执行的目标线程对应的线程执行信息以及函数调用信息,生成所述待监控任务的监控日志;和/或,所述方法还包括:检测当前被调用的目标线程的函数的持续调用时长是否超出第二时长;若超出,则终止所述待监控任务,并基于所述待监控任务的已被执行的目标线程对应的线程执行信息以...

【专利技术属性】
技术研发人员:李惠惠
申请(专利权)人:北京奕斯伟计算技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1