BTrace:字节跳动开源的高性能Android追踪工具

【免费下载链接】btrace 🔥🔥 btrace(AKA RheaTrace) is a high performance Android trace tool which is based on Perfetto, it support to define custom events automatically during building apk and using bhook to provider more native events like Render/Binder/IO etc. 【免费下载链接】btrace 项目地址: https://gitcode.com/gh_mirrors/btrac/btrace

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 = ""
    }
}

运行追踪

  1. 构建并安装APK到你的手机上。
  2. 下载最新的脚本来你的计算机。
  3. 在脚本所在的目录下,执行以下命令:
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的开源社区也在不断扩大,欢迎更多的开发者参与贡献和反馈。

【免费下载链接】btrace 🔥🔥 btrace(AKA RheaTrace) is a high performance Android trace tool which is based on Perfetto, it support to define custom events automatically during building apk and using bhook to provider more native events like Render/Binder/IO etc. 【免费下载链接】btrace 项目地址: https://gitcode.com/gh_mirrors/btrac/btrace

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐