> グランジャー因果関係検定を適用し、メトリックXの過去の値がメトリックYの将来の値を予測できるかどうかを確認するために、両方のモデルをF-検定 [67]で比較します。
> Sieveでグレンジャー因果関係検定を利用するために、通常の最小二乗法[32]を使用して2つの線形モデルを構築しました。まず、各メトリックX tを別のメトリックY tと比較します。第2に、各メトリックX tを他のメトリックY tの時間遅れバージョンと比較します:Y t-Laд . 2 番目のコンポーネントが API 呼び出しを受信して処理を開始するまで、1 つのコンポーネントの負荷が他のコンポーネントに反映されない可能性があるため、タイムラグのあるケースをカバーすることが重要です。
- Granger因果性はタイムラグがないと使えないので、タイムラグを意図的に注入している?
> Sieveでは、メトリクスのタイムラグのあるバージョンを構築するために、短い遅延を利用しています。その理由は、マイクロサービスベースのアプリケーションは通常、同じデータセンターで実行され、そのコンポーネントは LAN を介して通信しているため、通常の往復時間はミリ秒単位であるからです。Sieveでは、不測の遅延に備えて500msの保守的な遅延を使用しています。
- メトリクスのインターバルは1sec以上だと思うけど、それより小さい500msのディレイでいいのか?
> グランジャー因果関係検定を適用し、メトリックXの過去の値がメトリックYの将来の値を予測できるかどうかを確認するために、両方のモデルをF-検定 [67]で比較します。帰無仮説(すなわち、XはYをグランジャー因果関係にしない)は、p値が臨界値以下であれば棄却される。
> しかし、時系列のさまざまな特性を考慮しなければならない。例えば、F検定は時系列が正規分布であることを要求する。セクション3.1で使用された負荷生成は,この要件に対応するように調整できる.また,非定常時系列が含まれる場合,F-検定はスプリアス回帰を見つけるかもしれない [53].非定常時系列(例えば、CPUやネットワーク・インタフェースの単調増加するカウンタ)は、拡張ディッキー・フラー検定[55]を使用して見つけることができます。これらの時系列については、最初の差分が取られ、その後、グランジャー因果関係検定で使用されます。長いトレンドは最初の差のために失われるかもしれませんが、カウンターのような蓄積されたメトリクスは、我々の目的のために興味深い関係を提示しません。
> 各構成要素の代表的なメトリクスに隣接する構成要素の代表的なメトリクスを用いて、グランジャー因果関係検定を適用した後、グラフを得ます。このグラフでは、あるコンポーネントの1つのメトリックが隣のコンポーネントの別のメトリックをグランジャー因果関係にある場合に、マイクロサービス・コンポーネント間のエッジを描きます。このエッジは、これら2つのコンポーネント間の依存関係を表し、その方向はグランジャー因果関係によって決定されます。
[[2018__Middleware__Sieve Actionable Insights from Monitored Metrics]]