Diagnostické funkce pro stavové služby Reliable Services

Třída StatefulServiceBase stavové služby Azure Service Fabric generuje události EventSource , které je možné použít k ladění služby, poskytují přehledy o provozu modulu runtime a pomáhají s řešením potíží.

Události EventSource

Název EventSource pro stateful Reliable Services StatefulServiceBase třída je Microsoft-ServiceFabric-Services. Události z tohoto zdroje událostí se zobrazí v okně Diagnostické události při ladění služby v sadě Visual Studio.

Mezi příklady nástrojů a technologií, které pomáhají shromažďovat a zobrazovat události EventSource, patří PerfView, Azure Diagnostics a Knihovna Microsoft TraceEvent.

Události

Název události ID události Level Popis události
StatefulRunAsyncInvocation 0 Informační Vygenerováno při spuštění úlohy RunAsync služby
StatefulRunAsyncCancellation 2 Informační Vygenerováno při zrušení úlohy RunAsync služby
StatefulRunAsyncCompletion 3 Informační Po dokončení úlohy RunAsync služby se vygeneruje
StatefulRunAsyncSlowCancellation 4 Upozorňující Vygenerováno, když dokončení zrušení úlohy RunAsync služby trvá příliš dlouho.
StatefulRunAsyncFailure 5 Chyba Vygenerováno, když úloha RunAsync služby vyvolá výjimku

Interpretace událostí

Události StatefulRunAsyncInvocation, StatefulRunAsyncCompletion a StatefulRunAsyncCancellation jsou užitečné pro zapisovač služby, aby porozuměli životnímu cyklu služby a také časování spuštění, zrušení nebo dokončení služby. Tyto informace můžou být užitečné při ladění problémů se službou nebo pochopení životního cyklu služby.

Zapisovače služeb by měly věnovat pozornost událostem StatefulRunAsyncSlowCancellation a StatefulRunAsyncFailure, protože indikují problémy se službou.

StatefulRunAsyncFailure se vygeneruje pokaždé, když úloha RunAsync() služby vyvolá výjimku. Vyvolání výjimky obvykle značí chybu nebo chybu ve službě. Kromě toho výjimka způsobí selhání služby, takže se přesune do jiného uzlu. Tato operace může být náročná a při přesunu služby může zpozdit příchozí požadavky. Zapisovače služeb by měly určit příčinu výjimky a pokud je to možné, zmírnit ji.

StatefulRunAsyncSlowCancellation se vygeneruje vždy, když požadavek na zrušení úlohy RunAsync trvá déle než čtyři sekundy. Pokud dokončení zrušení služby trvá příliš dlouho, ovlivňuje možnost rychlého restartování služby na jiném uzlu. Tento scénář může ovlivnit celkovou dostupnost služby.

Čítače výkonu

Modul runtime Reliable Services definuje následující kategorie čítačů výkonu:

Kategorie Popis
Transakční replikátor Service Fabric Čítače specifické pro transakční replikátor služby Azure Service Fabric
Service Fabric TStore Čítače specifické pro úložiště TStore služby Azure Service Fabric

Správce spolehlivého stavu používá transakční replikátor Service Fabric k replikaci transakcí v rámci dané sady replik.

Service Fabric TStore je komponenta používaná v Reliable Collections k ukládání a načítání párů klíč-hodnota.

Aplikace Windows Sledování výkonu, která je ve výchozím nastavení dostupná v operačním systému Windows, lze použít ke shromažďování a zobrazení dat čítačů výkonu. Azure Diagnostics je další možností shromažďování dat čítačů výkonu a jejich nahrání do tabulek Azure.

Názvy instancí čítačů výkonu

Cluster s velkým počtem spolehlivých služeb nebo spolehlivých oddílů služby bude mít velký počet instancí čítačů výkonu transakčního replikátoru. Jedná se také o případ čítačů výkonu úložiště TStore, ale také se vynásobí počtem použitých spolehlivých slovníků a spolehlivých front. Názvy instancí čítače výkonu můžou pomoct při identifikaci konkrétního oddílu, repliky služby a zprostředkovatele stavu v případě TStore, ke kterému je přidružena instance čítače výkonu.

Kategorie transakčního replikátoru Service Fabric

Pro kategorii Service Fabric Transactional Replicatorjsou názvy instancí čítačů v následujícím formátu:

ServiceFabricPartitionId:ServiceFabricReplicaId

ServiceFabricPartitionId je řetězcová reprezentace ID oddílu Service Fabric, ke které je přidružena instance čítače výkonu. ID oddílu je IDENTIFIKÁTOR GUID a jeho řetězcové vyjádření se generuje pomocí Guid.ToString specifikátoru formátu "D".

ServiceFabricReplicaId je ID přidružené k dané replice spolehlivé služby. ID repliky je součástí názvu instance čítače výkonu, aby se zajistila jeho jedinečnost a zabránilo konfliktu s jinými instancemi čítače výkonu vygenerovanými stejným oddílem. Další podrobnosti o replikách a jejich roli ve spolehlivých službách najdete tady.

Následující název instance čítače je typický pro čítač v Service Fabric Transactional Replicator kategorii:

00d0126d-3e36-4d68-98da-cc4f7195d85e:131652217797162571

V předchozím příkladu 00d0126d-3e36-4d68-98da-cc4f7195d85e je řetězcová reprezentace ID oddílu Service Fabric a 131652217797162571 je ID repliky.

Kategorie Úložiště úložiště Service Fabric

Pro kategorii Service Fabric TStorejsou názvy instancí čítačů v následujícím formátu:

ServiceFabricPartitionId:ServiceFabricReplicaId:StateProviderId_PerformanceCounterInstanceDifferentiator_StateProviderName

ServiceFabricPartitionId je řetězcová reprezentace ID oddílu Service Fabric, ke které je přidružena instance čítače výkonu. ID oddílu je IDENTIFIKÁTOR GUID a jeho řetězcové vyjádření se generuje pomocí Guid.ToString specifikátoru formátu "D".

ServiceFabricReplicaId je ID přidružené k dané replice spolehlivé služby. ID repliky je součástí názvu instance čítače výkonu, aby se zajistila jeho jedinečnost a zabránilo konfliktu s jinými instancemi čítače výkonu vygenerovanými stejným oddílem. Další podrobnosti o replikách a jejich roli ve spolehlivých službách najdete tady.

StateProviderId je ID přidružené k poskytovateli stavu v rámci spolehlivé služby. ID zprostředkovatele stavu je součástí názvu instance čítače výkonu pro rozlišení úložiště TStore od jiného.

PerformanceCounterInstanceDifferentiator je odlišné ID přidružené k instanci čítače výkonu v rámci zprostředkovatele stavu. Tento rozdílový objekt je součástí názvu instance čítače výkonu, aby se zajistila jedinečnost a zabránilo konfliktu s jinými instancemi čítače výkonu vygenerovanými stejným poskytovatelem stavu.

StateProviderName je název přidružený k poskytovateli stavu v rámci spolehlivé služby. Název zprostředkovatele stavu je součástí názvu instance čítače výkonu, aby uživatelé mohli snadno zjistit, jaký stav poskytuje.

Následující název instance čítače je typický pro čítač v Service Fabric TStore kategorii:

00d0126d-3e36-4d68-98da-cc4f7195d85e:131652217797162571:142652217797162571_1337_urn:MyReliableDictionary/dataStore

V předchozím příkladu 00d0126d-3e36-4d68-98da-cc4f7195d85e je řetězcová reprezentace ID oddílu Service Fabric, 131652217797162571 je ID repliky, 142652217797162571 ID zprostředkovatele stavu a 1337 je to rozdílná instance čítače výkonu. urn:MyReliableDictionary/dataStore je název zprostředkovatele stavu, který ukládá data pro kolekci s názvem urn:MyReliableDictionary.

Čítače výkonu transakčního replikátoru

Modul runtime Reliable Services generuje následující události v Service Fabric Transactional Replicator kategorii.

Název čítače Popis
Zahájení operací Txn za sekundu Počet nových transakcí zápisu vytvořených za sekundu.
Txn Operations/s Počet operací přidání, aktualizace nebo odstranění provedených u spolehlivých kolekcí za sekundu
Protokol vyprázdnění bajtů za sekundu Počet bajtů vyprázdněných na disk transakčním replikátorem za sekundu
Omezené operace za sekundu Počet operací odmítnutých každou sekundu transakčním replikátorem kvůli omezování.
Prům. Transakce ms/Commit Průměrná latence potvrzení na transakci v milisekundách
Prům. Latence vyprázdnění (ms) Průměrná doba trvání operací vyprázdnění disku iniciovaného transakčním replikátorem v milisekundách

Čítače výkonu úložiště dat

Modul runtime Reliable Services generuje následující události v Service Fabric TStore kategorii.

Název čítače Popis
Počet položek Počet položek v úložišti
Velikost disku Celková velikost disku v bajtech souborů kontrolních bodů úložiště.
Bajty zápisu souboru kontrolního bodu za sekundu Počet bajtů zapsaných za sekundu pro poslední soubor kontrolního bodu.
Kopírování bajtů přenosu disku za sekundu Počet čtení bajtů disku (na primární replice) nebo zápisu (na sekundární replice) za sekundu během kopie úložiště.

Další kroky

Zprostředkovatelé EventSource v nástroji PerfView