Peter Steinberger

Native App Performance

開発v1.0.0
作者:Peter Steinberger更新日 2026-05-11native-app-performance@clawhub_steipete/native-app-performance
コードレビューバグ修正

AlphaMoatによると、2026-09時点でNative App Performanceのダウンロード数は3,140、スター数は5で、AIスキル全体5,078件中3,628位、開発では577件中461位です。

インストール数
129
ダウンロード数
3140
スター数
5
総合順位
#3,628
全体の上位 72% · 開発の上位 80%
プラットフォームインストール数ダウンロード数スター数コメント
ClawHub ↗9930355-
SkillHub ↗12931405—

プラットフォームごとに集計方法と集計時点が異なります。

このスキルでできること

xctraceでInstrumentsトレースを記録し、サンプルを抽出してシンボル化し、Instrumentsの画面を開かずに性能上のボトルネックを調べます。トレースやシンボル化結果にはアプリ内部情報、ファイルパス、性能の詳細が含まれる可能性があります。調査権限のあるアプリやプロセスだけを対象にし、承認された場所以外で成果物を共有しないでください。

資料公開日 2026-10-29

できること

  • ネイティブmacOS/iOSアプリの性能トレースを記録する
  • Instrumentsトレースからサンプルを抽出して問題箇所を探す
  • コマンドラインで性能調査結果をまとめる

使う場面

  • 権限のあるネイティブアプリの性能計測が必要なとき
  • 対象プロセス、バイナリー、シンボルをトレースと照合できるとき
  • トレースファイルと解析結果を保護できるとき

プロンプト例

スキルのドキュメントをもとに生成した例であり、実際の実行結果ではありません。

指定したローカルアプリをTime Profilerで計測し、まず対象プロセスと出力先を確認してください。Instrumentsの画面は開かず、トレースを機微ファイルとして扱ってください。

月次の推移

ダウンロード数3140
2084265132182026-03 · ダウンロード数 21622026-05 · ダウンロード数 25312026-06 · ダウンロード数 26452026-07 · ダウンロード数 28422026-08 · ダウンロード数 29412026-09 · ダウンロード数 314026-0326-09
スター数5
4562026-03 · スター数 52026-05 · スター数 52026-06 · スター数 52026-07 · スター数 52026-08 · スター数 52026-09 · スター数 526-0326-09

2026-09 から集計方法を変更し、同名スキルを作者ごとに分けて集計し、全スキルを対象にしました。破線は変更前の月で、変更後のデータとは直接比較せず、変更をまたぐ増減も計算していません。

月ダウンロード数前月比スター数
2026-093140—5
2026-082941+3.5%5
2026-072842+7.4%5
2026-062645+4.5%5
2026-052531—5
2026-032162—5

SKILL.md 原文

作者が公開した元のファイルをテキストのまま表示しています。AlphaMoat による編集や審査はしていません。リンクはクリックできません。コマンドは内容を確認してから実行してください。取得日 2026-10-23。

2.1 KB・ClawHub v1.0.0
---
name: native-app-performance
description: Native macOS/iOS app performance profiling via xctrace/Time Profiler and CLI-only analysis of Instruments traces. Use when asked to profile, attach, record, or analyze Instruments .trace files, find hotspots, or optimize native app performance without opening Instruments UI.
---

# Native App Performance (CLI-only)

Goal: record Time Profiler via `xctrace`, extract samples, symbolicate, and propose hotspots without opening Instruments.

## Quick start (CLI)
すべて表示(全 64 行)

1) Record Time Profiler (attach):

```bash
# Start app yourself, then attach
xcrun xctrace record --template 'Time Profiler' --time-limit 90s --output /tmp/App.trace --attach <pid>
```

2) Record Time Profiler (launch):

```bash
xcrun xctrace record --template 'Time Profiler' --time-limit 90s --output /tmp/App.trace --launch -- /path/App.app/Contents/MacOS/App
```

3) Extract time samples:

```bash
scripts/extract_time_samples.py --trace /tmp/App.trace --output /tmp/time-sample.xml
```

4) Get load address for symbolication:

```bash
# While app is running
vmmap <pid> | rg -m1 "__TEXT" -n
```

5) Symbolicate + rank hotspots:

```bash
scripts/top_hotspots.py --samples /tmp/time-sample.xml \
  --binary /path/App.app/Contents/MacOS/App \
  --load-address 0x100000000 --top 30
```

## Workflow notes

- Always confirm you’re profiling the correct binary (local build vs /Applications). Prefer direct binary path for `--launch`.
- Ensure you trigger the slow path during capture (menu open/close, refresh, etc.).
- If stacks are empty, capture longer or avoid idle sections.
- `xcrun xctrace help record` and `xcrun xctrace help export` show correct flags.

## Included scripts

- `scripts/record_time_profiler.sh`: record via attach or launch.
- `scripts/extract_time_samples.py`: export time-sample XML from a trace.
- `scripts/top_hotspots.py`: symbolicate and rank top app frames.

## Gotchas

- ASLR means you must use the runtime `__TEXT` load address from `vmmap`.
- If using a new build, update the `--binary` path; symbols must match the trace.
- CLI-only flow: no need to open Instruments if stacks are symbolicated via `atos`.

開発の人気スキル

Peter Steinbergerのその他のスキル

データ月:2026-09 · ダウンロード数、スター数、インストール数は公開スキルレジストリ(ClawHub、SkillHub)から月単位で集計しています。詳しくはデータの方法論をご覧ください。