最近项目的原因需要抓自定义的一些atrace,发现使用google 自带的systrace python脚本抓出来的log使用chrome已经打不开了。

想着用用比较时髦的perfetto吧,发现无论如何也抓不到自定义的trace了,细看了一下,尼玛perfetto挖的坑也挺深的。

perffeto UI使用起来逻辑大概是这样的:

1、在界面上选取你想录制对应的项目

2、在recording command里边生成对应的perfetto命令脚本

3、点击start recording,网页就会启动adb server帮你自动化录制perfetto trace,然后pull出来到网页上显示

它的坑大概是这样的:

1、由于它是网页上启动自己的adb server,如果你系统上已经启动了其他的adb server,它就傻掉不work了。

2、看起来选择所有的项目都是可以在recording command里边生成对应的perffetto命令脚本的,除了Atrace这样选项,事实上即使你反复开关Atrace这个选项,脚本里边也是岿然不动的。

对于问题1的解决,我这边是由于android studio启动的时候自己会启动一个adb server,所以用perfetto的时候必须把as关闭它才能直接在perfetto ui上录制,不然只能自己手动录制。

对于问题2,查阅了它官方对于atrace的解释之后,才发现把如下这块手工加到脚本里边才行:

data_sources {
config {
name: "linux.ftrace"
ftrace_config {
# Enables specific system events tags.
atrace_categories: "am"
atrace_categories: "pm" # Enables events for a specific app.
atrace_apps: "com.google.android.apps.docs" # Enables all events for all apps.
atrace_apps: "*"
}
}
}

总之就是使用界面里边生成的脚本,手工加上atrace相关的代码,组合制作一个config.pbtx文件,然后按照如下命令执行抓取trace:

cat config.pbtx | adb shell perfetto -c - --txt -o /data/misc/perfetto-traces/trace.perfetto-trace

然后把

/data/misc/perfetto-traces/trace.perfetto-trace

pull出来手工送到网页上显示即可

具体灵活配置可以自行查阅官方文档:

https://perfetto.dev/docs/quickstart/android-tracing

android 使用 perfetto 抓取atrace的更多相关文章

  1. [Android systrace系列] 抓取开机过程systrace

    ------------------------------------------------------------------------- 这篇文章的小目标:了解抓取开机过程systrace的 ...

  2. Android Screen Monitor抓取真机屏幕

    今天看到一款有点意思的开源软件“android-screen-monitor”, 简要记录如下: 1 简介 一款同步手机真机屏幕到PC上的软件(屏幕实时抓取,有点小卡) 2 开源地址 http://c ...

  3. Android测试日志文件抓取与分析

    1.log文件分类简介 实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志 状态信息的有:adb shel ...

  4. android adb命令 抓取系统各种 log

    getLog.bat: adb root adb remount adb wait-for-device adb logcat -v time > C:\log.txt 在Android中不同的 ...

  5. Android APP测试的日志文件抓取

         1    log文件分类简介 实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志 状态信息的有: ...

  6. 抓取Android应用的log

    今天测试软件时,遇到一个bug,因为开发说那边不复现,所以为了更好追踪这个问题,需要抓取复现步骤地log. 在网上查了相关资料,同时结合自己遇到的问题,总结如下. 1. 抓取Android 应用log ...

  7. 【android】[转]Android软件测试的日志文件抓取简介

    1    log文件分类简介 实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志 状态信息的有:adb s ...

  8. Charles + Android 抓取Https数据包 (适用于Android 6.0及以下)

    通过Charles代理,我们能很轻易的抓取手机的Http请求,因为Http属于明文传输,所以我们能直接获取到我们要抓取的内容.但是Https内容本身就是加密的,这时我们会发现内容是加密的了.本文我们来 ...

  9. jsoup使用样式class抓取数据时空格的处理

    最近在研究用android和jsoup抓取小说数据,jsoup的使用可以参照http://www.open-open.com/jsoup/;在抓纵横中文网永生这本书的目录内容时碰到了问题, 永生的书简 ...

随机推荐

  1. [nowcoder5671D]Data structure

    问题相当于统计$且\sum_{l\le x<y\le r且lca(x,y)=x}1=c(sz[x],2)-\sum_{son}c(sz[son],2)$,考虑用莫队来维护区间,那么相当于要支持: ...

  2. [bzoj1113]海报

    ans肯定不会超过n,因为我们可以每一列都放一个矩阵考虑减小答案,肯定是要放横的,也就是让两个高度一样的矩阵同时被消除掉,那么中间不能存在比他们低的矩阵问题即判断一个点之前第一个小于等于它的点是不是等 ...

  3. 通过Rainbond的团队管理去管理已有的组织架构

    针对于多团队管理我先列举几个小问题,看看大家有没有共鸣,我们在刚刚接触并使用Rainbond的时候,仅仅创建一个团队,里面创建一大堆应用,看起来特别乱,进行管理的时候呢,也会非常麻烦,尤其是当团队需要 ...

  4. [省选联考 2020 A 卷] 组合数问题

    题意 [省选联考 2020 A 卷] 组合数问题 想法 自己在多项式和数论方面还是太差了,最近写这些题都没多少思路,看完题解才会 首先有这两个柿子 \(k*\dbinom{n}{k} = n*\dbi ...

  5. ACAM 题乱做

    之前做了不少 ACAM,不过没怎么整理起来,还是有点可惜的. 打 * 的是推荐一做的题目. I. *CF1437G Death DBMS 见 我的题解. II. *CF1202E You Are Gi ...

  6. C++ and OO Num. Comp. Sci. Eng. - Part 1.

    本文参考自 <C++ and Object-Oriented Numeric Computing for Scientists and Engineers>. 序言 书中主要讨论的问题是面 ...

  7. [R]在dplyr基础上编写函数-(1)eval

    tidyverse系列的R包虽然解放了大家的双手,但同时也束缚了我们重新编写函数的能力.在这一套语法中,要实现作为函数参数的字符串和变量之间的相互转换困难重重,但只要掌握了其中原理后,也就能够游刃有余 ...

  8. Go知识点大纲

    目录 1. 基本介绍 2. 安装及配置 3. 变量 4. 常量 5. 数据类型 5.1 numeric(数字) 5.2 string(字符串) 5.3 array(数组) 5.4 slice(切片) ...

  9. Linux—Linux系统目录结构

    登录系统后,在当前命令窗口下输入命令:  ls /  你会看到如下图所示: 树状目录结构: 以下是对这些目录的解释: /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令. /boo ...

  10. UE4之Slate: SImage

    概述 距离上次记录<UE4之Slate:纯C++工程配置>后已经好长时间了: 这个随笔来记录并分享一下SImage控件的使用,以在屏幕上显示一张图片: 目标 通过SImage控件的展示,学 ...