Sdílet prostřednictvím


Diagnostika JournaledGrain

Monitorování chyb připojení

Poskytovatelé konzistence protokolů jsou záměrně odolné vůči chybám připojení (včetně připojení k úložišti a připojení mezi clustery). Pouze tolerance chyb však nestačí. Aplikace obvykle potřebují takové problémy monitorovat a přivést je k pozornosti operátora, pokud jsou závažné.

JournaledGrain Podtřídy mohou přepsat následující metody, aby dostávaly oznámení, když dojde k chybám připojení a kdy se tyto chyby vyřeší:

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í. Podtřídy definují skutečný typ problému s připojením. Problémy s připojením jsou rozdělené do typů, jako PrimaryOperationFailed nebo NotificationFailed, a někdy mají další klíče (například RemoteCluster), které dále zúží kategorii.

Pokud se stejná kategorie problému opakuje několikrát (například stále dostáváte NotificationFailed, které cílí na stejnou RemoteCluster), Orleans to pokaždé hlásí prostřednictvím OnConnectionIssue. Jakmile se tato kategorie problému vyřeší (například nakonec úspěšně odešlete oznámení RemoteCluster), Orleans zavolá OnConnectionIssueResolved jednou se stejným issue objektem, který naposledy oznámil OnConnectionIssue. Problémy s připojení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ích statistik (v budoucnu ji pravděpodobně nahradíme standardním mechanismem telemetrie). Shromažďování JournaledGrain statistik můžete povolit nebo zakázat voláním:

void EnableStatsCollection()
void DisableStatsCollection()

Načtěte statistiku voláním:

LogConsistencyStatistics GetStats()