Share via


Diagnose- en prestatiecontrole voor betrouwbare actoren

De Reliable Actors-runtime verzendt EventSource-gebeurtenissen en prestatiemeteritems. Deze bieden inzicht in de werking van de runtime en hulp bij het oplossen van problemen en prestatiebewaking.

EventSource-gebeurtenissen

De naam van de EventSource-provider voor de Reliable Actors-runtime is 'Microsoft-ServiceFabric-Actors'. Gebeurtenissen uit deze gebeurtenisbron worden weergegeven in het venster Diagnostische gebeurtenissen wanneer de actortoepassing fouten opspoort in Visual Studio.

Voorbeelden van hulpprogramma's en technologieën die helpen bij het verzamelen en/of weergeven van EventSource-gebeurtenissen zijn PerfView, Azure Diagnostics, Semantic Logging en de Microsoft TraceEvent Library.

Trefwoorden

Alle gebeurtenissen die deel uitmaken van de Reliable Actors EventSource, zijn gekoppeld aan een of meer trefwoorden. Hiermee kunt u filteren op gebeurtenissen die worden verzameld. De volgende trefwoord-bits worden gedefinieerd.

Bit Beschrijving
0x1 Set belangrijke gebeurtenissen die de werking van de Fabric Actors-runtime samenvatten.
0x2 Set gebeurtenissen die actormethode-aanroepen beschrijven. Zie het inleidende onderwerp over actoren voor meer informatie.
0x4 Set gebeurtenissen met betrekking tot de actorstatus. Zie het onderwerp over actorstatusbeheer voor meer informatie.
0x8 Reeks gebeurtenissen met betrekking tot gelijktijdigheid op basis van turn-based in de actor. Zie het onderwerp over gelijktijdigheid voor meer informatie.

Prestatiemeteritems

De Reliable Actors-runtime definieert de volgende prestatiemeteritemscategorieën.

Categorie Beschrijving
Service Fabric Actor Prestatiemeteritems die specifiek zijn voor Azure Service Fabric-actoren, bijvoorbeeld de tijd die nodig is om de actorstatus op te slaan
Service Fabric Actor-methode Counters die specifiek zijn voor methoden die worden geïmplementeerd door Service Fabric-actoren, bijvoorbeeld hoe vaak een actormethode wordt aangeroepen

Elk van de bovenstaande categorieën heeft een of meer tellers.

De Windows Performance Monitor-toepassing die standaard beschikbaar is in het Windows-besturingssysteem, kan worden gebruikt om prestatiemeteritems te verzamelen en weer te geven. Azure Diagnostics is een andere optie voor het verzamelen van prestatiemeteritems en het uploaden ervan naar Azure-tabellen.

Namen van exemplaren van prestatiemeteritems

Een cluster met een groot aantal actorservices of actorservicepartities heeft een groot aantal exemplaren van actorprestaties. De namen van de prestatiemeteritems kunnen helpen bij het identificeren van de specifieke partitie - en actormethode (indien van toepassing) waaraan het prestatiemeteritemexemplaar is gekoppeld.

Service Fabric Actor-categorie

Voor de categorie Service Fabric Actorhebben de namen van de tellerexemplaren de volgende indeling:

ServiceFabricPartitionID_ActorsRuntimeInternalID

ServiceFabricPartitionID is de tekenreeksweergave van de Service Fabric-partitie-id waaraan het prestatiemeteritemexemplaar is gekoppeld. De partitie-id is een GUID en de tekenreeksweergave wordt gegenereerd via de Guid.ToString methode met de notatieaanduiding D.

ActorRuntimeInternalID is de tekenreeksweergave van een 64-bits geheel getal dat wordt gegenereerd door de Fabric Actors-runtime voor intern gebruik. Dit wordt opgenomen in de naam van het prestatiemeteritem om de uniekheid ervan te garanderen en conflicten met andere namen van prestatiemeteritems te voorkomen. Gebruikers mogen dit gedeelte van de naam van het prestatiemeteritem niet interpreteren.

Hier volgt een voorbeeld van de naam van een itemexemplaren voor een teller die deel uitmaakt van de Service Fabric Actor categorie:

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

In het bovenstaande 2740af29-78aa-44bc-a20b-7e60fb783264 voorbeeld is de tekenreeksweergave van de Service Fabric-partitie-id en 635650083799324046 is dit de 64-bits id die wordt gegenereerd voor intern gebruik van de runtime.

Categorie Service Fabric Actor Method

Voor de categorie Service Fabric Actor Methodhebben de namen van de tellerexemplaren de volgende indeling:

MethodName_ActorsRuntimeMethodId_ServiceFabricPartitionID_ActorsRuntimeInternalID

MethodName is de naam van de actormethode waaraan het prestatiemeteritemexemplaar is gekoppeld. De indeling van de methodenaam wordt bepaald op basis van een bepaalde logica in de Fabric Actors-runtime die de leesbaarheid van de naam in balans brengt met beperkingen voor de maximale lengte van de namen van prestatiemeteritems in Windows.

ActorsRuntimeMethodId is de tekenreeksweergave van een 32-bits geheel getal dat wordt gegenereerd door de Fabric Actors-runtime voor intern gebruik. Dit wordt opgenomen in de naam van het prestatiemeteritem om de uniekheid ervan te garanderen en conflicten met andere namen van prestatiemeteritems te voorkomen. Gebruikers mogen dit gedeelte van de naam van het prestatiemeteritem niet interpreteren.

ServiceFabricPartitionID is de tekenreeksweergave van de Service Fabric-partitie-id waaraan het prestatiemeteritemexemplaar is gekoppeld. De partitie-id is een GUID en de tekenreeksweergave wordt gegenereerd via de Guid.ToString methode met de notatieaanduiding D.

ActorRuntimeInternalID is de tekenreeksweergave van een 64-bits geheel getal dat wordt gegenereerd door de Fabric Actors-runtime voor intern gebruik. Dit wordt opgenomen in de naam van het prestatiemeteritem om de uniekheid ervan te garanderen en conflicten met andere namen van prestatiemeteritems te voorkomen. Gebruikers mogen dit gedeelte van de naam van het prestatiemeteritem niet interpreteren.

Hier volgt een voorbeeld van de naam van een itemexemplaren voor een teller die deel uitmaakt van de Service Fabric Actor Method categorie:

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

In het bovenstaande ivoicemailboxactor.leavemessageasync voorbeeld is de methodenaam, 2 is de 32-bits id die is gegenereerd voor intern gebruik van de runtime, 89383d32-e57e-4a9b-a6ad-57c6792aa521 de tekenreeksweergave van de Service Fabric-partitie-id en 635650083804480486 is de 64-bits id die is gegenereerd voor het interne gebruik van de runtime.

Lijst met gebeurtenissen en prestatiemeters

Actormethode-gebeurtenissen en prestatiemeteritems

De Reliable Actors-runtime verzendt de volgende gebeurtenissen met betrekking tot actormethoden.

Gebeurtenisnaam Gebeurtenis-id Niveau Trefwoord Beschrijving
ActorMethodStart 7 Uitgebreid 0x2 Actors Runtime staat op het punt om een actormethode aan te roepen.
ActorMethodStop 8 Uitgebreid 0x2 Er is een actormethode uitgevoerd. Dat wil gezegd: de asynchrone aanroep van de actormethode van de runtime is geretourneerd en de taak die door de actormethode wordt geretourneerd, is voltooid.
ActorMethodThrewException 9 Waarschuwing 0x3 Er is een uitzondering opgetreden tijdens de uitvoering van een actormethode, hetzij tijdens de asynchrone aanroep van de actormethode van de runtime of tijdens de uitvoering van de taak die door de actormethode wordt geretourneerd. Deze gebeurtenis geeft een of andere fout aan in de actorcode die onderzoek nodig heeft.

De Reliable Actors-runtime publiceert de volgende prestatiemeteritems met betrekking tot de uitvoering van actormethoden.

Categorienaam Naam van het meteritem Beschrijving
Service Fabric Actor-methode Aanroepen per seconde Aantal keren dat de actorservicemethode per seconde wordt aangeroepen
Service Fabric Actor-methode Gemiddelde milliseconden per aanroep De tijd die nodig is om de actorservicemethode in milliseconden uit te voeren
Service Fabric Actor-methode Uitzonderingen gegenereerd per seconde Aantal keren dat de actorservicemethode een uitzondering per seconde heeft veroorzaakt

Gelijktijdigheids- en prestatiemeteritems

De Reliable Actors-runtime verzendt de volgende gebeurtenissen met betrekking tot gelijktijdigheid.

Gebeurtenisnaam Gebeurtenis-id Niveau Trefwoord Beschrijving
ActorMethodCallsWaitingForLock 12 Uitgebreid 0x8 Deze gebeurtenis wordt aan het begin van elke nieuwe inlever in een actor geschreven. Het bevat het aantal in behandeling zijnde actor-aanroepen die wachten om de vergrendeling per actor te verkrijgen die gelijktijdigheid op basis van turn-based afdwingt.

De Reliable Actors-runtime publiceert de volgende prestatiemeteritems met betrekking tot gelijktijdigheid.

Categorienaam Naam van het meteritem Beschrijving
Service Fabric Actor Aantal actoroproepen die wachten op actorvergrendeling Aantal wachtende actor-aanroepen die wachten op het verkrijgen van de vergrendeling per actor die gelijktijdigheid op basis van turn afdwingt
Service Fabric Actor Gemiddelde milliseconden per vergrendelingswacht Tijd die nodig is (in milliseconden) om de vergrendeling per actor te verkrijgen die gelijktijdigheid op basis van turn afdwingt
Service Fabric Actor Gemiddelde milliseconden actorvergrendeling vastgehouden Tijd (in milliseconden) waarvoor de vergrendeling per actor wordt vastgehouden

Gebeurtenissen en prestatiemeteritems van actorstatusbeheer

De Reliable Actors-runtime verzendt de volgende gebeurtenissen met betrekking tot actorstatusbeheer.

Gebeurtenisnaam Gebeurtenis-id Niveau Trefwoord Beschrijving
ActorSaveStateStart 10 Uitgebreid 0x4 Actors Runtime staat op het punt om de actorstatus op te slaan.
ActorSaveStateStop 11 Uitgebreid 0x4 Actors Runtime heeft de status van de actor opgeslagen.

De Reliable Actors-runtime publiceert de volgende prestatiemeteritems met betrekking tot actorstatusbeheer.

Categorienaam Naam van het meteritem Beschrijving
Service Fabric Actor Gemiddelde milliseconden per opslagstatusbewerking Tijd die nodig is om de actorstatus in milliseconden op te slaan
Service Fabric Actor Gemiddelde milliseconden per belastingsstatusbewerking Tijd die nodig is om de actorstatus in milliseconden te laden

De Reliable Actors-runtime verzendt de volgende gebeurtenissen met betrekking tot actorreplica's.

Gebeurtenisnaam Gebeurtenis-id Niveau Trefwoord Beschrijving
ReplicaChangeRoleToPrimary 1 Informatief 0x1 Actorreplica heeft de rol gewijzigd in Primair. Dit betekent dat de actoren voor deze partitie worden gemaakt in deze replica.
ReplicaChangeRoleFromPrimary 2 Informatief 0x1 Actorreplica heeft de rol gewijzigd in niet-primair. Dit impliceert dat de actoren voor deze partitie niet meer in deze replica worden gemaakt. Er worden geen nieuwe aanvragen geleverd aan actoren die al in deze replica zijn gemaakt. De actoren worden vernietigd nadat alle lopende aanvragen zijn voltooid.

Actoractiverings- en deactivatie-gebeurtenissen en prestatiemeteritems

De Reliable Actors-runtime verzendt de volgende gebeurtenissen met betrekking tot de activering en deactivering van de actor.

Gebeurtenisnaam Gebeurtenis-id Niveau Trefwoord Beschrijving
ActorActivated 5 Informatief 0x1 Er is een acteur geactiveerd.
ActorDeactivated 6 Informatief 0x1 Een acteur is gedeactiveerd.

De Reliable Actors-runtime publiceert de volgende prestatiemeteritems met betrekking tot de activering en deactivering van de actor.

Categorienaam Naam van het meteritem Beschrijving
Service Fabric Actor Gemiddelde OnActivateAsync milliseconden Tijd die nodig is om de methode OnActivateAsync uit te voeren in milliseconden

Prestatiemeteritems voor actoraanvragen verwerken

Wanneer een client een methode aanroept via een actorproxyobject, resulteert dit in een aanvraagbericht dat via het netwerk naar de actorservice wordt verzonden. De service verwerkt het aanvraagbericht en stuurt een antwoord terug naar de client. De Reliable Actors-runtime publiceert de volgende prestatiemeteritems met betrekking tot de verwerking van actoraanvragen.

Categorienaam Naam van het meteritem Beschrijving
Service Fabric Actor Aantal openstaande aanvragen Aantal aanvragen dat wordt verwerkt in de service
Service Fabric Actor Gemiddelde milliseconden per aanvraag Tijd die de service (in milliseconden) nodig heeft om een aanvraag te verwerken
Service Fabric Actor Gemiddelde milliseconden voor aanvraagdeserialisatie De tijd die nodig is (in milliseconden) om het bericht van de actoraanvraag te deserialiseren wanneer deze wordt ontvangen bij de service
Service Fabric Actor Gemiddelde milliseconden voor reactieserialisatie Tijd die nodig is (in milliseconden) om het antwoordbericht van de actor bij de service te serialiseren voordat het antwoord naar de client wordt verzonden

Volgende stappen