Token导航 LogoToken导航

Agent Skill · 效率

perfetto-analyse(完美分析)

perfetto-analyse 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

perfetto-analyse 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为执行命令;许可证为 MIT-0,第三方扫描已通过,按安装量在效率类的 21,003 个 Skill 里排第 8,049。

总安装 7,484周安装 315GitHub Stars 公开资料未说明下载 2,621核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.0

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:perfetto-analyse(完美分析)
来源仓库:https://github.com/linkecoding/perfetto-analyse
安装命令:
openclaw skills install perfetto-analyse
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install perfetto-analyse

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

perfetto-analyse 用于补充效率相关能力,适合在 OpenClaw 中承接效率类任务。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

它通过 CLI 和配置文件捕获并分析 Android Perfetto 跟踪,涵盖 CPU、GPU、内存、渲染、电源等维度。涉及设备调试时需确保授权和最小权限原则。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install perfetto-analyse;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要执行命令,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

perfetto-analyse 怎么安装?

在终端执行 openclaw skills install perfetto-analyse。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

perfetto-analyse 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

perfetto-analyse 需要什么权限?

权限级别是执行命令。安装流程涉及命令执行,可能通过 openclaw skills install perfetto-analyse 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

perfetto-analyse 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

perfetto-analyse 用的人多吗?

公开数据是累计安装 7,484 次,近一周安装 315 次,下载 2,621 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

perfetto-analyse 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要执行命令,装到常用环境前要先评估影响面。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 不能接受 Skill 在你机器上执行命令的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
perfetto-analyse

完美分析 · 本页

7,484—执行命令MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
perfetto-analyse
description
>-

Perfetto 分析与整理

何时使用本 Skill

  • 需要命令行整理 Android Perfetto trace(adb + perfetto)
  • 需要编写或修改 trace 配置文件(.pbtx / TraceConfig)
  • 需要根据诉求分析 trace:卡顿(jank)、耗时、过度绘制、功耗等

一、Trace 整理

1.1 基本命令

本地设备(adb):

# 使用文本格式配置(Android 10+ 推荐)
adb shell perfetto --txt -c - -o /data/misc/perfetto-traces/trace.pftrace < config.pbtx

# 或先把 config 推到设备再执行(Android 12+ 可写 /data/misc/perfetto-configs)
adb push config.pbtx /data/misc/perfetto-configs/
adb shell perfetto --txt -c /data/misc/perfetto-configs/config.pbtx -o /data/misc/perfetto-traces/trace.pftrace

拉取 trace 到本机:

adb pull /data/misc/perfetto-traces/trace.pftrace .

长时整理(benchmark/CI): 用 perfetto --background 拿到 PID,结束时 kill $PID;或用 write_into_file: true + 较大 duration_ms 做流式写入。

1.2 配置结构要点

  • buffers:至少一个;size_kb 建议 20480+(约 20MB)避免高事件率时丢数据;高吞吐与低频率数据源可分开 buffer(target_buffer: 0/1),避免 ring buffer 冲掉慢数据。
  • duration_ms:整理时长(毫秒),不包含 suspend 时间。
  • data_sources:每个 source 用 config { name: "..." target_buffer: 0 ... },name 必须与数据源注册名一致。

常用 Android 数据源名称见 reference.md。

1.3 按诉求选数据源

诉求建议启用的数据源 / 配置
CPU 调度linux.ftrace + ftrace_events(sched_switch, sched_wakeup 等)
GPU / 渲染linux.ftrace(含 atrace_categories: "gfx")、gpu.renderstages、gpu.counters
内存linux.process_stats、可选 android.heapprofd / android.java_hprof
渲染/合成atrace "gfx"、"view";android.surfaceflinger.layers 等
功耗android.power、ftrace 中 power/*(如 power/gpu_frequency)
卡顿/帧率必须:ftrace + atrace "gfx";建议:surfaceflinger、gpu 相关

编辑 config 时按上表勾选对应 data_sources 块,并保证 buffers 足够大。

二、编辑 Trace 配置文件

2.1 最小可运行示例(仅 CPU 调度)

duration_ms: 10000
buffers {
  size_kb: 20480
  fill_policy: RING_BUFFER
}
data_sources {
  config {
    name: "linux.ftrace"
    target_buffer: 0
    ftrace_config {
      ftrace_events: "sched/sched_switch"
      ftrace_events: "sched/sched_wakeup"
    }
  }
}

2.2 通用 UI/卡顿分析配置要点

  • buffers:至少 20MB(如 20480),必要时多块 buffer 分离 ftrace 与 sys_stats/heapprofd。
  • linux.ftrace:启用 sched/sched_switch、sched/sched_wakeup;加 atrace_categories: "gfx"、atrace_categories: "view" 做渲染与 View 层级;需看指定应用时用 atrace_apps: "com.example.app"。
  • android.surfaceflinger.layers / gpu.renderstages:按需开启,用于帧时间线与 GPU 阶段。
  • android.power:功耗分析时加上对应 android_power_config。

具体字段与更多数据源见 reference.md。修改后用 adb shell perfetto --txt -c - -o /data/misc/perfetto-traces/out.pftrace < config.pbtx 验证能否正常整理。

2.3 Android 注意点

  • Android 10 以下不支持 --txt,需用二进制 config。
  • 长 trace 可用 write_into_file: true、较大 duration_ms,并设 file_write_period_ms(最小约 100ms);buffer 建议 32MB+。
  • 非 root 且 Android 12 以下:config 用 stdin 传入,adb shell perfetto -c - -o ... 且 cat config.pbtx | adb shell perfetto --txt -c - -o ...。

三、Trace 分析

3.1 分析入口

  • Perfetto UI:在 ui.perfetto.dev 打开 .pftrace / .perfetto-trace,看时间线(Scheduling、Frame Timeline、GPU、Binder、内存等)和 Query 面板。
  • 命令行查询:使用 Perfetto 自带的 trace_processor 对 trace 文件做 SQL 查询,适合脚本和 CI。见 3.6。

3.2 卡顿(Jank)与帧率

  • Frame Timeline:看 Present Type(早/准时/迟到)、Jank Type、On time finish、GPU Composition。
  • 常见 Jank 类型:AppDeadlineMissed(应用未按时完成)、BufferStuffing(队列堆积)、SurfaceFlinger GpuDeadlineMissed(GPU 合成超时)等。
  • 排查顺序:主线程是否被长任务/锁阻塞 → GPU 阶段是否过长 → Binder/GC 是否密集。

3.3 耗时与热点

  • 在时间线上选中区间,看该区间内各 track 的时长分布。
  • 用 Query (SQL):查 slice/event 的 duration 排序,定位耗时点。示例见下节。

3.4 过度绘制

  • 结合 atrace 的 "view" 与 "gfx":看 measure/layout/draw 的频次与时长;单帧内过多 draw 或重复的 layout 可作为过度绘制线索。
  • 若 trace 中有渲染层级或 SurfaceFlinger 数据,可结合 Frame Timeline 与 layer 信息看合成与绘制成本。

3.5 功耗

  • 看 android.power 与 ftrace 中 power 相关事件(如 power/gpu_frequency、wakelock)。
  • 结合 CPU 调度与 wakeup:高唤醒、高 CPU 占用时段对应功耗热点。

3.6 SQL 查询(UI 或命令行 trace_processor)

Trace 的 SQL 可在 Perfetto UI 的 Query 面板执行,也可用 trace_processor 命令行工具在本地执行(同一套 PerfettoSQL)。

命令行用法:

# 下载(Linux/macOS)
curl -LO https://get.perfetto.dev/trace_processor
chmod +x ./trace_processor

# 打开 trace 进入交互式 SQL shell
./trace_processor trace.pftrace
# 进入后直接输入 SQL,例如:
# SELECT name, dur/1e6 AS dur_ms FROM slice WHERE dur > 1000 ORDER BY dur DESC LIMIT 20;

通过本 skill 提供的脚本调用 trace_processor(推荐在需要执行单条/文件内 SQL 时使用):

# 依赖: pip install perfetto(或 pip install -r perfetto-analyse/scripts/requirements.txt)
python perfetto-analyse/scripts/query_trace.py <trace.pftrace> -q "SELECT name, dur/1e6 AS dur_ms FROM slice WHERE dur > 1000 ORDER BY dur DESC LIMIT 20"
python perfetto-analyse/scripts/query_trace.py <trace.pftrace> -f query.sql
python perfetto-analyse/scripts/query_trace.py <trace.pftrace> -q "SELECT ..." --csv

脚本内部通过 Perfetto 的 Trace Processor(Python API)加载 trace 并执行 SQL,输出制表符分隔或 CSV。分析 trace 时优先考虑直接运行该脚本并传入用户给出的 SQL 或查询诉求。

示例查询 1:slice 按耗时降序

SELECT slice.name, slice.dur/1e6 AS dur_ms
FROM slice
WHERE slice.dur > 1000
ORDER BY slice.dur DESC
LIMIT 50;

示例查询 2:带进程名(thread track)

SELECT slice.name, slice.dur/1e6 AS dur_ms, process.name AS process_name
FROM slice
JOIN track ON slice.track_id = track.id
JOIN thread ON track.utid = thread.utid
JOIN process ON thread.upid = process.id
WHERE slice.dur > 1000
ORDER BY slice.dur DESC
LIMIT 30;

(时间单位:ts/dur 为纳秒,除以 1e6 得毫秒。以上 SQL 在 UI 与 trace_processor 中均可运行。)

Frame 相关: 若有 ExpectedFrameTimeline 等表,可查 present/jank 类型与 ts 范围,再与 slice 做时间关联。

根据用户具体诉求(只要卡顿 / 只要耗时 / 只要功耗等),从本节选对应子节并给出更具体的操作步骤与可选的 SQL 变体。

四、资源与模板

  • 配置字段与数据源速查:reference.md
  • 按场景的配置示例:configs/ 目录下的 TraceConfig 模板(通用 UI、CPU、功耗等):configs/cpu_only.pbtx.txt、configs/ui_jank.pbtx.txt、configs/power.pbtx.txt。文件以 .pbtx.txt 存储以便上传;内容为标准 .pbtx(TraceConfig)格式。 使用方式:

- stdin 传入:直接 adb shell perfetto --txt -c - -o ... < configs/xxx.pbtx.txt,无需改后缀。 - 推到设备再执行:先 cp configs/xxx.pbtx.txt config.pbtx(或写入到带 .pbtx 的文件),再 adb push config.pbtx ... 与 adb shell perfetto -c /path/config.pbtx ...。perfetto 只认内容,不认本地文件名,但设备上路径建议用 .pbtx 便于识别。

  • 调用 trace_processor 做 SQL 查询:scripts/query_trace.py,用法见上文 3.6。对 trace 文件做查询时,可执行该脚本并传入 -q "SQL" 或 -f query.sql,必要时加 --csv。

分析时优先确认 trace 是否包含对应数据源(如没开 gfx 则看不到详细帧合成),再在 UI 中切到对应 track 与 SQL 做定量分析;需在命令行得到查询结果时,使用 scripts/query_trace.py。

平台分布

OpenClaw

80.1%
按下载量换算2,099

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 openclaw skills install perfetto-analyse 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills