# クリティカルパス分析
## 定義
クリティカルパス分析は、分散トレース上でエンドツーエンドレイテンシを実際に支配する RPC/処理区間を特定し、ユーザー影響の大きい遅延やエラーを優先的に扱う手法である。マイクロサービスでは全 RPC エラーがユーザー影響を持つわけではないため、単純な件数ではなくクリティカルパス上にあるかが重要になる。
## 横断的知見
- [[CRISP]] は Uber の大規模マイクロサービスにクリティカルパス分析を適用し、下流診断や最適化対象の優先順位づけを高速化した。([[@2022__USENIX ATC__CRISP - Critical Path Analysis of Large-Scale Microservice Architectures]])
- Uber の RPC エラー分析は、エラーの 29.35% が非致命的でエンドユーザーに影響しないことを示し、クリティカルパス上のエラーかどうかを区別する必要を示した。([[@2024__PACMCAS__The Tale of Errors in Microservices]])
- [[分散トレーシング]] の価値は、全呼び出しを記録することだけでなく、どの呼び出しがユーザー影響の経路にあるかを推定できる点にある。
## 未解決の問い
- サンプリングされたトレースだけでクリティカルパスを推定すると、希少だが重要な経路を取り逃がさないか。
- クリティカルパス上ではない非致命的エラーを、将来のリスクや capacity waste としてどう扱うべきか。
- LLM エージェントの RCA に、クリティカルパス制約をどのようにツール/プロンプトとして渡すべきか。
## 関連
- 概念: [[分散トレーシング]] / [[非致命的RPCエラー]] / [[Fault Localization]] / [[根本原因分析]] / [[マイクロサービスコールグラフ]]
- ソース: [[@2022__USENIX ATC__CRISP - Critical Path Analysis of Large-Scale Microservice Architectures]] / [[@2024__PACMCAS__The Tale of Errors in Microservices]]
## 出典
- [[@2022__USENIX ATC__CRISP - Critical Path Analysis of Large-Scale Microservice Architectures]]
- [[@2024__PACMCAS__The Tale of Errors in Microservices]]