← 返回 Skills 市场
steipete

Instruments Profiling

作者 Peter Steinberger · GitHub ↗ · v1.0.0
cross-platform ✓ 安全检测通过
2323
总下载
3
收藏
5
当前安装
1
版本数
在 OpenClaw 中安装
/install instruments-profiling
功能描述
Use when profiling native macOS or iOS apps with Instruments/xctrace. Covers correct binary selection, CLI arguments, exports, and common gotchas.
使用说明 (SKILL.md)

Instruments Profiling (macOS/iOS)

Use this skill when the user wants performance profiling or stack analysis for native apps. Focus: Time Profiler, xctrace CLI, and picking the correct binary/app instance.

Quick Start (CLI)

  • List templates: xcrun xctrace list templates
  • Record Time Profiler (launch):
    • xcrun xctrace record --template 'Time Profiler' --time-limit 60s --output /tmp/App.trace --launch -- /path/To/App.app
  • Record Time Profiler (attach):
    • Launch app yourself, get PID, then:
    • xcrun xctrace record --template 'Time Profiler' --time-limit 60s --output /tmp/App.trace --attach \x3Cpid>
  • Open trace in Instruments:
    • open -a Instruments /tmp/App.trace

Note: xcrun xctrace --help is not a valid subcommand. Use xcrun xctrace help record.

Picking the Correct Binary (Critical)

Gotcha: Instruments may profile the wrong app (e.g., one in /Applications) if LaunchServices resolves a different bundle. Use these rules:

  • Prefer direct binary path for deterministic launch:
    • xcrun xctrace record ... --launch -- /path/App.app/Contents/MacOS/App
  • If launching .app, ensure it’s the intended bundle:
    • open -n /path/App.app
    • Verify with ps -p \x3Cpid> -o comm= -o command=
  • If both /Applications/App.app and a local build exist, explicitly target the local build path.
  • After launch, confirm the process path before trusting the trace.

Command Arguments (xctrace)

  • --template 'Time Profiler': template name from xctrace list templates.
  • --launch -- \x3Ccmd>: everything after -- is the target command (binary or app bundle).
  • --attach \x3Cpid|name>: attach to running process.
  • --output \x3Cpath>: .trace output. If omitted, file saved in CWD.
  • --time-limit 60s|5m: set capture duration.
  • --device \x3Cname|UDID>: required for iOS device runs.
  • --target-stdout -: stream launched process stdout to terminal (useful for CLI tools).

Exporting Stacks (CLI)

  • Inspect trace tables:
    • xcrun xctrace export --input /tmp/App.trace --toc
  • Export raw time-profile samples:
    • xcrun xctrace export --input /tmp/App.trace --xpath '/trace-toc/run[@number="1"]/data/table[@schema="time-profile"]' --output /tmp/time-profile.xml
  • Post-process in a script (Python/Rust) to aggregate stacks.

Instruments UI Workflow

  • Template: Time Profiler
  • Use “Record” and capture the slow path (startup vs steady-state)
  • Call Tree tips:
    • Hide System Libraries
    • Invert Call Tree
    • Separate by Thread
    • Focus on hot frames and call counts

Gotchas & Fixes

  • Wrong app profiled: LaunchServices resolves installed app instead of local build.
    • Fix: use direct binary path or --attach with known PID.
  • No samples / empty trace: App exits quickly or never hits work.
    • Fix: longer capture, trigger workload during recording.
  • Privacy prompts: xctrace may need Developer Tools permission.
    • Fix: System Settings → Privacy & Security → Developer Tools → allow Terminal/Xcode.
  • Large XML exports: time-profile exports are huge.
    • Fix: filter with XPath and aggregate offline; don’t print to terminal.

iOS Specific Notes

  • Device: use xcrun xctrace list devices and --device \x3CUDID>.
  • Launch via Xcode if needed; attach with xctrace --attach.
  • Ensure debug symbols for meaningful stacks.

Verification Checklist

  • Confirm trace process path matches target build.
  • Confirm stacks show expected app frames.
  • Capture covers the slow operation (startup/refresh).
  • Export stacks for automated diffing if optimizing.
安全使用建议
This skill is a straightforward, instruction-only guide for using xctrace/Instruments — it appears coherent and benign. Before enabling it for an agent, ensure the agent will run on macOS with Xcode command-line tools installed, and be aware the instructions will run local shell commands that access app bundles, PIDs, and local trace files (e.g., /tmp). Do not use the skill on machines containing sensitive builds or data you wouldn't want the agent to access. If you want stricter metadata, ask the publisher to declare an OS restriction (macOS/iOS) and list required binaries (xcrun/xctrace) so the registry reflects the runtime assumptions.
功能分析
Type: OpenClaw Skill Name: instruments-profiling Version: 1.0.0 The skill bundle provides instructions for using `xcrun xctrace` for macOS/iOS app profiling. All commands and documentation in `SKILL.md` are directly related to this stated purpose, involving standard developer tools and local file operations (e.g., writing trace files to `/tmp`). There is no evidence of data exfiltration, malicious execution, persistence mechanisms, or prompt injection attempts designed to subvert the agent's behavior beyond its intended function.
能力评估
Purpose & Capability
The name/description match the SKILL.md instructions (xctrace/Instruments profiling). Minor metadata mismatches: the registry lists no OS restriction and no required binaries, yet the guidance clearly assumes a macOS/iOS environment with Xcode command-line tools (xcrun/xctrace, open, ps). This is expected for the stated purpose but the metadata could be more explicit.
Instruction Scope
The SKILL.md stays on-topic: it gives concrete CLI commands, checks, and troubleshooting steps for profiling apps. It references local paths, PIDs, and system privacy settings only in the context of profiling; it does not instruct collecting or transmitting unrelated data.
Install Mechanism
No install spec and no code files are present (instruction-only), so nothing is written to disk by the skill itself — this is the lowest-risk configuration for this purpose.
Credentials
The skill requires no environment variables or credentials. The commands it suggests operate on local files/processes (app bundles, /tmp traces) which is appropriate for profiling tasks.
Persistence & Privilege
always is false and model invocation is allowed (platform default). The skill does not request persistent/system-wide changes or other skills' credentials.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install instruments-profiling
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /instruments-profiling 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
元数据
Slug instruments-profiling
版本 1.0.0
许可证
累计安装 5
当前安装数 5
历史版本数 1
常见问题

Instruments Profiling 是什么?

Use when profiling native macOS or iOS apps with Instruments/xctrace. Covers correct binary selection, CLI arguments, exports, and common gotchas. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 2323 次。

如何安装 Instruments Profiling?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install instruments-profiling」即可一键安装,无需额外配置。

Instruments Profiling 是免费的吗?

是的,Instruments Profiling 完全免费(开源免费),可自由下载、安装和使用。

Instruments Profiling 支持哪些平台?

Instruments Profiling 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Instruments Profiling?

由 Peter Steinberger(@steipete)开发并维护,当前版本 v1.0.0。

💬 留言讨论