Diagnostika JournaledGrain
Monitorování chyb připojení
Poskytovatelé konzistence protokolů jsou záměrně odolní při chybách připojení (včetně připojení k úložišti a připojení mezi clustery). Ale pouze tolerance chyb nestačí, protože aplikace obvykle potřebují monitorovat všechny takové problémy, a upozornit je na pozornost operátora, pokud jsou závažné.
Podtřídy JournaledGrain mohou přepsat následující metody, aby dostávaly oznámení, když dojde k chybám připojení a kdy jsou tyto chyby vyřešeny:
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 je abstraktní třída s několika běžnými poli popisujícími problém, včetně toho, kolikrát bylo zjištěno od posledního úspěšného připojení. Skutečný typ problému s připojením je definován podtřídami. Připojení problémy jsou kategorizovány do typů, jako PrimaryOperationFailed je například nebo NotificationFailed, a někdy mají další klíče (napříkladRemoteCluster), které dále zúží kategorii.
Pokud se stejná kategorie problému stane několikrát (například stále dostáváme stejnou RemoteCluster
určitou NotificationFailed
kategorii), je hlášena pokaždé OnConnectionIssue . Jakmile se tato kategorie problému vyřeší (například jsme nakonec úspěšní odesláním oznámení RemoteCluster
), pak OnConnectionIssueResolved se zavolá jednou se stejným issue
objektem OnConnectionIssue
, který byl naposledy hlášen . Připojení problémů a jejich řešení pro nezávislé kategorie jsou hlášeny nezávisle.
Jednoduchá statistika
V současné době nabízíme jednoduchou podporu základní statistiky (v budoucnu ji pravděpodobně nahradíme standardním mechanismem telemetrie). Shromažďování statistik lze povolit nebo zakázat pro journaledGrain voláním:
void EnableStatsCollection()
void DisableStatsCollection()
Statistiky lze načíst voláním:
LogConsistencyStatistics GetStats()