[[research/tsifter/TSifter]] + Fault Localizationの性能の改善案を次に列挙する。 - [x] フェーズごとの正解定義が必要 - フェーズ1は最低限必要なメトリクス 最大公約数的 - フェーズ2 最小公倍数的 - [x] [[Prometheus]] exporterメトリクスを除外する - [ ] 代表メトリクスとして異常度最大のメトリクスを選ぶオプション - [x] [[Sock Shop]]で[[2020__IPCCC__FluxInfer―Automatic Diagnosis of Performance Anomaly for Online Database System|FluxInfer]]を試す - [ ] [[TrainTicket]]で[[2021__ISSRE__Identifying Root-Cause Metrics for Incident Diagnosis in Online Service Systems|PatternMatcher]]を試す - [ ] 障害検知箇所から変化点検知して、遠いほど重みを大きくする - [[SLI]]の変化点よりも後ろの変化は除外する 重みを小さくする - [x] [[TSifterのクラスタリングで最大のクラスタに故障箇所があると仮定]] - [x] ピアソンで最大クラスタを選んだあとに、さらに[[Shape-based distance|SBD]]でクラスタリング+代表メトリクス - [ ] 階層的な局在化:FluxInferのスコアランクからマイクロサービス単位で特定 -> ロール単位特定 -> メトリクス特定 - マイクロサービス単位で特定 - 全体無向グラフ + Pagerankをつくって、サービスメトリクスのスコアを比較 -> うまくいかない - サービスメトリクスのみでWUDG+PageRank - コンテナメトリクスもあわせて、WUDG+PageRank+ランクの偏りをみる -> うまくいなかった - サービスごとのPageRankのスコア平均を比較し、最大のサービスを選択する - [[2020__IWQoS__Localizing Failure Root Causes in a Microservice through Causality Inference|MicroCause]]を使う - サービス特定後 - 当該サービス内の全メトリクスで、無向グラフ+PageRank - 同等のことをPatternMatcherでやる - [x] 同一のシーケンスをもつ時系列をひとつだけ残して削除 - [x] WUDG(ネットワーク依存のみ有向グラフ) + PageRank - [ ] [[ピアソン相関係数]] VS SBD-horizontal revert - [ ] FluxInferに異常度を加味したい アウトプットのrankに異常度をかける - [x] pagrank score x -log 異常度 (0 <= x <= 1) - [x] Personalized PageRank - 異常度をPersonalizationに設定 -> メトリクスtop-kは劣化、コンテナtop-kは向上 top-3 0.67 - [ ] FluxInferにエッジ方向づけ - [ ] FluxInferで[[G2検定]]を試す - top-2で0.6になった - 非負整数を保証するために、monotonic interpolation (Pchip)を使う -> 両側は保証できない - なぜか最初から負数のデータ点がある -> interpolationしたあとで負数を0に置換 - そもそも、G2検定の実装を間違えていた。入力に時系列そのものではなく頻度表をわたさないといけない。 - [x] ランキング化するときにサービスメトリクスを除外する -> わずかにスコアがあがった - [ ] [[2021__CLOUD__Causal Modeling based Fault Localization in Cloud Systems using Golden Signals|Aggarwal+, CLOUD2021]]に触発された手法を試す - SLIメトリクスとサービスメトリクスとの間で、因果グラフを構築する - PCアルゴリズム + fisher-z検定によるCITEST + PageRank - SLIメトリクスと他の全メトリクスとの間で、因果グラフを構築する - PCアルゴリズム + fisher-z検定によるCITEST + PageRank - [ ] PCアルゴリズムを再度 - [ ] 最大のグラフを取得して、SLIメトリクスとの因果は別途構築する - 今でも最大のサブグラフを取得している? - [x] [[NOTEARS]]を試す - 実行時間が遅い - [ ] PatternMatcherのスコアと依存グラフを組み合わせて、Personalized PageRank - [ ] 入力データのメトリクスを手動で絞り込む - コンテナメトリクスも基本のみ - ミドルウェアメトリクスを選択