workers-profiling について
デプロイ済みの Cloudflare Workers と Durable Objects の性能問題を調べるスキルです。CPU、レイテンシ、メモリ負荷を調査する開発者向けに、プロファイル取得と pprof 分析を案内し、根拠に沿った最小限のコード変更を提案します。
主な機能
- 01CPU、レイテンシ、メモリの症状を特定
- 02CPU またはヒープのプロファイリングを選択
- 03cf CLI でプロファイルを取得
- 04pprof のホットスポットとソース位置を確認
- 05検証可能な最小限の改善を提案
活用シーン
- 01Worker 内の高コストな関数を特定
- 02Durable Object のメモリ増加を分析
- 03プロファイルの根拠からコード変更を提案
- 04改善が指標に与える影響を確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ cloudflare/ skills --skill workers-profilingインストール後、Claude Code で/workers-profilingを入力して読み込まれたか確認します。
詳細
Workers のプロファイリング
デプロイ済みコードの負荷が大きい関数やメモリ割り当てを見つけ、改善方法を提案します。
ドキュメントを確認する
まず、本番環境でのプロファイリングガイドを確認し、Workers と Durable Objects のプロファイリングの仕組みを理解します。
プロファイリングの手順
- 症状と影響を受けているワークロードを特定します。CPU 使用率、レイテンシ、割り当ての負荷、メモリの増加などを確認します。
- アカウント、Worker、環境、デプロイ済みのバージョンをユーザーに確認します。
- Durable Object の場合は、その所有元の Worker、名前空間、インスタンスも確認します。
- 現行ガイドでサポートされている種類とその意味に基づいて、CPU プロファイリングまたはヒーププロファイリングを選択します。
可能な場合は、cf CLIを使ってプロファイルを取得します。ユーザーが cf を希望する場合は、インストール済みバージョンのコマンドヘルプとスキーマが利用できるか確認します。
cf が利用できない場合は、インストールするかどうかをユーザーに尋ねることを検討します。
プロファイリング API は pprof ファイルを返します。このファイルは直接分析するか、Go の pprof ユーティリティなどの適切なツールを使って分析できます。
証拠を調べる
- pprof ファイルを読み込み、ホットスポットを分析します。
- 証拠で裏付けられる場合は、ホットスポットを関数やソースコードの位置に対応付けます。シンボルやソースマッピングが見つからない場合は、その旨を報告します。
- ファイル名や関数名が生成された JavaScript を指している場合は、ソースマップを有効にしてプロファイリングをやり直すよう提案することを検討します。
最適化する
取得したデータで裏付けられる、問題を解決するための最小限のコード変更を提案します。
調査結果を報告する
以下を含む簡潔なレポートを返します。
- 各調査結果の証拠:ファイル、関数、ソースコードの位置、利用可能な場合は単位付きのメトリクス。
- 実施可能な最小限の変更と、その効果を確認する方法。
コメント
Markdown 対応