字节跳动 Android 客户端可观测建设实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 王涛
2. 产品研发和工程架构-App Health
• 监控产品构建:Slardar、APMPlus
• 业务性能优化:通用优化能力、业务指
王涛
•
Android APM 性能监控产品的构建,帮
助头条等业务方优化内存等性能指标。
标优化
• 插件热修:插件框架、热修框架
• 编译构建:打包发布、编译优化
2019 年至今,任职于字节跳动,负责
•
目前担任火山引擎 APMPlus 平台
Android / 鸿蒙监控产品客户端技术负责
人。
•
拥有支撑几十亿级别DAU产品的性能稳定
性监控经验。
3. 目录
4.
5.
6. Slardar APMPlus
支持抖音、头条、飞书、番茄小说、剪映、豆包等 支持吉利、理想、蔚来、智谱、凯叔讲故事、Keep、作业
字节跳动内部所有应用的性能稳定性监控。 帮、长桥证券等众多外部业务的性能稳定性监控。
涵盖车企、AI应用、在线教育、金融、工具、社交娱乐等众
多类别的应用。
支撑几十亿级别DAU产品的全链路性能稳定性监控
7. 崩溃 无法登录
卡死/ANR 下单失败
Ops!
启动太慢
应用发生异
常!!
太卡,无法操作
耗电太快 磁盘占用太高
流量消耗大 网络访问异常
8.
9.
10. 核心逻辑
•
配置和采样能力:通过配置控制不同性能数
据是否采集上报,以及相关采集的阈值。采
样可以有效降低服务器数据压力和对端上的
性能影响。
•
mmap存储和聚合上报:通过mmap的方
式,保证数据缓存的高性能和数据不丢失。
聚合上报减少网络传输流量消耗并提高数据
处理效率。
•
自定义日志Alog/Vlog:通过mmap的方式把
业务自定义日志和Apm日志写入到文件,通
过回捞、主动上报、随崩溃上报的方式上报
到服务器,确保每个用户的体验问题都可以
获取到有效日志来分析解决。
11.
12. 评估优化指标的优先级
•
体验影响程度和比例:用户感知程度和
影响用户比例
•
应用对比:对比线上监控不同应用的指
标差异
•
AB实验:线上的指标优化/劣化实验结论
13. 抖音:应用使用时长 Helo:OOM率
优化效果:抖音最近3年性能体验优化,通 优化效果:两个月
过A/B实验来明确性能收益和业务收益,累
计统计应用使用时长
14.
15. OutOfMemoryError
•
•
•
16. Hprof文件
•
•
17. •
•
•
•
18. 泄露解决
•
•
19. 大对象解决
•
•
20. 优化效果
•
•
21. •
•
22. 核心能力
• 网络大盘:查看网络成功率,整体耗时,阶段耗时等数据。
• 网络错误:分析网络错误并进行归因。包括失败的类型,占
比,失败详情。
•
多维分析:不同维度的网络分析。包括域名、path、网络类
型、地域等维度。
•
报警配置:对于网络成功率和耗时等异常波动,可以立即收
到报警信息,排查问题。
23. TTNet网络库
TTNet是字节跳动网络架构部门研发的一款客户端网络库,在Cronet的基础上进行开发和深入定制,在调度容灾、性能调优、监控
排错等多方面有有效实践,当前为字节跳动的绝大多数App提供网络服务。
24. 日志查询
在业务反馈异常后,通过日志查询输
入did/userid,可以查询单设备已经上
报的所有数据,包括崩溃、ANR、卡
顿、内存、CPU、磁盘、启动、页面
访问、流量消耗、使用时长等所有数
据。
25. 自定义日志
•
针对单点问题分析,提供自定义日
志的能力,业务通过Alog/Vlog库
进行日志打点。
•
可以通过回捞,用户反馈按钮主动
上报,崩溃时上报来获取自定义日
志分析用户问题。
•
日志文件在本地加密、压缩保存,
利用系统 mmap 机制保证日志写
入的效率并保证数据完整不丢失。
26. 智能修复【AutoFix】
•
目标:借助大模型的推理能力构建AI
Agent【AutoFix】,对异常一键产生自
动修复的代码,提升客户端研发修复Bug
的效率。
•
核心原理:【AutoFix】核心原理是把异
常归因相关的堆栈和源码等数据交给
LLM,LLM通过预分析、查找源码、规
划修复方案、执行修改,最终直接给出
修复后的代码Patch。
27. 智能修复【AutoFix】
•
异常详情页面:一键自动生成修复
Patch。
•
示例:左侧为【AutoFix】对一个Java多
线程异常
ConcurrentModificationException问
题,给出了正确的修复方案。
28.
29. ANR和Native崩溃等深度疑
难问题的进一步归因,采
集更加丰富的归因数据。
大模型和监控平台的深度
融合,对异常归因进一步
提效。包括智能分析和自
动修复等方向。
支持对鸿蒙系统监控的全
面能力建设,包括OOM问
题归因,卡顿、CPU等性
能监控。
深度参与到业务核心疑难
问题的优化,直接带来业
务指标收益。
30.
31. 大模型正在重新定义软件
Large Language Model Is Redefining The Software