# MicroHECL
サービスが生成したトレースから、性能異常が観測された時点で終わる指定サイズの時間窓に基づいてトポロジを構築する、topology graph-based RCAシステム [44]。(Source: [[@2021__CSUR__Anomaly Detection and Failure Root Cause Analysis in (Micro)Service-Based Cloud Applications - A Survey - Chapter 4.1 Log-based and Distributed Tracing-based Root Cause Analysis Techniques]] §4.2.3)
## 動作
1. 異常が観測された時点で終わる、指定サイズの時間窓内のトレースからトポロジを構築する。
2. 異常が観測されたサービスを起点に、anomaly propagation chain(異常伝播チェーン)を幅優先探索(BFS)で反復的に拡張する。拡張方向は異常の種類ごとに異なる: latency/error countの異常は callee → caller 方向、throughputの異常は caller → callee 方向に伝播すると仮定する。
3. 各反復では、伝播方向をたどって到達可能なサービスについて、あらかじめオフラインで学習した機械学習モデルで実際に対応する異常を経験しているかを判定する: latency異常には support vector machine、error count異常には random forest、throughput異常には3-sigma ruleを用いる。判定結果が異常であれば、そのサービスをpropagation chainに含める。
4. propagation chainがこれ以上拡張できなくなった時点で、各chainの末尾にあるサービスを、最初に観測された異常サービスの根本原因候補とみなす。
5. 候補サービスの性能メトリクスと、最初に性能異常が観測されたサービスの性能メトリクスとのPearson相関に基づいて、根本原因候補をランク付けする。
MonitorRank [38] と同じくtopology graph-based analysisに分類されるが、MicroHECLはイベントトリガーの時間窓でのトポロジ構築・BFS探索・service-level異常を対象とするのに対し、MonitorRankはバッチ周期でのトポロジ構築・ランダムウォーク・application-level異常を対象とする点で異なる。
## 他サーベイでの位置づけ
Zhang ら 2024 のサーベイ([[@2024__arXiv__Failure Diagnosis in Microservice Systems - A Comprehensive Survey and Analysis - Chapter 4.3 Failure Diagnosis Through Traces]] §4.3.1、Table 5)は MicroHECL を「上流・下流依存関係に基づく特徴抽出」カテゴリに分類し、performance(性能)・reliability(信頼性)・traffic(トラフィック)の3種の異常をあらかじめ定義し、各異常の quality metric と伝播方向ごとに固有の統計的特徴を抽出して機械学習手法(One Class SVM + Random Forest + 3-sigma)を適用すると要約する。これは本ページの「latency/error count/throughput の3種にそれぞれ SVM・Random Forest・3-sigma rule を用いる」という記述(Soldani ら 2021 サーベイ由来)と、異常タイプの呼称(performance≒latency, reliability≒error count, traffic≒throughput)以外は一致する。Zhang ら 2024 はさらに、伝播チェーン構築時のプルーニングに「2つの連続するサービス呼び出しの quality metric の相関係数」を用いると明記し、本ページの「Pearson相関に基づく根本原因候補ランク付け」と整合する。
## 関連
- ソース: [[@2021__CSUR__Anomaly Detection and Failure Root Cause Analysis in (Micro)Service-Based Cloud Applications - A Survey - Chapter 4.1 Log-based and Distributed Tracing-based Root Cause Analysis Techniques]] / [[@2024__arXiv__Failure Diagnosis in Microservice Systems - A Comprehensive Survey and Analysis - Chapter 4.3 Failure Diagnosis Through Traces]]
- 概念: [[分散トレーシング]] / [[因果推論ベースRCA]]