Diagnostik- och prestandaövervakning för Reliable Actors

Reliable Actors-körningen genererar EventSource-händelser och prestandaräknare. Dessa ger insikter om hur körningen fungerar och hjälp med felsökning och prestandaövervakning.

EventSource-händelser

EventSource-providernamnet för Reliable Actors-körningen är "Microsoft-ServiceFabric-Actors". Händelser från den här händelsekällan visas i fönstret Diagnostikhändelser när aktörsprogrammet debuggas i Visual Studio.

Exempel på verktyg och tekniker som hjälper dig att samla in och/eller visa EventSource-händelser är PerfView, Azure Diagnostics, Semantic Logging och Microsoft TraceEvent Library.

Nyckelord

Alla händelser som tillhör Reliable Actors EventSource är associerade med ett eller flera nyckelord. Detta möjliggör filtrering av händelser som samlas in. Följande nyckelordsbitar definieras.

Bitars beskrivning
0x1 Uppsättning viktiga händelser som sammanfattar driften av Fabric Actors-körningen.
0x2 Uppsättning händelser som beskriver aktörsmetodanrop. Mer information finns i introduktionsavsnittet om aktörer.
0x4 Uppsättning händelser relaterade till aktörstillstånd. Mer information finns i avsnittet om hantering av aktörstillstånd.
0x8 Uppsättning händelser som rör turbaserad samtidighet i aktören. Mer information finns i avsnittet om samtidighet.

Prestandaräknare

Reliable Actors-körningen definierar följande kategorier för prestandaräknare.

Kategori beskrivning
Service Fabric-aktör Räknare som är specifika för Azure Service Fabric-aktörer, t.ex. tidsåtgång för att spara aktörstillstånd
Service Fabric-aktörsmetod Räknare som är specifika för metoder som implementeras av Service Fabric-aktörer, t.ex. hur ofta en aktörsmetod anropas

Var och en av kategorierna ovan har en eller flera räknare.

Windows Performance Monitor-programmet som är tillgängligt som standard i Windows-operativsystemet kan användas för att samla in och visa prestandaräknardata. Azure Diagnostics är ett annat alternativ för att samla in prestandaräknare och ladda upp dem till Azure-tabeller.

Instansnamn för prestandaräknare

Ett kluster som har ett stort antal aktörstjänster eller aktörstjänstpartitioner har ett stort antal instanser av aktörsprestandaräknare. Instansnamnen för prestandaräknaren kan hjälpa dig att identifiera den specifika partitions - och aktörsmetod (om tillämpligt) som prestandaräknarens instans är associerad med.

Service Fabric Actor-kategori

För kategorin Service Fabric Actorär räknarinstansnamnen i följande format:

ServiceFabricPartitionID_ActorsRuntimeInternalID

ServiceFabricPartitionID är strängrepresentationen av Service Fabric-partitions-ID:t som prestandaräknarens instans är associerad med. Partitions-ID:t är ett GUID och dess strängrepresentation genereras via Guid.ToString metoden med formatspecificeraren "D".

ActorRuntimeInternalID är strängrepresentationen av ett 64-bitars heltal som genereras av Fabric Actors-körningen för intern användning. Detta ingår i prestandaräknarens instansnamn för att säkerställa dess unika egenskaper och undvika konflikter med andra instansnamn för prestandaräknare. Användarna bör inte försöka tolka den här delen av prestandaräknarens instansnamn.

Följande är ett exempel på ett räknarinstansnamn för en räknare som tillhör Service Fabric Actor kategorin:

2740af29-78aa-44bc-a20b-7e60fb783264_635650083799324046

I exemplet ovan 2740af29-78aa-44bc-a20b-7e60fb783264 är strängrepresentationen av Service Fabric-partitions-ID:t och 635650083799324046 det 64-bitars-ID som genereras för körningens interna användning.

Metodkategori för Service Fabric-aktör

För kategorin Service Fabric Actor Methodär räknarinstansnamnen i följande format:

MethodName_ActorsRuntimeMethodId_ServiceFabricPartitionID_ActorsRuntimeInternalID

MethodName är namnet på den aktörsmetod som prestandaräknarens instans är associerad med. Formatet för metodnamnet bestäms baserat på viss logik i Fabric Actors-körningen som balanserar namnets läsbarhet med begränsningar för den maximala längden på prestandaräknarens instansnamn i Windows.

ActorsRuntimeMethodId är strängrepresentationen av ett 32-bitars heltal som genereras av Fabric Actors-körningen för intern användning. Detta ingår i prestandaräknarens instansnamn för att säkerställa dess unika egenskaper och undvika konflikter med andra instansnamn för prestandaräknare. Användarna bör inte försöka tolka den här delen av prestandaräknarens instansnamn.

ServiceFabricPartitionID är strängrepresentationen av Service Fabric-partitions-ID:t som prestandaräknarens instans är associerad med. Partitions-ID:t är ett GUID och dess strängrepresentation genereras via Guid.ToString metoden med formatspecificeraren "D".

ActorRuntimeInternalID är strängrepresentationen av ett 64-bitars heltal som genereras av Fabric Actors-körningen för intern användning. Detta ingår i prestandaräknarens instansnamn för att säkerställa dess unika egenskaper och undvika konflikter med andra instansnamn för prestandaräknare. Användarna bör inte försöka tolka den här delen av prestandaräknarens instansnamn.

Följande är ett exempel på ett räknarinstansnamn för en räknare som tillhör Service Fabric Actor Method kategorin:

ivoicemailboxactor.leavemessageasync_2_89383d32-e57e-4a9b-a6ad-57c6792aa521_635650083804480486

I exemplet ovan ivoicemailboxactor.leavemessageasync är metodnamnet, 2 är det 32-bitars ID som genererats för körningens interna användning, 89383d32-e57e-4a9b-a6ad-57c6792aa521 är strängrepresentationen av Service Fabric-partitions-ID:t och 635650083804480486 är det 64-bitars ID som genereras för körningens interna användning.

Lista över händelser och prestandaräknare

Aktörsmetodhändelser och prestandaräknare

Reliable Actors-körningen genererar följande händelser relaterade till aktörsmetoder.

Händelsenamn Händelse-ID Nivå Nyckelord beskrivning
ActorMethodStart 7 Utförlig 0x2 Actors Runtime är på väg att anropa en aktörsmetod.
ActorMethodStop 8 Utförlig 0x2 En aktörsmetod har slutfört körningen. Det vill säga körningens asynkrona anrop till aktörsmetoden har returnerats och uppgiften som returneras av aktörsmetoden har slutförts.
ActorMethodThrewException 9 Varning 0x3 Ett undantag utlöstes under körningen av en aktörsmetod, antingen under körningens asynkrona anrop till aktörsmetoden eller under körningen av uppgiften som returnerades av aktörsmetoden. Den här händelsen anger någon form av fel i aktörskoden som behöver undersökas.

Reliable Actors-körningen publicerar följande prestandaräknare relaterade till körningen av aktörsmetoder.

Kategorinamn Räknarens namn beskrivning
Service Fabric-aktörsmetod Anrop per sekund Antal gånger som aktörstjänstmetoden anropas per sekund
Service Fabric-aktörsmetod Genomsnittliga millisekunder per anrop Tid det tar att köra aktörstjänstmetoden i millisekunder
Service Fabric-aktörsmetod Undantag som genereras per sekund Antal gånger som aktörstjänstmetoden utlöste ett undantag per sekund

Samtidighetshändelser och prestandaräknare

Reliable Actors-körningen genererar följande händelser relaterade till samtidighet.

Händelsenamn Händelse-ID Nivå Nyckelord beskrivning
ActorMethodCallsWaitingForLock 12 Utförlig 0x8 Den här händelsen skrivs i början av varje ny tur i en aktör. Den innehåller antalet väntande aktörsanrop som väntar på att hämta låset per aktör som framtvingar turbaserad samtidighet.

Reliable Actors-körningen publicerar följande prestandaräknare relaterade till samtidighet.

Kategorinamn Räknarens namn beskrivning
Service Fabric-aktör Antal skådespelare som ringer och väntar på aktörslås Antal väntande aktörsanrop som väntar på att hämta låset per aktör som framtvingar turbaserad samtidighet
Service Fabric-aktör Genomsnittlig millisekunder per låsvänte Tid det tar (i millisekunder) att hämta låset per aktör som framtvingar turbaserad samtidighet
Service Fabric-aktör Genomsnittligt millisekunder aktörslås som hålls Tid (i millisekunder) för vilken låset per aktör hålls

Aktörens tillståndshanteringshändelser och prestandaräknare

Reliable Actors-körningen genererar följande händelser som rör hantering av aktörstillstånd.

Händelsenamn Händelse-ID Nivå Nyckelord beskrivning
ActorSaveStateStart 10 Utförlig 0x4 Actors runtime är på väg att spara aktörstillståndet.
ActorSaveStateStop 11 Utförlig 0x4 Aktörskörningen har sparat aktörstillståndet.

Reliable Actors-körningen publicerar följande prestandaräknare relaterade till hantering av aktörstillstånd.

Kategorinamn Räknarens namn beskrivning
Service Fabric-aktör Genomsnittlig millisekunder per åtgärd för sparandetillstånd Tidsåtgång för att spara aktörstillstånd i millisekunder
Service Fabric-aktör Genomsnittlig millisekunder per belastningstillståndsåtgärd Tid det tar att läsa in aktörens tillstånd i millisekunder

Reliable Actors-körningen genererar följande händelser relaterade till aktörsrepliker.

Händelsenamn Händelse-ID Nivå Nyckelord beskrivning
ReplicaChangeRoleToPrimary 1 Information 0x1 Aktörsrepliken ändrade rollen till Primär. Detta innebär att aktörerna för den här partitionen kommer att skapas i den här repliken.
ReplicaChangeRoleFromPrimary 2 Information 0x1 Aktörsrepliken ändrade rollen till icke-primär. Detta innebär att aktörerna för den här partitionen inte längre skapas i den här repliken. Inga nya begäranden kommer att levereras till aktörer som redan har skapats i den här repliken. Aktörerna kommer att förstöras när pågående begäranden har slutförts.

Aktörens aktiverings- och inaktiveringshändelser och prestandaräknare

Reliable Actors-körningen genererar följande händelser som rör aktörsaktivering och inaktivering.

Händelsenamn Händelse-ID Nivå Nyckelord beskrivning
ActorActivated 5 Information 0x1 En aktör har aktiverats.
ActorDeactivated 6 Information 0x1 En aktör har inaktiverats.

Reliable Actors-körningen publicerar följande prestandaräknare relaterade till aktörsaktivering och inaktivering.

Kategorinamn Räknarens namn beskrivning
Service Fabric-aktör Genomsnittliga OnActivateAsync-millisekunder Tid det tar att köra Metoden OnActivateAsync i millisekunder

Prestandaräknare för bearbetning av aktörsbegäran

När en klient anropar en metod via ett aktörsproxyobjekt resulterar det i att ett meddelande skickas via nätverket till aktörstjänsten. Tjänsten bearbetar begärandemeddelandet och skickar ett svar tillbaka till klienten. Reliable Actors-körningen publicerar följande prestandaräknare relaterade till bearbetning av aktörsbegäran.

Kategorinamn Räknarens namn beskrivning
Service Fabric-aktör Antal utestående begäranden Antal begäranden som bearbetas i tjänsten
Service Fabric-aktör Genomsnittliga millisekunder per begäran Tidsåtgång (i millisekunder) av tjänsten för att bearbeta en begäran
Service Fabric-aktör Genomsnittliga millisekunder för deserialisering av begäran Tid det tar (i millisekunder) att deserialisera meddelande om aktörsbegäran när det tas emot i tjänsten
Service Fabric-aktör Genomsnittliga millisekunder för svarsserialisering Tid det tar (i millisekunder) att serialisera aktörens svarsmeddelande i tjänsten innan svaret skickas till klienten

Nästa steg