JournaledGrain の診断
接続エラーの監視
設計上、ログ整合性プロバイダーは接続エラー (ストレージへの接続とクラスター間の接続の両方を含む) で回復性があります。 ただし、アプリケーションでは通常、このような問題を監視し、深刻な場合はオペレーターの注意を引く必要があるため、エラーを許容するだけでは十分ではありません。
JournaledGrain サブクラスでは次のメソッドをオーバーライドして、接続エラーが観測され、それらのエラーが解決されたときに通知を受け取ることができます。
protected override void OnConnectionIssue(
ConnectionIssue issue)
{
/// handle the observed error described by issue
}
protected override void OnConnectionIssueResolved(
ConnectionIssue issue)
{
/// handle the resolution of a previously reported issue
}
ConnectionIssue は抽象クラスであり、問題を説明するいくつかの一般的なフィールド (最後に接続が成功してから何回観察されたかなど) があります。 実際の接続の問題の種類はサブクラスによって定義されます。 接続の問題は、PrimaryOperationFailed や NotificationFailed などの種類に分類され、カテゴリをさらに絞り込む追加のキー (RemoteCluster など) がある場合があります。
同じカテゴリの問題が複数回発生した場合 (たとえば、同じ RemoteCluster
を対象とする NotificationFailed
を取得し続けるなど)、毎回 OnConnectionIssue によって報告されます。 このカテゴリの問題が解決されると (たとえば、この RemoteCluster
に通知を送信すると最終的に成功します)、最後に OnConnectionIssue
によって報告されたのと同じ issue
オブジェクトを使用して OnConnectionIssueResolved が 1 回呼び出されます。 独立したカテゴリの接続の問題とその解決策は、個別に報告されます。
単純な統計
現在、基本的な統計の簡単なサポートを提供しています (将来的には、これをより標準的なテレメトリ メカニズムに置き換える予定です)。 JournaledGrain に対して統計コレクションを有効または無効にするには、次を呼び出します。
void EnableStatsCollection()
void DisableStatsCollection()
統計は、次を呼び出すことによって取得できます。
LogConsistencyStatistics GetStats()
.NET