6 atrace和systrace的基本使用方法

目录

1 atrace

2 systrace

3 附件


1 atrace

adb shell进入设备:atrace --list_categories

         gfx - Graphics
       input - Input
        view - View System
     webview - WebView
          wm - Window Manager
          am - Activity Manager
          sm - Sync Manager
       audio - Audio
       video - Video
      camera - Camera
         hal - Hardware Modules
         res - Resource Loading
      dalvik - Dalvik VM
          rs - RenderScript
      bionic - Bionic C Library
       power - Power Management
          pm - Package Manager
          ss - System Server
    database - Database
     network - Network
         adb - ADB
    vibrator - Vibrator
        aidl - AIDL calls
         pdx - PDX services
       sched - CPU Scheduling
         irq - IRQ Events
         i2c - I2C Events
        freq - CPU Frequency
        idle - CPU Idle
        disk - Disk I/O
         mmc - eMMC commands
        load - CPU Load
        sync - Synchronization
       workq - Kernel Workqueues
  memreclaim - Kernel Memory Reclaim
  regulators - Voltage and Current Regulators
  binder_driver - Binder Kernel driver
  binder_lock - Binder global lock trace
   pagecache - Page cache

https://www.cnblogs.com/liuliu-word/p/9963017.html
https://www.cnblogs.com/pyjetson/p/14946007.html
adb shell "atrace camera -b 20480 -t 5" > atrace
atrace抓取camera调用流程,缓存20480KB,抓取5s。
看了下,是抓cameraserver进程以及camerahalserver进程的调用流程,很有用!

2 systrace

systrace:Android的trace数据分析工具,将atrace采集上来的数据,以图形化的方式展现出来。
https://blog.csdn.net/chaihuasong/article/details/109764573
python systrace.py -h
python systrace.py --from-file atrace -o systrace.html 

手动下载android sdk,使用里面的systrace.py等相关文件。见3 附件。
https://blog.csdn.net/qq_42391248/article/details/101781994
https://www.cnblogs.com/wpgraceii/p/10649331.html
经验证,手动下载的android sdk里systrace工具可用!
python systrace.py --from-file atrace -o systrace.html

看systrace常用快捷键:
w 扩展
s 压缩
m 选中当前session区间;ctrl+选中多个,再m,可选中多个区间看span
鼠标点击拖动,左移,右移
ctrl+鼠标滚轮,放大字体,缩小字体

3 附件

https://download.csdn.net/download/u012906122/76482104?spm=1001.2014.3001.5503

### 使用 systrace.py 脚本转换 atrace.out 文件 要将 `atrace.out` 文件转换为 Systrace 可视化文件(HTML 格式),可以使用 Android SDK 中的 `systrace.py` 工具。该工具能够将通过 `atrace` 命令采集的原始 trace 数据转换为图形化的 HTML 页面,便于分析系统性能问题[^1]。 具体的命令格式如下: ```bash python systrace.py --from-file <trace_file> -o <output_html_file> ``` 其中 `<trace_file>` 是通过 `atrace` 采集的 `atrace.out` 文件,而 `<output_html_file>` 是输出的 HTML 文件名称。例如: ```bash python systrace.py --from-file trace.out -o trace.html ``` 该命令会读取 `trace.out` 文件,并生成一个名为 `trace.html` 的 HTML 文件,可以通过浏览器打开查看图形化的 trace 数据[^2]。 ### 获取 systrace.py 工具 `systrace.py` 工具包含在 Android SDK 的 `platform-tools` 目录中。如果尚未安装 Android SDK,可以从官方或国内镜像站点手动下载 SDK 工具包,并提取其中的 `systrace` 目录使用。 ### 示例:通过 ADB 抓取 trace 并转换 在实际使用中,可以通过 ADB 命令在设备上运行 `atrace`,并将输出保存为 `trace.out` 文件。例如: ```bash adb shell atrace -z -b 40000 am wm view app res ss gfx view hal bionic pm sched irq freq idle disk mmc load sync workq binder_driver binder_lock pagecache memreclaim dalvik input -t 15 > /data/local/tmp/trace_output ``` 然后将文件从设备中拉取到本地: ```bash adb pull /data/local/tmp/trace_output ``` 最后使用 `systrace.py` 进行转换: ```bash python systrace.py --from-file trace_output -o output.html ``` 生成的 `output.html` 文件可以用于性能分析,例如查看事件流、系统模块的执行时间等信息[^3]。 ### 注意事项 - 确保 `systrace.py` 所在路径已加入 Python 环境中,或直接使用完整路径调用脚本。 - 如果设备运行的是 `user` + `root` 或 `userdebug` 版本,可以在不连接 USB 的情况下抓取 trace 数据[^5]。 - `atrace` 命令中 `-b` 参数用于设置缓冲区大小,`-t` 表示抓取 trace 的时间长度(单位为秒)。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值