Megosztás a következőn keresztül:


JournaledGrain-diagnosztikák

Csatlakozási hibák monitorozása

A naplókonzisztencia-szolgáltatók kialakításuk szerint rugalmasak a csatlakozási hibák esetén (beleértve a tárolókapcsolatokat és a fürtök közötti kapcsolatokat is). A hibák tolerálása azonban nem elég, mivel az alkalmazásoknak általában figyelniük kell az ilyen problémákat, és ha komolyak, felhívják őket egy operátor figyelmét.

A JournaledGrain alosztályok felülbírálhatják a következő metódusokat, hogy értesítéseket kapjanak, ha csatlakozási hibák észlelhetők, és ha ezek a hibák megoldódnak:

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 egy absztrakt osztály, amelyben számos gyakori mező írja le a problémát, beleértve azt is, hogy hányszor figyelték meg a legutóbbi sikeres kapcsolat óta. A tényleges kapcsolati problémát alosztályok határozzák meg. Csatlakozás ion-problémák típusokra vannak kategorizálva, például PrimaryOperationFailed vagy NotificationFailed, és néha további kulcsokkal (például RemoteCluster) rendelkeznek, amelyek tovább szűkítik a kategóriát.

Ha ugyanaz a problémakategória többször is előfordul (például folyamatosan ugyanazt NotificationFailed a RemoteClustercélt kapjuk), akkor a probléma minden alkalommal megjelenik OnConnectionIssue . A probléma ezen kategóriájának megoldása után (például sikeresen küldünk egy értesítést erre RemoteCluster), majd OnConnectionIssueResolved egyszer meghívjuk, ugyanazzal issue az objektummal, amelyet OnConnectionIssueutoljára jelentett. Csatlakozás problémákat és azok megoldását független kategóriák esetén egymástól függetlenül jelentik.

Egyszerű statisztikák

Jelenleg egyszerű támogatást kínálunk az alapszintű statisztikákhoz (a jövőben valószínűleg ezt egy szabványosabb telemetriai mechanizmusra cseréljük). A statisztikai adatgyűjtés a JournaledGrain szolgáltatásban engedélyezhető vagy letiltható az alábbiak meghívásával:

void EnableStatsCollection()
void DisableStatsCollection()

A statisztikák a következő hívással kérhetők le:

LogConsistencyStatistics GetStats()