CN109388537B - 运行信息跟踪方法、装置及计算机可读存储介质 - Google Patents

运行信息跟踪方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN109388537B
CN109388537B CN201811015587.8A CN201811015587A CN109388537B CN 109388537 B CN109388537 B CN 109388537B CN 201811015587 A CN201811015587 A CN 201811015587A CN 109388537 B CN109388537 B CN 109388537B
Authority
CN
China
Prior art keywords
thread
tracking
program
running
application program
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.)
Active
Application number
CN201811015587.8A
Other languages
English (en)
Other versions
CN109388537A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201811015587.8A priority Critical patent/CN109388537B/zh
Publication of CN109388537A publication Critical patent/CN109388537A/zh
Application granted granted Critical
Publication of CN109388537B publication Critical patent/CN109388537B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本说明书实施例提供一种运行信息跟踪方法,预先针对目标应用程序所使用的所有创建线程函数设置好钩子,然后,在目标应用程序运行时,通过钩子截获创建线程函数所创建的目标线程,在该目标线程的关键位置处插入跟踪程序,通过该跟踪程序即可获得目标线程在关键位置处的运行信息。通过这样的方式,只要目标应用程序调用了创建线程的函数,就可以对创建的线程进行跟踪,使得收集的信息更加全面。

Description

运行信息跟踪方法、装置及计算机可读存储介质
技术领域
本说明书实施例涉及互联网技术领域,尤其涉及一种运行信息跟踪方法、装置及计算机可读存储介质。
背景技术
随着互联网的快速发展,各种应用程序不断涌现,为人们的生活带来极大的便利与乐趣。在许多应用程序中,由于业务逻辑的复杂,开发人员并不能清楚的掌握应用程序的所有业务逻辑,即:一个业务场景中,不能完整的掌握这个业务的执行逻辑和控制流程。在多业务单元bundle互相调用和多个线程并行的运行环境下,数据的流向和分发更加难以掌控。
发明内容
本说明书实施例提供及一种运行信息跟踪方法、装置及计算机可读存储介质。
第一方面,本说明书实施例提供一种运行信息跟踪方法,包括:
针对目标应用程序所使用的各个创建线程函数分别挂接对应钩子;
通过所述钩子截获每个所述创建线程函数所创建的目标线程,在每个所述目标线程的关键位置处插入跟踪程序,获得各个改写后的改写线程;
运行各个所述改写线程,通过所述跟踪程序采集所述目标应用程序在各目标线程的所述关键位置处对应的运行信息,将各目标线程的所述运行信息存储至运行日志中,所述运行日志中各跟踪程序采集的运行信息按采集时间的先后顺序排列。
第二方面,本说明书实施例提供一种运行信息跟踪装置,包括:
设置单元,用于针对目标应用程序所使用的各个创建线程函数分别挂接对应钩子;
插入单元,用于通过所述钩子截获每个所述创建线程函数所创建的目标线程,在每个所述目标线程的关键位置处插入跟踪程序,获得各个改写后的改写线程;
跟踪单元,用于运行各个所述改写线程,通过所述跟踪程序采集所述目标应用程序在各目标线程的所述关键位置处对应的运行信息,将各目标线程的所述运行信息存储至运行日志中,所述运行日志中各跟踪程序采集的运行信息按采集时间的先后顺序排列。
第三方面,本说明书实施例提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行上述任一项所述方法的步骤。
第四方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
本说明书实施例有益效果如下:
在本说明书实施例提供的运行信息跟踪方法中,预先对目标应用程序中所使用的所有的创建线程函数设置好钩子,然后,在目标应用程序运行时,通过钩子截获创建线程函数所创建的目标线程,在该目标线程的关键位置处插入跟踪程序,通过该跟踪程序即可获得目标线程在关键位置处的运行信息,将其录入运行日志中。通过这样的方式,只要目标应用程序调用了创建线程的函数,就可以对创建的线程进行跟踪,使得收集的信息更加全面。开发人员也可以通过查看运行日志,获知目标应用程序的执行逻辑和控制流程。
附图说明
图1为本说明书实施例第一方面提供的运行信息跟踪方法流程图;
图2为本说明书实施例第二方面提供的运行信息跟踪装置结构示意图;
图3为本说明书实施例第三方面提供的运行信息跟踪装置结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
第一方面,本说明书实施例提供一种运行信息跟踪方法,请参考图1,包括S101-S103。
S101:针对目标应用程序所使用的各个创建线程函数分别挂接对应钩子;
S102:通过所述钩子截获每个所述创建线程函数所创建的目标线程,在每个所述目标线程的关键位置处插入跟踪程序,获得各个改写后的改写线程;
S103:运行各个所述改写线程,通过所述跟踪程序采集所述目标应用程序在各目标线程的所述关键位置处对应的运行信息,将各目标线程的所述运行信息存储至运行日志中,所述运行日志中各跟踪程序采集的运行信息按采集时间的先后顺序排列。
其中,关键位置包括调用预设组件数据库对应的位置、对预设文件进行操作对应的位置、io流程对应的位置、线程切换对应的位置、线程池操作对应的位置、广播接收对应的位置和后台服务对应的位置中的任意一种或多种组合。
具体的,在本实施例中,由于应用程序的数据流和控制流复杂度高、跨bundle、跨线程、异步回调、异步事件、并发度高。当前通过日志排查效率低,如果开发人员不熟悉业务逻辑和代码,一个问题排查需要牵扯消耗很多人力,沟通成本高。一方面打点缺失,主链路覆盖不全,排查困难,另一方面日志输出泛滥,互相干扰,加大排查难度,无法从日志看出用户的操作链路,因此无法重现问题,无法从日志了解全局线程并发情况。对于一些多线程安全,线程时序的问题,无法很好的分析。并且,应用程序缺乏支撑线上性能细粒度分析的有效数据。针对线上部分用户的问题,比如整体变慢、偶尔报错、不可用等问题,很难通过日志得知问题是由哪些bundle造成的,处理性能消耗在哪些bundle。
现有的应用程序报错后,只能得到一个调用栈相关信息,往往不能将出现问题的前后文信息复现出来,也不知道是在什么环境下,什么操作出现导致的报错。开发人员只能在报错的地方做处理,这种处理方式仅能保证程序正常运行,但是并未找到出现问题的具体的原因。正是基于这样的原因,采用本实施例的方法,可以对线程进行完整的跟踪,根据跟踪得到的信息,可以分析出报错前应用程序中的具体数据流和控制流,是否在多线程并行情况下出错,可以完全复现出报错场景。
首先,本实施例方法通过步骤S101,预先为目标应用程序中创建线程函数设置对应钩子。
由于很多系统都是建立在事件驱动的机制上的,即整个系统都是通过消息的传递来实现的。而钩子hook是系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子可以监视系统或线程中的各种事件消息,截获发往目标窗口的消息并进行处理。hook实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,也就是说,钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。
基于钩子的功能,本实施例中的方法,把所有能使用的创建线程的函数都设置好了钩子hook,设置hook可通过如下步骤实现:
在对所述目标应用程序进行编译时,识别所述目标应用程序中的创建线程函数,针对所述创建线程函数设置对应钩子。
具体的,在本实施例中,是在编译期间设置对应的钩子。首先针对目标应用程序的源码进行编译扫描,在识别出目标应用程序调用创建线程的函数时,设置该函数对应的钩子,该创建线程的函数包括创建线程、创建线程池、安卓的HandlerThread等方法。这样,可以对目标应用程序中所用到的所有的创建线程的函数均设置好钩子。在具体实施过程中,创建线程的函数的定义方式可根据实际需要进行设定,在此,本申请不做限制。
在设置好钩子后,通过步骤S102,在创建线程的函数运行时,通过与该函数对应的钩子,截获该函数创建的目标线程,进而在该目标线程的关键位置处插入跟踪程序。本实施例中预先设定多种关键位置,包括调用预设组件数据库对应的位置、对预设文件进行操作对应的位置、io流程对应的位置、线程切换对应的位置、线程池操作对应的位置、广播接收对应的位置和后台服务对应的位置。
其中,如果跟踪程序设定在调用预设组件数据库对应的位置,表明跟踪程序对目标线程中的预设组件对应的数据库调用信息进行监控。如果跟踪程序设定在对预设文件进行操作对应的位置,表明跟踪程序对预设文件的操作信息进行监控。如果跟踪程序设定在io流程对应的位置,表明跟踪程序对io流程进行监控。如果跟踪程序设定在线程切换对应的位置,表明跟踪程序对线程间的切换进行监控。如果跟踪程序设定在线程切换对应的位置,表明跟踪程序对线程间的切换进行监控。如果跟踪程序设定在线程池操作对应的位置,表明跟踪程序对线程池操作进行监控。如果跟踪程序设定在广播接收对应的位置,表明跟踪程序对广播接收的操作进行监控。如果跟踪程序设定在后台服务对应的位置,表明跟踪程序对后台服务进行监控。在具体实施过程中,预先设定的关键位置可根据实际需要进行设定,在此,本申请不做限制。
本实施例中的方法,通过查看目标线程中是否存在上述列举出的关键位置,如果存在,就把跟踪程序插入确定出的关键位置,目标线程中可能会存在一个或多个上述列举的关键位置,则跟踪程序可以插入多个。这样,目标线程中的每个关键位置处均插入了跟踪程序,可以通过S103,针对各个关键位置处运行信息进行采集,然后将采集到的运行信息保存至运行日志中。将通过统计代码收集的信息存储至运行日志中可通过如下步骤实现:
确定所述每个跟踪程序的跟踪标识,将该跟踪程序采集的运行信息存储至与跟踪标识对应的运行日志中。
具体的,在本实施例中,在每次插入跟踪程序时,均会设定一个跟踪标识,本实施例中表示为TraceID,该ID通常设置为数字1、2、3等,表明此次跟踪为第几次跟踪。然后,将通过跟踪程序在关键位置处收集到的运行信息时间先后顺序录入与该跟踪标识对应的运行日志中。
针对同时创建的多个线程,同时对多个线程插入跟踪程序,这多个线程对应的跟踪程序的跟踪标识是一致的。表明针对多线程的跟踪均属于同一次跟踪。举例来说,如果电子设备为8核设备,同时触发8个线程同时运行,这8个线程中均插入跟踪程序,对应的跟踪标识均为Trace3,表明此次跟踪为第3次跟踪,跟踪对象为这8个线程,这8个线程中的跟踪程序收集到的在关键位置处的运行信息按收集时间的先后顺序录入与Trace3对应的运行日志中。这样,在后续查看时,通过跟踪标识Trace3即可定位到第3次跟踪收集到的运行信息,包括跟踪这8个线程对应的运行信息。
通过这样的方式,针对目标应用程序即可做多次跟踪,每次跟踪得到的运行信息均按先后顺序录入了运行日志,每一次跟踪对应一个时间轴,每一次跟踪代表的是一个触发的代码执行路径,可以是单线程的,也可以横跨多个线程。比如:在用户点击一个按钮,这个操作是可能触发多个线程并行执行的,针对这多个线程进行一次跟踪,针对跟踪得到的信息,在时间轴上是能看出来多个线程的并行过程,这个时间轴可以理解为每个线程有自己的时间轴、多个线程的时间轴加在一起就是这次跟踪的时间轴信息。
进而,在得到多次跟踪的运行信息后,将这些信息收集起来,按时间顺序进行串联,比如之前的普通打日志方式,一个函数中的一行日志可能打印100次,每一次是谁触发的打印,是在什么情况下触发的,由之前的日志并不能分析出来。而通过本实施例中的方案收集的信息,做完串联之后上下文信息是清晰的,能够看到100次总每一次都是谁调用的,哪个业务场景调用的。所以,能实现业务流和控制流的监控。
实际上,一次跟踪的过程相当于一次由人为或者push推送或者某一种事件触发的执行流程算作一次跟踪过程,比如:用户点击一个按钮,从点击按钮开始往后的一切行为都算作是这次跟踪的跟踪范围,为了达到这样一个目的,本实施例中的方法需要在目标应用程序开发完后使用自动化插件插入必要的跟踪程序,在关键位置把跟踪程序插入。
本实施例中的方法中跟踪的触发时机包含用户触发,也有可能是别的情况下触发,比如下发一条push指令,推送一个消息等,可以看出用户的操作路径,操作路径的信息是每次跟踪中的一部分,本实施例中的方法是基于安卓平台的的基本组件进行的一层封装,是对原生的组件做修改,并不影响使用者,使用者还跟之前的开发流程一样无需关心本实施例中的方法的实现。
进而,可通过收集到的各次跟踪的运行日志,进行异常分析。具体的,进行异常分析可通过如下步骤实现:
在所述目标应用程序在运行过程中出现异常时,提取所述运行日志;
对所述运行日志进行上下文分析,输出异常分析结果。
具体的,在本实施例中,由前述实施例中的介绍可知,由于统计了多次跟踪的运行信息,并可以按时间轴进行信息串联,还原每个线程的运行场景,调用场景等信息。如果目标应用程序在运行过程中出现异常,则可提取该运行日志,获得多次跟踪收集到的运行信息。进而,定位到出现问题的代码的位置,属于哪个线程进而可定位到该线程属于第几次跟踪的对象,查到对应的跟踪标识,比如跟踪标识为Trace5,表明出现问题的线程是第5次跟踪的对象,调取第5次跟踪收集到的运行信息,还需要获的第5次之前的前几次(如:第4次与第3次)跟踪收集到的运行信息,进行上下文分析,还原出出现问题之前的调用关系以及调用场景,定位出该问题是由什么原因造成,输出异常分析结果。
本实施例中的方法,还可以提供日志解析、展示。在开发人员进行对应的触发操作后执行日志展示,便于人工查看日志,根据上下文分析,还可以进行流量统计,便于开发人员制定针对目标应用程序的优化方案。比如:通过查看跟踪得到的运行日志,可以确定应用程序的A功能触发次数最多,流量最大。而B功能触发次数最少,流量最少。开发人员可以在下个版本中对A功能进行进一步优化,可能放弃B功能的设计。这样,使得用户针对目标应用程序的用户体验得到有效提升。
本实施例中的方法,在hook线程的启动结束,默认帮用户创建的Trace ID,基于该Trace ID,将各个线程进行串联,一些关键的组件数据库、文件操作、io流程、线程切换、线程池操作、广播接收、后台服务等等这些都预先设定好hook,用户使用的时候的一些信息,本实施例中的方法都能采集得到,根据Trace ID进行信息整理聚合,最终得到每一次跟踪的目标线程的执行流程、时间轴信息、跨线程信息等等,还可以用图形的方式展示出来。实现把全链路的业务流程用中数据流和控制流用更加清晰的方式展现出来。使得异常排查以及信息统计更加智能方便快捷,为开发人员的研发工作提供便利。
第二方面,基于同一发明构思,本说明书实施例提供一种运行信息跟踪装置,请参考图2,包括:
设置单元201,针对目标应用程序所使用的各个创建线程函数分别挂接对应钩子;
插入单元202,用于通过所述钩子截获每个所述创建线程函数所创建的目标线程,在每个所述目标线程的关键位置处插入跟踪程序,获得各个改写后的改写线程;
跟踪单元203,用于运行各个所述改写线程,通过所述跟踪程序采集所述目标应用程序在各目标线程的所述关键位置处对应的运行信息,将各目标线程的所述运行信息存储至运行日志中,所述运行日志中各跟踪程序采集的运行信息按采集时间的先后顺序排列。
在一种可选方式中,所述设置单元具体用于201,包括:
在对所述目标应用程序进行编译时,识别所述目标应用程序中的创建线程函数;
针对所述创建线程函数设置对应钩子。
在一种可选方式中,所述关键位置包括调用预设组件数据库对应的位置、对预设文件进行操作对应的位置、io流程对应的位置、线程切换对应的位置、线程池操作对应的位置、广播接收对应的位置和后台服务对应的位置中的任意一种或多种组合。
在一种可选方式中,所述跟踪单元203具体用于:
确定所述每个跟踪程序的跟踪标识,将该跟踪程序采集的运行信息存储至与跟踪标识对应的运行日志中。
在一种可选方式中,所述装置还包括异常分析单元,所述异常分析单元具体用于:
在所述目标应用程序在运行过程中出现异常时,提取所述运行日志;
对所述运行日志进行上下文分析,输出异常分析结果。
第三方面,基于与前述实施例中运行信息跟踪方法同样的发明构思,本发明还提供一种服务器,如图3所示,包括存储器304、处理器302及存储在存储器304上并可在处理器302上运行的计算机程序,所述处理器302执行所述程序时实现前文所述运行信息跟踪方法的任一方法的步骤。
其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本实施例中的方法不再对其进行进一步描述。总线接口306在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
第四方面,基于与前述实施例中运行信息跟踪方法的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述运行信息跟踪方法的任一方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。

Claims (6)

1.一种运行信息跟踪方法,包括:
针对目标应用程序所使用的各个创建线程函数分别挂接对应钩子;
通过所述钩子截获每个所述创建线程函数所创建的目标线程,在每个所述目标线程的关键位置处插入跟踪程序,获得各个改写后的改写线程;
运行各个所述改写线程,通过所述跟踪程序采集所述目标应用程序在各目标线程的所述关键位置处对应的运行信息,将各跟踪程序采集的运行信息存储至运行日志中,所述运行日志中各跟踪程序采集的运行信息按采集时间的先后顺序排列;
所述将各跟踪程序采集的运行信息存储至运行日志中,包括:确定所述每个跟踪程序的跟踪标识,将该跟踪程序采集的运行信息存储至与跟踪标识对应的运行日志中;
所述关键位置包括调用预设组件数据库对应的位置、对预设文件进行操作对应的位置、io流程对应的位置、线程切换对应的位置、线程池操作对应的位置、广播接收对应的位置和后台服务对应的位置中的任意一种或多种组合;
所述针对目标应用程序所使用的各个创建线程函数分别挂接对应钩子,包括:
在对所述目标应用程序进行编译时,对所述目标应用程序进行扫描识别;
将识别到的所述目标应用程序中的各个创建线程函数挂接对应钩子。
2.根据权利要求1所述的方法,所述方法还包括:
在所述目标应用程序在运行过程中出现异常时,提取所述运行日志;
对所述运行日志进行上下文分析,输出异常分析结果。
3.一种运行信息跟踪装置,包括:
设置单元,用于针对目标应用程序所使用的各个创建线程函数分别挂接对应钩子;
插入单元,用于通过所述钩子截获每个所述创建线程函数所创建的目标线程,在每个所述目标线程的关键位置处插入跟踪程序,获得各个改写后的改写线程;
跟踪单元,用于运行各个所述改写线程,通过所述跟踪程序采集所述目标应用程序在各目标线程的所述关键位置处对应的运行信息,将各目标线程的所述运行信息存储至运行日志中,所述运行日志中各跟踪程序采集的运行信息按采集时间的先后顺序排列;
所述跟踪单元具体用于:确定所述每个跟踪程序的跟踪标识,将该跟踪程序采集的运行信息存储至与跟踪标识对应的运行日志中;
所述关键位置包括调用预设组件数据库对应的位置、对预设文件进行操作对应的位置、io流程对应的位置、线程切换对应的位置、线程池操作对应的位置、广播接收对应的位置和后台服务对应的位置中的任意一种或多种组合;
所述设置单元具体用于,包括:
在对所述目标应用程序进行编译时,对所述目标应用程序进行扫描识别;
将识别到的所述目标应用程序中的各个创建线程函数挂接对应钩子。
4.根据权利要求3所述的装置,所述装置还包括异常分析单元,所述异常分析单元具体用于:
在所述目标应用程序在运行过程中出现异常时,提取所述运行日志;
对所述运行日志进行上下文分析,输出异常分析结果。
5.一种运行信息跟踪装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-2任一项所述方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-2任一项所述方法的步骤。
CN201811015587.8A 2018-08-31 2018-08-31 运行信息跟踪方法、装置及计算机可读存储介质 Active CN109388537B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811015587.8A CN109388537B (zh) 2018-08-31 2018-08-31 运行信息跟踪方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811015587.8A CN109388537B (zh) 2018-08-31 2018-08-31 运行信息跟踪方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109388537A CN109388537A (zh) 2019-02-26
CN109388537B true CN109388537B (zh) 2023-02-03

Family

ID=65418439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811015587.8A Active CN109388537B (zh) 2018-08-31 2018-08-31 运行信息跟踪方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109388537B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035311A (zh) * 2019-06-04 2020-12-04 腾讯科技(深圳)有限公司 一种程序逻辑监控方法及装置
CN110287053B (zh) * 2019-06-27 2022-11-04 四川新网银行股份有限公司 分布式系统异常统一处理的方法
CN112306723A (zh) * 2019-07-30 2021-02-02 北京京东尚科信息技术有限公司 一种应用于小程序的运行信息获取方法和装置
CN110968493A (zh) * 2019-12-24 2020-04-07 上海英方软件股份有限公司 一种基于运行日志分析推演程序运行状态的方法及系统
CN111258886B (zh) * 2020-01-08 2024-04-26 北京奇艺世纪科技有限公司 一种应用程序的异常定位方法及装置
CN111400127B (zh) * 2020-02-28 2022-09-09 深圳平安医疗健康科技服务有限公司 业务日志的监控方法及装置、存储介质、计算机设备
US11954529B2 (en) 2020-04-13 2024-04-09 EMC IP Holding Company LLC Method, device and computer program product for tracking lock
CN114064378A (zh) * 2020-07-29 2022-02-18 北京字节跳动网络技术有限公司 一种应用程序耗时的分析方法、装置、设备及存储介质
CN112579295A (zh) * 2020-12-25 2021-03-30 百果园技术(新加坡)有限公司 图像内存分析方法、装置、电子设备和存储介质
CN112882902B (zh) * 2021-03-05 2023-02-14 深圳市迅雷网络技术有限公司 线程来源获取方法、电子设备以及计算机可读存储装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1496062A (zh) * 2000-06-28 2004-05-12 因特国风网络软件有限公司 网络中智能信息处理的方法和系统
US6983453B2 (en) * 2001-08-30 2006-01-03 International Business Machines Corporation Method and system for obtaining performance data from software compiled with or without trace hooks
CN100349131C (zh) * 2004-07-26 2007-11-14 中兴通讯股份有限公司 一种应用程序故障的定位方法
CN101408862B (zh) * 2007-10-12 2012-08-22 李周 一种嵌入式系统测试方法
US8196116B2 (en) * 2009-03-31 2012-06-05 International Business Systems Corporation Tracing objects in object-oriented programming model
CN104360939A (zh) * 2014-10-29 2015-02-18 中国建设银行股份有限公司 定位故障的方法、设备及系统
US10216613B2 (en) * 2016-08-17 2019-02-26 International Business Machines Corporation Reserved process and thread identifiers for tracing

Also Published As

Publication number Publication date
CN109388537A (zh) 2019-02-26

Similar Documents

Publication Publication Date Title
CN109388537B (zh) 运行信息跟踪方法、装置及计算机可读存储介质
CN110287052B (zh) 一种异常任务的根因任务确定方法及装置
CN110245035A (zh) 一种链路跟踪方法及装置
CN112311617A (zh) 一种配置化数据监控告警方法及系统
CN104809030A (zh) 一种基于Android的异常处理系统及处理方法
CN110851324B (zh) 基于日志的巡检处理方法、装置以及电子设备、存储介质
CN110908883A (zh) 用户画像数据监控方法、系统、设备及存储介质
CN101639803A (zh) 多线程应用系统的异常处理方法和异常处理装置
CN105490864A (zh) 基于osgi的业务模块监控方法
WO2016178661A1 (en) Determining idle testing periods
CN111913824A (zh) 确定数据链路故障原因的方法及相关设备
CN109409948B (zh) 交易异常检测方法、装置、设备及计算机可读存储介质
US20210266238A1 (en) Operation device and operation method
KR20180015027A (ko) 데이터 분산 서비스 응용 시스템 오류 자동 알림 장치 및 방법
CN103645985A (zh) 一种源代码宏配对检测方法
CN116560893B (zh) 一种计算机应用程序运行数据故障处理系统
CN112541746A (zh) 一种全栈自动化编排方法及系统
US10061681B2 (en) System for discovering bugs using interval algebra query language
CN112087320A (zh) 一种异常定位方法、装置、电子设备和可读存储介质
CN110928750B (zh) 数据处理方法、装置及设备
CN112965793B (zh) 一种面向标识解析数据的数据仓库任务调度方法和系统
CN113656210A (zh) 报错信息的处理方法、装置、服务器和可读存储介质
CN113965447A (zh) 一种在线云诊断方法、装置、系统、设备及存储介质
CN113761015B (zh) 一种日志处理方法、装置、系统及存储介质
CN114760188B (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
TA01 Transfer of patent application right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant