网站内容抓取工具(Android下一代几个的几个收集和分析框架,你知道吗? )

优采云 发布时间: 2022-03-02 00:06

  网站内容抓取工具(Android下一代几个的几个收集和分析框架,你知道吗?

)

  介绍

  Perfetto工具是Android下一代统一的trace采集和分析框架,可以捕获平台和app的trace信息。用来替换systrace,但是systrace由于历史原因仍然会存在,Perfetto捕获的trace文件也可以转换成systrace视图。如果您习惯使用 systrace,您可以使用 Perfetto UI 的“Open with legacy UI”将其转换为 systrace 视图。Perfetto的主要特点如下:

  跟踪采集过程

  在说具体的采集流程之前,可以先看一下它的整体框架图和流程结构。有几个重要的过程需要说明:

  

  Perfetto整体框架图

  

  Perfetto的另一种观点

  我还没有研究过它的源码,所以无法一一匹配上面的两个视图。这是另一个视图,只是为了让您更多地了解这个工具。上面提到除了标准的tracepoints之外,Perfetto还可以提供很好的可扩展性。这里我们先来看看标准的tracepoints,如下图所示。对比之前的systrace,我们发现Perfetto还是可以提供一些其他的功能。例如,它可以直接抓取事件日志,以及虚拟内存事件等。

  

  标准跟踪点

  在 Pixel 和 Pixel2 机型上,traced 和 traced_probes 这两个进程默认启用,但在其他机型上,您可能需要执行以下命令来启动这两个进程。开启这两个进程后,就可以正常抓包了。获取trace信息的方式也很方便,只要设置一个属性即可。

  adb shell setprop persist.traced.enable 1

  执行上述命令后,如果看到类似如下的日志,则说明启动成功。也可以直接ps看有没有这两个进程。

  $ adb logcat -s perfetto

perfetto: service.cc:45 Started traced, listening on /dev/socket/traced_producer /dev/socket/traced_consumer

perfetto: probes.cc:25 Starting /system/bin/traced_probes service

perfetto: probes_producer.cc:32 Connected to the service

  启用守护进程后,您可以执行 perfetto 命令行工具。这个命令行工具的用法和具体参数的含义就不一一介绍了。只需阅读评论。

  1902:/ # perfetto

perfetto_cmd.cc:89

Usage: perfetto

--background -b : Exits immediately and continues tracing in background

--config -c : /path/to/trace/config/file or - for stdin

--out -o : /path/to/out/trace/file

--dropbox -d TAG : Upload trace into DropBox using tag TAG (default: perfetto)

--no-guardrails -n : Ignore guardrails triggered when using --dropbox (for testing).

--help -h

statsd-specific flags:

--alert-id : ID of the alert that triggered this trace.

--config-id : ID of the triggering config.

--config-uid : UID of app which registered the config.

  其中--out用于指定trace输出文件,--config用于指定配置,即多长时间捕获,多长时间将内存数据写回文件,捕获哪些tracepoint等。 ,这个配置文件的内容,我们可以手动写,也可以用Perfetto UI网站生成。此外,默认情况下,Perfetto 中集成了一个测试配置。您可以使用以下命令来获取使用测试配置的跟踪文件。

  $ adb shell perfetto --config :test --out /data/misc/perfetto-traces/trace //使用内置的test配置,然后输出到/data/misc/perfetto-traces/trace

  抓取后,拉取/data/misc/perfetto-traces/trace文件的内容,用Perfetto UI网站打开,如下图:

  

  界面模式

  自定义配置

  目前最方便的生成配置文件的方式是使用ui.perfetto.devPerfetto UI来帮助生成。点击Perfetto UI的“Record new trace”后,会看到很多配置界面,如下图所示:

  

  RecordingMode配置界面

  

  CPU配置页面

  

  Android 应用和服务配置页面

  选择好你想要的tracepoints后,点击开始录制,会生成如下命令内容。复制命令内容,直接在终端执行。完成后,将文件 /data/misc/perfetto-traces/trace 复制出来,使用上面的 ui.perfetto.dev 分析就可以了。

<p>adb shell perfetto \

-c - --txt \

-o /data/misc/perfetto-traces/trace \

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线