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文件中应用如下所示插件和依赖。

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

  • 47
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android西红柿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值