[发明专利]一种采集追踪trace调用链的方法和电子设备有效
申请号: | 202010225986.8 | 申请日: | 2020-03-26 |
公开(公告)号: | CN113448815B | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 江利进;罗煜;李翠琴 | 申请(专利权)人: | 华为技术有限公司;多伦多大学理事会 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 张卿;时林 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 采集 追踪 trace 调用 方法 电子设备 | ||
本申请提供了一种采集追踪trace调用链的方法,该方法应用于电子设备中,该方法包括:该电子设备从寄存器中获取函数的时间信息和标识信息,该时间信息包括进入该函数的时刻以及退出该函数的时刻;该电子设备将该时间信息和该标识信息存储在内存中;在满足预设条件时,该电子设备根据该标识信息确定该函数对应的函数名,并将该内存中的该时间信息以及该函数名写入trace文件。本申请实施例可以在不影响系统性能的情况下,获取完整的调用路径,从而为系统性能问题的定位提供准确的信息。
技术领域
本申请涉及电子设备领域,并且更具体地,涉及一种获取追踪调用链的方法和电子设备。
背景技术
当前Android系统的智能手机使用过程中仍会出现许多性能问题,比如用户在使用某应用程序(application,App)出现卡顿现象。性能问题通常是随机的、不确定的、且难以复现的,基于此需要一款可以常运行的追踪(trace)调用链工具,保证在性能问题发生时能自动抓取到现场,以帮助分析与定位性能问题。
Systrace是Android系统提供一款性能问题分析工具,它能抓取到Android系统中若干预埋的调用路径。但是该方法不能获取到完整的调用路径,提供的有用信息有限,无法对性能问题做深入和准确的分析。
发明内容
本申请提供一种采集追踪trace调用链的方法和电子设备,有助于对电子设备的性能问题做深入和准确的分析。
第一方面,提供了一种采集追踪trace调用链的方法,该方法应用于电子设备中,该方法包括:该电子设备从寄存器中获取函数的时间信息和标识信息,该时间信息包括进入该函数的时刻以及退出该函数的时刻;该电子设备将该时间信息和该标识信息存储在内存中;在满足预设条件时,该电子设备根据该标识信息确定该函数对应的函数名,并将该内存中的该时间信息以及该函数名写入trace文件。
本申请实施例中,电子设备可以直接从寄存器中获取时间信息和标识信息,这样的处理方法省去了函数调用的开销,从而对系统性能的消耗非常小(不影响用户体验,且不会使系统性能恶化);该方法还可以获取到完整的调用路径,从而可以保证抓到性能问题发生的真正现场,为系统性能问题的定位提供准确的信息。
在一些可能的实现方式中,该内存为环形内存。
结合第一方面,在第一方面的某些实现方式中,该电子设备根据该标识信息确定该函数对应的函数名,包括:该电子设备调用转化接口,将该函数的标识信息转化为该函数名。
本申请实施例中,电子设备在内存中保存的是函数的标识信息而不是函数对应的函数名,减少了电子设备在将时间信息和标识信息写入内存的耗时,从而降低了写入带来的性能开销。
应理解,本申请实施例中的函数可以包括函数名、函数参数等等信息。
在一些可能的实现方式中,该转化接口为ArtMethod::PrettyMethod()接口。应理解,本申请实施例中对接口的名称并不作限定,还可以是其他转化接口。
在一些可能的实现方式中,该函数可以是由预设比特数标识。
结合第一方面,在第一方面的某些实现方式中,该标识信息为该函数的指针地址。
本申请实施例中,电子设备可以从寄存器中获取函数的指针地址,通过保存指针地址而不是保存函数名,减少了电子设备在将时间信息和标识信息写入内存的耗时,从而降低了写入带来的性能开销。
结合第一方面,在第一方面的某些实现方式中,该寄存器包括第一寄存器和第二寄存器,该电子设备从寄存器中获取函数的时间信息和标识信息,包括:该电子设备在该函数开始运行时,从该第一寄存器获取进入该函数的时刻且从该第二寄存器获取该函数的标识信息;该电子设备在该函数运行结束时,从该第一寄存器获取退出该函数的时刻。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;多伦多大学理事会,未经华为技术有限公司;多伦多大学理事会许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010225986.8/2.html,转载请声明来源钻瓜专利网。