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.
Bit | 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 |
Händelser relaterade till aktörsrepliker
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 |