Sdílet prostřednictvím


Diagnostická funkcionalita pro stavové spolehlivé služby

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 třídu StatefulServiceBase služby stateful Reliable Services je "Microsoft-ServiceFabric-Services." Události z tohoto zdroje událostí se objevují v okně Diagnostické události při ladění služby ve Visual Studiu.

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 Úroveň Popis události
StatefulRunAsyncInvocation 1 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í Událost je vygenerována po dokončení úlohy RunAsync služby.
StatefulRunAsyncSlowCancellation 4 Výstraha 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 autora služby, aby porozuměl životnímu cyklu služby a také časování při 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či služeb by měli 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. Servisní technici by měli 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.

Aplikaci Windows Performance Monitor , 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, který má velký počet 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, přičemž se počet násobí podle počtu použitých spolehlivých slovníků a 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í specifikátoru formátu "D" v Guid.ToString.

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 TStore služby 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 se specifikátorem 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 poskytovatele stavu je součástí názvu instance čítače výkonu pro rozlišení jednoho úložiště TStore od druhého.

PerformanceCounterInstanceDifferentiator je odlišující ID přidružené k instanci čítače výkonu v rámci zprostředkovatele stavu. Tento rozlišovač je součástí názvu instance čítače výkonu, aby byla zajištěna jeho jedinečnost a zabránilo se konfliktu s jinými instancemi čítače výkonu vytvořený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 je 00d0126d-3e36-4d68-98da-cc4f7195d85e řetězcovou reprezentací ID oddílu Service Fabric, 131652217797162571 je ID repliky, 142652217797162571 je ID zprostředkovatele stavu a 1337 je rozlišovač 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 Operace/sekund Počet operací přidání, aktualizace nebo odstranění provedených u spolehlivých kolekcí za sekundu
Bajty zápisu do záznamu za sekundu Počet bajtů vyprázdněných na disk transakčním replikátorem za sekundu
Limitované operace za sekundu Počet operací odmítnutých transakčním replikátorem každou sekundu kvůli omezení.
Prům. dobu transakce (ms) / potvrzení Průměrná latence potvrzení na transakci v milisekundách
Průměrná 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 TStore

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 obchodě
Velikost disku Celková velikost souborů kontrolních bodů v úložišti, v bajtech.
Bajty zápisu souboru kontrolního bodu za sekundu Počet bajtů zapsaných za sekundu pro nejnovější soubor kontrolního bodu.
Přenesené bajty na disk 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