性能問題の原因を調査する
性能問題の根本原因を特定する包括的な調査を実施します。初期調査、詳細分析、最終サマリーを段階的に作成し、改善策を提案します。
/plugin marketplace add classmethod/tsumiki/plugin install tsumiki@tsumiki調査対象(機能名/エンドポイント/画面/自然言語)dcs/性能問題の原因を特定するための包括的な調査を実施します。初期調査、詳細な原因分析、最終サマリーを段階的に作成し、性能問題の根本原因を明らかにします。
出力ディレクトリ=".dcs" カレントディレクトリ={{プロジェクトルート}} 分析ファイルリスト=[] 調査回数=0
AskUserQuestion ツールを使って、以下の質問を順番に実施する:
contextとして以下を保持する:
index.md - インデックス(全体概要とファイル一覧)initial.md - 初期調査結果causes.md - 原因候補の分析recommendations.md - 推奨対応detail_N.md - 詳細調査結果(Nは連番)final_summary.md - 最終サマリー初期調査:
.dcs/20251025123456_order_api/index.md.dcs/20251025123456_order_api/initial.md.dcs/20251025123456_order_api/causes.md.dcs/20251025123456_order_api/recommendations.md詳細調査:
.dcs/20251025123456_order_api/detail_2.md.dcs/20251025123456_order_api/detail_3.md最終サマリー:
.dcs/20251025123456_order_api/final_summary.md/Users/makotan/projects/ensemble-si/backend/src/main/kotlin/...backend/src/main/kotlin/...性能問題の原因候補を以下のカテゴリで分類する:
以下の条件のいずれかに該当する場合、詳細調査を提案する:
<performance_analysis_template> あなたは性能問題の調査エキスパートです。以下の情報に基づいて、性能問題の原因を調査し、ファイル出力してください。
調査対象: {{調査対象の具体的な情報}} 症状: {{性能劣化の症状}} 発生タイミング: {{発生タイミング}} 影響範囲: {{影響範囲}} 環境: {{環境情報}} ベースディレクトリ: {{ベースディレクトリ}}(例: ".dcs/20251025123456_order_api") カレントディレクトリ: {{カレントディレクトリ}}
すべてのファイルパスは、カレントディレクトリを基準とした相対パスで記載してください。 絶対パス(/Users/... や C:\... など)は使用しないでください。
例:
/Users/makotan/projects/ensemble-si/backend/src/main/kotlin/...backend/src/main/kotlin/...調査結果は以下のファイルに分割して出力してください:
インデックスファイル: {{ベースディレクトリ}}/index.md
初期調査ファイル: {{ベースディレクトリ}}/initial.md
原因分析ファイル: {{ベースディレクトリ}}/causes.md
推奨対応ファイル: {{ベースディレクトリ}}/recommendations.md
以下の観点から原因候補を分析する:
調査方法:
# Prismatix Factoryのリソース定義を確認
# インデックス定義を確認
# クエリの複雑さを分析
調査方法:
調査方法:
調査方法:
各原因候補について以下を評価する:
以下の順序で各ファイルを作成してください。各ファイルは Write ツールを使って個別に保存してください。
{{ベースディレクトリ}}/index.md を作成
{{ベースディレクトリ}}/initial.md を作成
{{ベースディレクトリ}}/causes.md を作成
{{ベースディレクトリ}}/recommendations.md を作成
index.md)# 性能劣化調査 - インデックス
**実施日時**: {{実施日時}}
**調査者**: Claude Code
---
## 調査概要
### 調査対象
- **対象**: {{調査対象の詳細}}
- **症状**: {{性能劣化の症状}}
- **発生タイミング**: {{発生タイミング}}
- **影響範囲**: {{影響範囲}}
- **環境**: {{環境情報}}
### サマリー
| 項目 | 内容 |
|------|------|
| 原因候補数 | XX件 |
| 高可能性の原因 | XX件 |
| 推奨対応数 | XX件 |
---
## 調査結果ファイル一覧
### 基本情報
- [初期調査](./initial.md) - プロジェクト概要と調査対象の分析
- [原因分析](./causes.md) - 原因候補のリストと評価
- [推奨対応](./recommendations.md) - 具体的な改善提案
---
## クイックナビゲーション
### 高可能性の原因
1. {{原因1}} - [詳細](./causes.md#原因1)
2. {{原因2}} - [詳細](./causes.md#原因2)
### 優先対応項目
1. {{対応1}} - [詳細](./recommendations.md#対応1)
2. {{対応2}} - [詳細](./recommendations.md#対応2)
---
*各ファイルの詳細は上記リンクから参照してください。*
initial.md)# 性能劣化調査 - 初期調査
**実施日時**: {{実施日時}}
**調査者**: Claude Code
[← インデックスに戻る](./index.md)
---
## プロジェクト概要
### アーキテクチャ
{{システム構成の概要}}
### 技術スタック
- **Frontend**: {{フロントエンド技術}}
- **Backend**: {{バックエンド技術}}
- **Database**: {{データベース}}
- **その他**: {{その他の主要技術}}
---
## 調査対象の詳細
### 対象コンポーネント
- **ファイルパス**: [{{相対パス}}]({{相対パス}})
- **種類**: {{コンポーネントの種類(Controller, Service, Component等)}}
- **役割**: {{コンポーネントの役割}}
### 処理フロー
{{主要な処理フローの説明}}
### 関連ファイル
{{調査対象に関連する主要ファイルのリスト}}
---
## データベーススキーマ
### 関連テーブル
{{調査対象が使用するテーブルの情報}}
### インデックス定義
{{現在のインデックス定義の状況}}
---
## コード分析
### 主要な処理
{{コードの主要な処理内容}}
### データベースアクセス
{{SQLクエリやORM使用状況}}
### 外部API呼び出し
{{外部サービスとの連携状況}}
### ループ・再帰処理
{{ループや再帰処理の有無と内容}}
---
## 観測された問題点
{{初期調査で見つかった気になる点}}
---
*詳細な原因分析は [原因分析ファイル](./causes.md) を参照してください。*
causes.md)# 性能劣化調査 - 原因分析
**実施日時**: {{実施日時}}
**調査者**: Claude Code
[← インデックスに戻る](./index.md) | [初期調査](./initial.md)
---
## 原因候補サマリー
| カテゴリ | 原因候補数 | 高可能性 | 中可能性 | 低可能性 |
|---------|----------|---------|---------|---------|
| データベース | XX件 | XX件 | XX件 | XX件 |
| アプリケーション | XX件 | XX件 | XX件 | XX件 |
| ネットワーク | XX件 | XX件 | XX件 | XX件 |
| インフラ | XX件 | XX件 | XX件 | XX件 |
---
## データベース関連の原因候補
### 原因1: {{原因名}}
- **可能性レベル**: 高/中/低
- **影響度**: 高/中/低
- **調査難易度**: 高/中/低
#### 詳細説明
{{原因の詳細な説明}}
#### 証拠・根拠
- [{{ファイルパス}}:{{行番号}}]({{相対パス}}#L{{行番号}})
- {{該当コードの説明}}
- {{その他の証拠}}
#### 推定される影響
{{この原因による性能への影響}}
#### 検証方法
{{この原因を確認するための方法}}
---
## アプリケーション層の原因候補
(同様の形式で記述)
---
## ネットワーク・通信の原因候補
(同様の形式で記述)
---
## インフラ・環境の原因候補
(同様の形式で記述)
---
## 追加調査が必要な項目
以下の項目について、詳細調査が推奨されます:
1. {{追加調査項目1}}
- 理由: {{なぜ追加調査が必要か}}
- 調査内容: {{具体的に何を調査するか}}
2. {{追加調査項目2}}
- 理由: {{なぜ追加調査が必要か}}
- 調査内容: {{具体的に何を調査するか}}
(追加調査が不要な場合は「なし」と記載)
---
*推奨される対応は [推奨対応ファイル](./recommendations.md) を参照してください。*
recommendations.md)# 性能劣化調査 - 推奨対応
**実施日時**: {{実施日時}}
**調査者**: Claude Code
[← インデックスに戻る](./index.md) | [原因分析](./causes.md)
---
## 優先度: 高(即座に実施推奨)
### 1. {{対応項目1}}
- **対応する原因**: [{{原因名}}](./causes.md#原因名)
- **期待される効果**: {{改善効果の説明}}
- **実装難易度**: 低/中/高
- **リスク**: 低/中/高
#### 具体的な対応内容
{{対応の詳細}}
#### 実装例
```言語
// 修正前
{{修正前のコード例}}
// 修正後
{{修正後のコード例}}
{{この対応による影響範囲}}
{{対応後の検証方法}}
(同様の形式で記述)
(同様の形式で記述)
この推奨対応は調査結果に基づいています。実際の実装前に十分な検証を行ってください。
# 調査の注意点
- 推測だけでなく、コードやデータに基づいた分析を行う
- 複数の原因が複合的に作用している可能性を考慮する
- パフォーマンスの計測方法も提案する
- すべてのファイルパスは相対パスで記載する
- 原因候補は必ず優先度と影響度を評価する
# 出力手順
**重要**: 必ず以下の順序でファイルを作成してください:
1. **インデックスファイルを最初に作成** (`{{ベースディレクトリ}}/index.md`)
- Write ツールで保存
2. **初期調査ファイルを作成** (`{{ベースディレクトリ}}/initial.md`)
- Write ツールで保存
3. **原因分析ファイルを作成** (`{{ベースディレクトリ}}/causes.md`)
- Write ツールで保存
4. **推奨対応ファイルを作成** (`{{ベースディレクトリ}}/recommendations.md`)
- Write ツールで保存
**各ファイルは Write ツールを使って個別に保存してください。一つのファイルにまとめないでください。**
</performance_analysis_template>
<summary_template>
あなたは性能劣化調査のサマリー作成エキスパートです。以下の情報に基づいて、最終サマリーを作成してください。
# サマリー作成対象の情報
調査対象: {{調査対象の具体的な情報}}
分析ファイルリスト: {{分析ファイルリスト}}
最終サマリーファイル名: {{サマリーファイル名}}
カレントディレクトリ: {{カレントディレクトリ}}
# 重要な注意事項
**すべてのファイルパスは、カレントディレクトリを基準とした相対パスで記載してください。**
**絶対パス(/Users/... や C:\\... など)は使用しないでください。**
例:
- ❌ `/Users/makotan/projects/ensemble-si/backend/src/main/kotlin/...`
- ✅ `backend/src/main/kotlin/...`
# サマリー作成手順
## 1. 全分析ファイルの読み込み
- {{分析ファイルリスト}} に含まれるすべてのファイルを Read で読み込む
- 各ファイルの内容を把握する
## 2. 情報の統合
- すべての調査結果から以下の情報を統合する
- 特定された原因の総数
- 最も可能性の高い原因
- 推奨対応の優先順位
- 詳細調査で判明した新事実
## 3. 結論の導出
- 最も可能性が高い原因を特定する
- 複数の原因が複合している場合はその関係性を説明する
- 最優先で対応すべき項目を明確にする
## 4. アクションプランの作成
- 短期的な対応(即座に実施可能)
- 中期的な対応(検証後に実施)
- 長期的な対応(アーキテクチャ改善)
## 5. サマリーファイルの出力
以下の出力形式で {{サマリーファイル名}} に結果を保存してください。
# 出力形式
```markdown
# 性能劣化調査 - 最終サマリー
**実施日時**: {{実施日時}}
**調査者**: Claude Code
---
## ナビゲーション
- [初期調査インデックス](./index.md)
- [初期調査](./initial.md)
- [原因分析](./causes.md)
- [推奨対応](./recommendations.md)
(詳細調査がある場合は追加)
- [詳細調査2](./detail_2.md)
- [詳細調査3](./detail_3.md)
---
## 調査概要
### 調査対象
- **対象**: {{調査対象の詳細}}
- **症状**: {{性能劣化の症状}}
- **発生タイミング**: {{発生タイミング}}
- **影響範囲**: {{影響範囲}}
- **環境**: {{環境情報}}
### 調査実施状況
- **調査回数**: {{調査回数}}回(初期調査 + 詳細調査{{N}}回)
- **作成されたファイル数**: {{ファイル数}}件
- **特定された原因候補数**: {{原因候補数}}件
---
## 結論
### 最も可能性が高い原因
#### 1. {{原因名1}}(可能性: 高)
- **カテゴリ**: データベース/アプリケーション/ネットワーク/インフラ
- **影響度**: 高/中/低
- **詳細**: {{原因の詳細説明}}
- **証拠**: [{{ファイルパス}}:{{行番号}}]({{相対パス}}#L{{行番号}})
- {{証拠の説明}}
#### 2. {{原因名2}}(可能性: 高)
(同様の形式で記述)
### その他の原因候補
- {{原因3}}(可能性: 中) - {{簡潔な説明}}
- {{原因4}}(可能性: 中) - {{簡潔な説明}}
---
## 総合分析
### 性能劣化のメカニズム
{{複数の原因がどのように絡み合って性能劣化を引き起こしているか}}
### 根本原因
{{根本的な原因は何か}}
---
## 推奨アクションプラン
### フェーズ1: 即座に実施(優先度: 高)
#### 1. {{対応項目1}}
- **対応する原因**: {{原因名}}
- **期待される効果**: {{効果の説明}}
- **実装難易度**: 低/中/高
- **所要時間**: {{概算}}
- **リスク**: 低/中/高
**具体的な対応**:
{{対応の詳細}}
#### 2. {{対応項目2}}
(同様の形式で記述)
---
### フェーズ2: 検証後に実施(優先度: 中)
#### 1. {{対応項目3}}
(同様の形式で記述)
---
### フェーズ3: 長期的な改善(優先度: 低)
#### 1. {{対応項目4}}
(同様の形式で記述)
---
## パフォーマンステスト戦略
### 現状の計測
#### 計測すべき指標
1. {{指標1}} - {{目的}}
2. {{指標2}} - {{目的}}
#### 計測方法
{{具体的な計測方法}}
### 改善後の検証
#### ベンチマークシナリオ
1. {{シナリオ1}}
2. {{シナリオ2}}
#### 成功基準
{{どの程度の改善を目標とするか}}
---
## モニタリング・継続的改善
### 追加すべきモニタリング
#### メトリクス
1. {{メトリクス1}} - {{理由}}
2. {{メトリクス2}} - {{理由}}
#### アラート設定
1. {{アラート条件1}}
2. {{アラート条件2}}
### 定期的な見直し項目
- {{見直し項目1}}
- {{見直し項目2}}
---
## 予想される改善効果
| 対応項目 | 改善見込み | 根拠 |
|---------|----------|------|
| {{対応1}} | {{XX%改善}} | {{根拠}} |
| {{対応2}} | {{XX%改善}} | {{根拠}} |
| {{対応3}} | {{XX%改善}} | {{根拠}} |
---
## リスクと注意事項
### 実装時のリスク
1. {{リスク1}}
- **影響**: {{影響の説明}}
- **対策**: {{リスク軽減策}}
2. {{リスク2}}
- **影響**: {{影響の説明}}
- **対策**: {{リスク軽減策}}
### 注意事項
- {{注意点1}}
- {{注意点2}}
---
## 詳細調査ファイル一覧
以下のファイルに詳細な調査結果が記録されています:
1. [{{ファイル名1}}]({{相対パス1}}) - 初期調査
2. [{{ファイル名2}}]({{相対パス2}}) - 詳細調査1
3. [{{ファイル名3}}]({{相対パス3}}) - 詳細調査2
...
---
## 調査の制限事項
- {{制限事項1}}
- {{制限事項2}}
- {{制限事項3}}
---
## 次のステップ
1. **即座に実施**: {{対応項目}}
2. **パフォーマンステスト**: {{テスト内容}}
3. **効果検証**: {{検証方法}}
4. **継続的モニタリング**: {{モニタリング項目}}
---
*このサマリーは複数の調査結果を統合して自動生成されたものです。実装前に十分な検証を行ってください。*
必ず Write ツールを使用して、{{サマリーファイル名}} に結果を保存してください。 </summary_template>