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 Actor
hebben 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 Method
hebben 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 |
Gebeurtenissen met betrekking tot actorreplica's
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 |