Releases: bytedance/btrace
Releases · bytedance/btrace
RheaTrace v3.0.1-alpha01
Android
- 修复抓 trace 时的
wait for trace ready timeout问题; - 优化抓启动 trace 时无法正确解析到 launcher activity 导致无法正常启动的问题,并在多 launcher activity 场景下增加 -launcher 选项来指定具体的 launcher activity。
- processor 下载链接:rhea-trace-processor-3.0.1-alpha01.jar
iOS
- 优化集成 SDK 和运行命令行工具的说明;
- 修复构建时缺少 sqlite 依赖的问题。
Android
- Fix
wait for trace ready timeoutissue. - Fix launch failure issue when multiple active launcher activies exist in app, and add
-launcheroption to specify target launcher activity. - Url for processor: rhea-trace-processor-3.0.1-alpha01.jar
iOS
- Optimize the instructions for integrating SDK and running command-line tools.
- Fix the issue of missing SQLite dependency during the build process.
RheaTrace v3.0.0
- 🔥🔥新增 iOS 支持:iOS 端隆重推出不依赖 Xcode 和 Instruments 的高性能实时采集 Trace 工具,有效降低了 Instruments 的使用成本,同时支持携带 CPU、Memory 等系统资源,Hitch 卡顿以及业务自定义信息的能力,以自动化通过 Perfetto 火焰图展示的方式,方便用户可视化的分析性能和业务问题。
- Trace 采集方案全新升级:创新性推出了同步抓栈结合动态插桩的全新 Trace 采集方案,相比 2.0 的编译期字节码插桩方案,显著降低了工具的接入成本,告别了编译期插桩带来的各种兼容性问题,让工具的使用体验以及稳定性也都得到了显著提升!
- 🔥🔥 iOS Support Added: A high-performance real-time Trace collection tool for iOS is grandly launched, which does not rely on Xcode or Instruments. This effectively reduces the usage cost of Instruments, while supporting the collection of system resources such as CPU, Memory, Hitch, and custom business information. It automatically visualizes data through Perfetto flame graphs, enabling users to analyze performance and business issues visually with ease.
- Tracing Solution Revolutionarily Upgrade: We introduce a new tracing solutionthat combines synchronized backtracingwith dynamically instrumentation. Unlike the compile-time bytecode instrumentation approach used in v2.0, this upgrade dramatically reduces integration complexity and eliminates compatibility issues caused by compile-time instrumentation. It also provids a smoother, more stable user experience!
RheaTrace v2.0.3-rc02
Gradle 插件更新
- 修复了 methodMapping.txt 内置失败的问题
Gradle Plugin Changes
- Fixed failure of methodMapping.txt to build in.
RheaTrace v2.0.3-rc01
Gradle 插件更新
- 移除了对 bytex 的依赖
- 新增对 agp 7.x 版本兼容
Gradle Plugin Changes
- Removed the dependency on bytex.
- Compatible with the agp 7.x version.
RheaTrace v2.0.0
- 使用体验:支持 Windows 啦!此外将脚本实现从 Python 切至 Java 并去除各种权限要求,因脚本工具可用性问题引起的用户使用打断次数几乎降为 0,同时还将 Trace 产物切至 PB 协议,产物体积减小 70%,网页打开速度提升 7 倍!
- 性能体验:通过大规模改造方法 Trace 逻辑,将 App 方法 Trace 底层结构由字符串切换为整数,实现内存占用减少 80%,存储改为 mmap 方式、优化无锁队列逻辑、提供精准插桩策略等,百万量级方法全插桩下性能损耗进一步降低至 15%!
- 监控数据:新增 4 项数据监控能力,重磅推出渲染详情采集能力!同时还新增 Binder、线程启动、Wait/Notify/Park/Unpark 等详情数据!
- User Experience: We now support Windows! No more dependency on Python 2.7 and storage permissions! The scripting language has been changed to Java reducing the interruption caused by the usability issue of the scripting tool to almost zero! And we've switched to the PB protocol for trace artifacts, resulting in a 70% reduction in storage needs and a 7x speed boost when opening trace files.
- Performance Experience: Rewriting the method Trace collection logic, switching data from strings to integers, reducing memory usage by 80%. Data storage is changed to mmap mode, optimizing lock-free queue logic, providing accurate instrumentation strategies, and further reducing performance loss to 15% under millions of methods instrumentation!
- Monitoring Data: Adding 4 new data monitoring capabilities, including detailed data on Rendering, Binder, thread creation, and Wait/Notify/Park/Unpark!
RheaTrace v1.0.2
-
修复因编译问题引起的 App 类找不到崩溃问题。
-
修复某些情况下 trace 闭合异常问题。
-
Fix the crash problem that the App class cannot be found due to compilation problems.
-
Fix the abnormal problem of trace closure in some cases.
RheaTrace v1.0.1
-
First version.
-
第一个版本。