System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 日志获取方法及相关设备技术_技高网

日志获取方法及相关设备技术

技术编号:40269761 阅读:8 留言:0更新日期:2024-02-02 22:56
本申请提供了一种日志获取方法及相关设备。该方法中,电子设备针对第三方应用程序发生的目标故障,利用操作系统的诊断服务模块获取目标第一类型数据,并向第三方应用程序发送目标第一类型数据。其中,目标第一类型数据为记录第三方应用程序的运行状况的非结构化的日志数据。该方法能够使得应用程序能够处理目标故障并且提升解决故障的成功率,有利于第三方应用程序的优化,提升优化效率,从而提升用户体验。在一些实施例中,响应于用户打开增强功能开关的操作,按照该方法传输目标第一类型数据,能够减少在不经过用户允许情况下传输第一类型数据导致占用中央处理器的情况,提升用户体验。

【技术实现步骤摘要】

本申请涉及终端,尤其涉及一种日志获取方法及相关设备


技术介绍

1、应用程序在电子设备中运行时,会产生故障,例如性能故障(如应用程序无响应、应用被杀掉、应用崩溃等)、稳定性故障(如应用启动超时,动画丢帧等)或功耗故障(如功耗异常)等,影响用户使用体验。

2、由于应用程序处于操作系统的上层,无法直接在电子设备中对故障进行诊断以及采集故障相关的信息,从而不能定位故障并确定故障的解决方案。


技术实现思路

1、本申请提供了一种日志获取方法及相关设备,可以提升用户体验。

2、第一方面,一种日志获取方法,应用于电子设备,电子设备包括诊断服务模块和第一应用程序,第一应用程序为第三方应用程序,诊断服务模块属于电子设备的操作系统,该方法包括:利用诊断服务模块获取目标诊断数据,目标诊断数据用于处理第一应用程序发生的目标故障,目标诊断数据包括目标第一类型数据,目标第一类型数据为记录第一应用程序的运行状况的非结构化的日志数据;利用诊断服务模块向第一应用程序发送目标诊断数据。

3、上述方案,能够使得应用程序能够处理目标故障,有利于第三方应用程序的优化,提升优化效率,从而提升用户体验。相比于提供目标故障发生时间点前后一段时间的日志数据的方式,目标第一类型数据可供第三方应用程序全面地获取到与自身发生目标故障相关的数据,从而提升解决故障的成功率。

4、其中,第一类型数据为非结构化的日志数据。第一类型数据记录了应用程序的运行状况。其中,记录第一应用程序的运行状况的日志数据包括:应用为完成业务而调用系统接口的过程的追踪信息,和/或,与应用的运行过程中出现的故障相关的数据。

5、可理解,通过操作系统的诊断服务模块为第一应用程序提供用于处理目标故障的数据,使得应用程序能够准确地处理目标故障,有利于第三方应用程序的优化,提升优化效率,从而提升用户体验。

6、还可理解,相比于提供目标故障发生时间点前后一段时间的日志数据的方式,目标第一类型数据可供第三方应用程序全面地获取到与自身发生目标故障相关的数据,从而提升解决故障的成功率。

7、在一种可能的实施例中,目标第一类型数据包括:第一应用程序为完成业务而调用操作系统的接口的过程的追踪信息,和/或,与第一应用程序的运行过程中出现的故障相关的数据,出现的故障包括目标故障。

8、示例性的,目标故障包括性能故障,目标第一类型数据包括:第一应用程序为完成业务而调用操作系统的接口的过程的追踪信息。

9、例如,本申请中,第一应用程序为完成业务而调用操作系统的接口的过程的追踪信息,追踪(trace)文件。

10、示例性的,目标故障包括稳定性故障,目标第一类型数据包括与第一应用程序的运行过程中出现的故障相关的数据。

11、例如,本申请中,与第一应用程序的运行过程中出现的故障相关的数据包括以下至少一项:应用程序无响应(application not responding,anr)文件、应用崩溃(crash)文件或tombstone文件。

12、可理解,这三类文件的数据量较小(数千字节(kb)的量级),即使在没有收到应用程序或用户的指示的情况下进行传输,对中央处理器(central processing unit,cpu)的占用非常小,因此能够在提升第一应用程序的优化效率的同时极少可能会影响应用程序的进程,尽可能提升用户体验。

13、在一种可能的实施例中,目标诊断数据还包括目标第二类型数据,目标第二类型数据包括:基于目标第一类型数据提取得到的与目标故障相关的结构化数据,以及用于指示目标故障的类型的结构化数据。

14、可理解,通过给第三方应用提供对目标第一类型数据预先处理得到的目标第二类型数据,以便第三方应用能够结合两种类型的数据处理目标故障,能够提升第三方应用解决故障的效率(特别是在目标故障与第三方应用的业务规则不相关的情况下)。

15、其中,本申请中涉及的第二类型数据包括诊断服务基于第一类型数据提取得到的与应用发生的故障相关的数据,以及对应用发生的故障的进行定性分析得到的数据。其中,由定性分析得到的数据包括:例如判断该故障属于哪一故障类型(比如性能故障、稳定性故障等),例如产生该故障的原因等。示例性的,操作系统监听到应用发生故障后,可以基于故障发生的时间在第一类型数据中定位到故障相关的数据(例如发生故障的时间点前后的数据)并分析出故障发生的原因。

16、一种实现方式中,对于目标故障与第三方应用的业务规则不相关的情况,一般而言,诊断服务模块提供的目标故障诊断信息中,目标故障的类型信息诊断正确和与目标故障相关的结构化数据也采集正确,由应用程序获取目标第一类型数据能够进一步提升解决故障的成功率。

17、另一种实现方式中,对于目标故障与第三方应用的业务规则相关的情况,如果根据诊断服务模块提供的目标故障诊断信息不能解决故障,应用程序获取目标第一类型数据后,根据目标第一类型数据能解决目标故障,从而提升解决故障的成功率。下面给出相关示例,进一步说明。

18、示例性的,第一应用程序为支付应用程序,该支付应用程序发生的故障为用户支付的过程中支付界面动画丢帧。支付过程中涉及多个支付界面(如包括用户确认支付的界面,用户选择支付方式的界面,用户等待支付成功的界面等)。由于操作系统无法获取第一应用程序的业务规则,因此提取得到的与动画丢帧相关的结构化数据,以及用于指示动画丢帧的类型可能不够准确,有可能影响第一应用程序根据第二类型数据解决动画丢帧的成功率。然而,该目标第一类型数据记录了电子设备呈现每个支付界面时的运行情况(或者说该支付应用程序为了完成每个支付界面的业务时调用系统接口的过程)。支付应用程序获取目标第一类型数据后,可以精准地获知是哪一个支付界面发生了动画丢帧,以及支付应用程序为了完成该支付界面的业务时调用系统接口的情况,从而给出针对性的解决方案。

19、示例性的,第一应用程序为视频应用程序,该视频应用程序发生的故障为用户使用视频应用的过程中应用崩溃。用户使用过程中涉及多个操作(如包括用户搜索视频的操作,用户选择视频的操作,用户观看视频时对视频进行变速的操作等)。由于操作系统无法获取第一应用程序的业务规则,因此提取得到的与应用崩溃相关的结构化数据,以及用于指示应用崩溃的类型可能不够准确,有可能影响第一应用程序根据第二类型数据解决应用崩溃的成功率。该目标第一类型数据记录了电子设备呈现响应于用户的每个操作后视频应用程序的运行情况(或者说该视频应用程序为了完成响应于用户的每个操作的业务时调用系统接口的过程)。视频应用程序获取目标第一类型数据后,可以精准地获知是检测到用户的哪一个操作后发生了崩溃,以及视频应用程序为了完成该操作触发的业务时调用系统接口的情况,从而给出针对性的解决方案。

20、从而上述方案,目标第二类型数据是利用诊断服务模块根据目标第一类型数据生成的,或者是利用诊断服务模块从操作系统中的其他模块获取的。由本文档来自技高网...

【技术保护点】

1.一种日志获取方法,应用于电子设备,所述电子设备包括诊断服务模块和第一应用程序,所述第一应用程序为第三方应用程序,所述诊断服务模块属于所述电子设备的操作系统,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述目标第一类型数据包括:所述第一应用程序为完成业务而调用所述操作系统的接口的过程的追踪信息,和/或,与所述第一应用程序的运行过程中出现的故障相关的数据,所述出现的故障包括所述目标故障。

3.如权利要求1所述的方法,其特征在于,所述目标诊断数据还包括目标第二类型数据,所述目标第二类型数据包括:基于所述目标第一类型数据提取得到的与所述目标故障相关的结构化数据,以及用于指示所述目标故障的类型的结构化数据。

4.如权利要求1所述的方法,其特征在于,所述电子设备未获得root权限。

5.如权利要求1所述的方法,其特征在于,所述利用所述诊断服务模块向所述第一应用程序发送所述目标诊断数据,包括:

6.如权利要求1所述的方法,其特征在于,所述利用所述诊断服务模块向所述第一应用程序发送所述目标诊断数据,包括:p>

7.如权利要求6所述的方法,其特征在于,所述利用所述诊断服务模块向所述第一应用程序发送目标标识符,包括:

8.如权利要求1所述的方法,其特征在于,所述电子设备还包括第二应用程序,所述第二应用程序为系统应用程序,所述第二应用程序包括增强功能开关,所述利用所述诊断服务模块向所述第一应用程序发送所述目标诊断数据,包括:

9.如权利要求8所述的方法,其特征在于,所述方法还包括:

10.如权利要求1或8所述的方法,其特征在于,

11.如权利要求10所述的方法,其特征在于,所述与所述第一应用程序的运行过程中出现的故障相关的数据包括以下至少一项:ANR文件、crash文件或tombstone文件。

12.如权利要求1或8所述的方法,其特征在于,所述目标故障包括性能故障,所述目标第一类型数据包括:所述第一应用程序为完成业务而调用所述操作系统的接口的过程的追踪信息。

13.如权利要求12所述的方法,其特征在于,所述第一应用程序为完成业务而调用所述操作系统的接口的过程的追踪信息,包括:trace文件。

14.如权利要求1所述的方法,其特征在于,

15.如权利要求6所述的方法,其特征在于,所述利用所述第一应用程序,基于所述目标标识符从所述诊断服务模块获取所述目标第一类型数据,包括:

16.如权利要求1所述的方法,其特征在于,在一个或多个第三方应用程序发生故障的情况下,所述利用所述诊断服务模块获取所述目标诊断数据,包括:

17.一种电子设备,包括存储器,以及一个或多个处理器,其特征在于,所述存储器用于存储计算机程序;所述处理器用于调用所述计算机程序,使得所述电子设备执行权利要求1至16中任一项所述的方法。

18.一种计算机存储介质,其特征在于,包括:计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行权利要求1至16中任一项所述的方法。

...

【技术特征摘要】

1.一种日志获取方法,应用于电子设备,所述电子设备包括诊断服务模块和第一应用程序,所述第一应用程序为第三方应用程序,所述诊断服务模块属于所述电子设备的操作系统,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述目标第一类型数据包括:所述第一应用程序为完成业务而调用所述操作系统的接口的过程的追踪信息,和/或,与所述第一应用程序的运行过程中出现的故障相关的数据,所述出现的故障包括所述目标故障。

3.如权利要求1所述的方法,其特征在于,所述目标诊断数据还包括目标第二类型数据,所述目标第二类型数据包括:基于所述目标第一类型数据提取得到的与所述目标故障相关的结构化数据,以及用于指示所述目标故障的类型的结构化数据。

4.如权利要求1所述的方法,其特征在于,所述电子设备未获得root权限。

5.如权利要求1所述的方法,其特征在于,所述利用所述诊断服务模块向所述第一应用程序发送所述目标诊断数据,包括:

6.如权利要求1所述的方法,其特征在于,所述利用所述诊断服务模块向所述第一应用程序发送所述目标诊断数据,包括:

7.如权利要求6所述的方法,其特征在于,所述利用所述诊断服务模块向所述第一应用程序发送目标标识符,包括:

8.如权利要求1所述的方法,其特征在于,所述电子设备还包括第二应用程序,所述第二应用程序为系统应用程序,所述第二应用程序包括增强功能开关,所述利用所述诊断服务模块向所述第一应用程序发送所述目标诊断数据,包括:

9...

【专利技术属性】
技术研发人员:刘铁
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1