traceview
分析工具(android)
- 该工具可以把对应
trace
的方法耗时/调用堆栈以及线程关系给解析出来 - 主要用于在两次版本迭代时,为了迅速找到新版本新增的方法以及异常的方法耗时,可以使用默认的
sheet_analysys.py
来生成报表
在config.py
中配置基准traceview
路径以及对比traceview
路径,如果需要解混淆,配置对应mapping
文件路径,目前已自带解mapping
工具
有两种方式
- 通过
TraceUtils(...).anti_mapping.analysis.get("dict")
可以获取解析结果,结果是一个dict/json
,格式为
{
"inclusive": "xx",
"exclusive": "xx",
"method_thread": "xx",
"theads_pid": "xx",
"call_times": "xx",
"costs": "xx",
"sorted_dic": "xx"
}
- 使用默认的报表对比方法,该方法直接对比两个trace文件的方法,过滤出新增的方法,以及同一个方法的耗时差对比,入口为
sheet_analysis.py
,通过render.py
来将结果渲染成csv文件
config.py
的WATCH_MODULES
可以用来设置需要关注的模块,采用此配置可以在解析中过滤出我们不需要关心的包或者模块中的方法config.py
的MAPPING_FILE
用于配置反混淆mapping(如果不配置,则不会反混淆),默认采用convertutil.jar
来生成混淆前的trace
文件,如果修改TraceHandler
中的anti_mapping
函数