Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Überwachen von Verbindungsfehlern
Standardmäßig sind Protokollkonsistenzanbieter unter Verbindungsfehlern (einschließlich Verbindungen mit Speicher und Verbindungen zwischen Clustern) widerstandsfähig. Das bloße Tolerieren von Fehlern reicht jedoch nicht aus. Anwendungen müssen diese Probleme in der Regel überwachen und sie bei schwerwiegenden Problemen auf einen Betreiber aufmerksam machen.
JournaledGrain
Unterklassen können die folgenden Methoden überschreiben, um Benachrichtigungen zu empfangen, wenn Verbindungsfehler beobachtet werden und wenn diese Fehler behoben werden:
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 ist eine abstrakte Klasse mit mehreren allgemeinen Feldern, die das Problem beschreiben, einschließlich der Anzahl der Male, die es seit der letzten erfolgreichen Verbindung beobachtet wurde. Unterklassen definieren den tatsächlichen Verbindungstyp. Verbindungsprobleme werden in Typen wie PrimaryOperationFailed oder NotificationFailed kategorisiert und weisen manchmal zusätzliche Schlüssel (wie RemoteCluster) auf, die die Kategorie weiter einschränken.
Wenn dieselbe Problemkategorie mehrmals auftritt (z. B. erhalten Sie immer wieder eine NotificationFailed
Zielbestimmung RemoteCluster
), meldet Orleans sie jedes Mal über OnConnectionIssue. Sobald diese Problemkategorie behoben ist (z. B. gelingt es Ihnen schließlich, eine Benachrichtigung an diese RemoteCluster
zu senden), ruft Orleans einmal OnConnectionIssueResolved auf, mit demselben issue
Objekt, das zuletzt von OnConnectionIssue
gemeldet wurde. Verbindungsprobleme und deren Auflösungen für unabhängige Kategorien werden unabhängig voneinander gemeldet.
Einfache Statistiken
Wir bieten derzeit einfache Unterstützung für grundlegende Statistiken (in Zukunft werden wir dies wahrscheinlich durch einen standardmäßigen Telemetriemechanismus ersetzen). Sie können die Statistiksammlung für ein JournaledGrain
aktivieren oder deaktivieren, indem Sie Folgendes aufrufen:
void EnableStatsCollection()
void DisableStatsCollection()
Rufen Sie die Statistiken durch Aufrufen ab:
LogConsistencyStatistics GetStats()