btrace (又名 RheaTrace) 是一个基于 Systrace 实现的高性能 Android trace 工具,它支持在 App 编译期间自动注入自定义事件,并使用 bhook 额外提供 IO 等 native 事件。
RheaTrace v2.0.0 发布啦 ,此版本带来如下优化:
- 使用体验:支持 Windows 啦!此外将脚本实现从 Python 切至 Java 并去除各种权限要求,因脚本工具可用性问题引起的用户使用打断次数几乎降为 0,同时还将 Trace 产物切至 PB 协议,产物体积减小 70%,网页打开速度提升 7 倍。
- 性能体验:通过大规模改造方法 Trace 逻辑,将 App 方法 Trace 底层结构由字符串切换为整数,实现内存占用减少 80%,存储改为 mmap 方式、优化无锁队列逻辑、提供精准插桩策略等,百万量级方法全插桩下性能损耗进一步降低至 15%。
- 监控数据:新增 4 项数据监控能力,重磅推出渲染详情采集能力,同时还新增 Binder、线程启动、Wait/Notify/Park/Unpark 等详情数据。
更新公告:https://github.com/bytedance/btrace/releases/tag/v2.0.0