/TraceAnalysis

Traceview解析工具

Primary LanguagePythonMIT LicenseMIT

TraceAnalysis

traceview分析工具(android)

  • 该工具可以把对应trace的方法耗时/调用堆栈以及线程关系给解析出来
  • 主要用于在两次版本迭代时,为了迅速找到新版本新增的方法以及异常的方法耗时,可以使用默认的sheet_analysys.py来生成报表

使用方式

前置操作

config.py中配置基准traceview路径以及对比traceview路径,如果需要解混淆,配置对应mapping文件路径,目前已自带解mapping工具

结果输出

有两种方式

  1. 通过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"
            }
  1. 使用默认的报表对比方法,该方法直接对比两个trace文件的方法,过滤出新增的方法,以及同一个方法的耗时差对比,入口为sheet_analysis.py,通过render.py来将结果渲染成csv文件

注意事项

  1. config.pyWATCH_MODULES可以用来设置需要关注的模块,采用此配置可以在解析中过滤出我们不需要关心的包或者模块中的方法
  2. config.pyMAPPING_FILE用于配置反混淆mapping(如果不配置,则不会反混淆),默认采用convertutil.jar来生成混淆前的trace文件,如果修改TraceHandler中的anti_mapping函数