## Memo - ベースラインは、[[2018__ICSOC__Microscope―Pinpoint Performance Issues with Causal Graphs in Micro-service Environments|Microscope]]、[[2022__ICSE-SEIP__MicroHECL - High-Efficient Root Cause Localization in Large-Scale Microservice Systems|MicroHECL]]、[[2020__WWW__AutoMAP - Diagnose Your Microservice-based Web Application|AutoMAP]]、[[2021__WWW__MicroRank―End-to-End Latency Issue Localization with Extended Spectrum Analysis in Microservice Environments|MicroRank]]である。 - Exclusive Latency - ![[Pasted image 20241031105115.png|500]] ## Memo with LLM ## スパースなマイクロサービス環境における根本原因分析:SparseRCA SparseRCAは、ソフトウェアのエンドツーエンドテストシナリオにおける根本原因分析(RCA)のための教師なしモデルであり、頻繁なシステムアップデートと疎なトレースデータという課題に対処します。 本モデルは、従来のRCA手法では効果が限定される、疎なトレースや動的なパフォーマンスメトリクス、新しいトレース構造などの課題に対処するために特別に設計されています。 ### SparseRCAの特徴 * **トレースベースで教師なし:** SparseRCAは、監視システムによって自動的に記録されたマイクロサービス呼び出しトポロジーと応答時間を含む履歴トレースを使用してトレーニングされます。手動での障害注釈やトレース分類は不要です。 * **スパン粒度での分析:** SparseRCAは、大量のトレースデータを集約して知識を自動的に要約する従来の方法とは異なり、スパン粒度でトレースを分析します。 個々のトレース内のスパンによって記録された各マイクロサービスの応答時間を処理および分析し、特定の時間ウィンドウ内の数百の累積トレースにわたる統計情報には依存しません。 このアプローチにより、テストシナリオで疎なトレースデータフローが発生する可能性があるという問題に対処します。 * **排他的レイテンシの調査:** SparseRCAは、根本原因である可能性と密接に関連する排他的レイテンシを分析することにより、トレース構造とマイクロサービスのパフォーマンスが異なるトレース間で一貫したパフォーマンスコンポーネントを調査します。 これにより、マイクロサービスのパフォーマンスの変動による影響が効果的に最小限に抑えられます。 * **新しいトレース構造への堅牢な一般化:** SparseRCAは、まったく新しいトレース構造に遭遇した場合、最も類似した既存のトレース構造からこれらの新しい構成のパラメータを巧みに外挿します。 この設計により、以前に観察されていないトレース構造であっても、信頼性の高い根本原因分析が保証されます。 ### SparseRCAのアーキテクチャとワークフロー SparseRCAのワークフローは、以下の主要なコンポーネントで構成されています。 1. **前処理:** トレースを入力として受け取り、各スパンを3つの観測メトリクスにマッピングします。(1) スパンの包括的レイテンシから導出された排他的レイテンシ、(2) スパンのパターン、(3) 子マイクロサービスへの呼び出しの数。 2. **スパン排他的レイテンシモデリング(トレーニング中):** トレーニング段階では、パターンパラメータと各スパンの子呼び出しの数を使用して、各スパンの排他的レイテンシ分布を推定します。この推定された分布は、排他的レイテンシの観測値と比較して、モデルのパラメータを更新します。 3. **スパン排他的レイテンシ推論(テスト中):** 根本原因の推論段階では、トレースはトレーニング段階と同じ方法で前処理されます。次に、スパンの排他的レイテンシ分布が推定されます。テストトレースにトレーニングトレースに存在するスパンパターンが含まれている場合は、トレーニング段階で取得したパターンパラメータを使用して、排他的レイテンシ分布を直接導出できます。 4. **パターン予測:** テストスパンパターンが記録内のどのパターンとも一致しない場合は、パターン予測モジュールを使用して、見えないスパンパターンのパラメータを推定します。このモジュールは、記録されたスパンパターンの中でテストパターンに類似したものを識別し、それらのパラメータを使用して、重み付け平均によってテストパターンのパラメータを推定します。 5. **根本原因スコアの計算と修正:** 推定された排他的レイテンシ分布は、排他的レイテンシの観測値と比較して、各スパンの排他的レイテンシアノマリースコアを生成します。このスコアは、パーソナライズされたPageRankアルゴリズムにフィードされて、最終的なサービスRCAスコアが生成されます。 ### SparseRCAの利点 * 疎なトレースデータを持つテスト環境での根本原因分析の精度が向上します。 * マイクロサービスのパフォーマンスの変動や呼び出し構造の進化に対して堅牢です。 * 以前に観察されていないマイクロサービス呼び出し構造に遭遇した場合でも、排他的レイテンシを推定できます。 * トポロジ情報を組み込んで、根本原因のローカリゼーションの精度を向上させます。 ### SparseRCAの評価 SparseRCAは、大規模なeコマースシステムのテスト環境から収集されたデータセットで評価され、最先端のベースラインと比較して、トップ1の精度で4.9%〜46.8%、トップ5の精度で15.1%〜48.6%の改善を示しました。 さらに、SparseRCAは、トレーニングデータセットのサイズが縮小されても、トレースがまばらになっても、満足のいくトップk精度を維持できることが示されました。 これらの調査結果は、SparseRCAが最新のマイクロサービステスト環境の動的な性質に適応し、効果的に管理できる優れた能力を反映しています。 ### 結論 SparseRCAは、頻繁なシステムアップデートとトレースのスパース性が特徴のソフトウェアエンドツーエンドテストシナリオの独自の課題に対処する、有望な新しいRCA手法です。スパン粒度でのトレースの分析、排他的レイテンシの調査、新しいトレース構造への堅牢な一般化を通じて、SparseRCAは、従来のRCA手法に伴う制限を効果的に軽減し、疎なマイクロサービステスト環境での根本原因分析の精度、堅牢性、データ効率を向上させます。 ## Abstract マイクロサービス・アーキテクチャーは、ソフトウェア業界ではもはや当たり前のパラダイムとなっている。このアーキテクチャでは、デプロイ前にすべてのコンポーネントのシームレスな統合を確実にするために、強固なエンドツーエンドのテストが必要である。テストケースが失敗したときに問題を迅速に特定することは、ソフトウェア開発の効率を高めるために極めて重要である。しかし、テスト環境では、利用可能なトレースがまばらであることが多く、システムは継続的にアップグレードされるため、既存のマイクロサービスベースの根本原因分析(RCA)は効果がない。これらの課題を解決するために、我々はSparseRCAを提案する。SparseRCAは、排他的待ち時間の異常を評価することで、根本原因の確率を直接決定し、スパースなトレースシナリオでは呼関係などの故障伝播情報を十分に得られないという課題を解決する。同時に、分離されたアトミックスパンユニットを用いて排他的待ち時間を再構築することにより、頻繁なアップグレードによる新しいトレースの待ち時間予測の問題を解決する。我々は、大規模な電子商取引システムのテスト環境から得られた実世界のデータセットでSparseRCAを評価した。我々の発見は、マイクロサービスのテスト環境におけるRCAの課題に対処するSparseRCAの有効性を強調している。