btrace使用记录

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。
专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。
未经允许不得转载

在这里插入图片描述

一、导读

我们继续总结学习基础知识,温故知新。

systrace是Android4.1版本之后推出的,对系统Performance分析的工具,该工具结合Android 内核的数据,最终会生产html文件。
systrace的功能包括跟踪系统的I/O操作、内核工作队列、CPU负载以及Android各个子系统的运行状况等
Systrace允许你监视和跟踪Android系统的行为(trace)。

但是使用起来比较复杂,还得整个Python 2.7 环境,同时产物体积庞大,网页打开速度很慢。

为此,我们要找个更好的工具,索性字节有个开源工具, btrace(AKA RheaTrace),它是基于 Systrace 的高性能 Trace 工具。

本文简单做个记录,防止找不到文档了。

二、使用

项目配置
在您项目的根目录下build.gradle文件中增加 rhea-gradle-plugin 作为依赖。

buildscript {
    
    
    dependencies {
    
    
        classpath 'com.bytedance.btrace:rhea-gradle-plugin:2.0.3-rc02'
    }
}

接着,在app/build.gradle文件中应用如下所示插件和依赖。

扫描二维码关注公众号,回复: 17433768 查看本文章
dependencies {
    
    
    // rheatrace core lib
    implementation "com.bytedance.btrace:rhea-core:2.0.3-rc02"
}
...
apply plugin: 'com.bytedance.rhea-trace'
...
rheaTrace {
    
    
   compilation {
    
    
      traceFilterFilePath = "${project.rootDir}/trace-filter/traceFilter.txt"
      needPackageWithMethodMap = true
      applyMethodMappingFilePath = ""
   }
}

然后运行app,

确保电脑已集成 adb 与 Java 环境。

连接手机至电脑,并保证可被 adb devices 识别。

安装集成 RheaTrace 2.0 的 APK 至手机。

下载下方“脚本管理” 最新脚本至电脑。

在电脑脚本所在目录执行如下命令。


java -jar rhea-trace-processor-2.0.0.jar -a com.xxx -t 10 -o output.pb -r rhea.all sched -fullClassName 

java -jar rhea-trace-processor-2.0.0.jar -a com.xxx -t 5 -o output.pb rhea.all sched -fullClassName -mode simple

-r 表示重启应用,根据需求来确定

通过上面的命令,我们可以得到一个文件,trace 产物使用 https://ui.perfetto.dev/ 即可打开分析。

git doc

感兴趣的可以看看

原理揭秘

效果图

三、 推荐阅读

Java 专栏

SQL 专栏

数据结构与算法

Android学习专栏

未经允许不得转载

ddd

猜你喜欢

转载自blog.csdn.net/fumeidonga/article/details/139903958