BTrace:字节跳动开源的高性能Android追踪工具
BTrace(又名RheaTrace)是一款基于Perfetto的高性能Android追踪工具。它能够在构建APK时自动定义自定义事件,并通过bhook提供更多原生事件,如渲染(Render)、Binder、IO等。BTrace的设计旨在为开发者提供一种高效的追踪和分析应用性能的方法。## 2. 项目快速启动### 环境准备- 确保你的计算机已集成ADB和Java环境。- 连接你的手...
·
BTrace:字节跳动开源的高性能Android追踪工具
1. 项目介绍
BTrace(又名RheaTrace)是一款基于Perfetto的高性能Android追踪工具。它能够在构建APK时自动定义自定义事件,并通过bhook提供更多原生事件,如渲染(Render)、Binder、IO等。BTrace的设计旨在为开发者提供一种高效的追踪和分析应用性能的方法。
2. 项目快速启动
环境准备
- 确保你的计算机已集成ADB和Java环境。
- 连接你的手机到计算机,并确保它被ADB设备识别。
项目配置
在项目的根目录下的build.gradle文件中添加rhea-gradle-plugin依赖:
buildscript {
dependencies {
classpath 'com.bytedance.btrace:rhea-gradle-plugin:2.0.3-rc02'
}
}
apply plugin: 'com.bytedance.rhea-trace'
dependencies {
implementation "com.bytedance.btrace:rhea-core:2.0.3-rc02"
}
rheaTrace {
compilation {
traceFilterFilePath = "${project.rootDir}/trace-filter/traceFilter.txt"
needPackageWithMethodMap = true
applyMethodMappingFilePath = ""
}
}
运行追踪
- 构建并安装APK到你的手机上。
- 下载最新的脚本来你的计算机。
- 在脚本所在的目录下,执行以下命令:
java -jar rhea-trace-shell.jar -a ${你的应用包名} -t 10 -o output.pb -r rhea.all sched -fullClassName
追踪结果可以保存到指定的文件中,并通过Perfetto UI进行分析。
3. 应用案例和最佳实践
- 性能分析:利用BTrace收集方法调用时间,分析应用性能瓶颈。
- 事件追踪:追踪应用中的关键事件,如渲染、Binder调用等。
- 内存使用:通过追踪分析内存分配和回收,优化内存使用。
4. 典型生态项目
目前,BTrace已在字节跳动的多个项目中得到应用,例如:
- RheaAndroid:为Android应用提供追踪能力。
- RheaBuild:构建时生成方法映射文件,确保编译后方法ID的一致性。
- RheaCommon:提供追踪工具的通用功能。
BTrace的开源社区也在不断扩大,欢迎更多的开发者参与贡献和反馈。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)