Partage via


Diagnostics et surveillance des performances pour Reliable Actors

Le runtime Reliable Actors émet des événements EventSource et les compteurs de performances. Ils fournissent des informations sur le fonctionnement du runtime et permettent de résoudre les problèmes et de surveiller les performances.

Événements EventSource

Le nom du fournisseur EventSource du runtime Reliable Actors est « Microsoft-ServiceFabric-Actors ». Les événements issus de cette source d'événements s'affichent dans la fenêtre Événements de diagnostics quand l'application d'acteur est déboguée dans Visual Studio.

PerfView, les Diagnostics Azure, la Journalisation sémantique et Microsoft TraceEvent Library sont des exemples d'outils et de technologies permettant de collecter et/ou d'afficher des événements EventSource.

Mots clés

Tous les événements qui appartiennent à la source d'événements Acteurs fiables sont associés à un ou plusieurs mots clés. Cela permet de filtrer les événements collectés. Les bits de mots clés suivants sont définis.

bit Description
0x1 Jeu d'événements importants qui résument le fonctionnement du runtime Fabric Actors.
0x2 Jeu d'événements décrivant les appels de méthode d'acteur. Pour plus d'informations, consultez la rubrique d'introduction sur les acteurs.
0x4 Jeu d'événements liés à l'état de l'acteur. Pour plus d’informations, consultez la rubrique sur la gestion des états d’acteur.
0x8 Jeu d'événements liés à l'accès concurrentiel en alternance dans l'acteur. Pour plus d'informations, consultez la rubrique sur l'accès concurrentiel.

Compteurs de performance

Le runtime Acteurs fiables définit les catégories suivantes de compteur de performances.

Category Description
Service Fabric Actor Compteurs spécifiques des acteurs Azure Service Fabric. Par exemple, la durée d'enregistrement de l'état de l'acteur.
Service Fabric Actor Method Compteurs spécifiques des méthodes implémentées par les acteurs Service Fabric. Par exemple, la fréquence à laquelle une méthode d'acteur est appelée.

Chacune des catégories ci-dessus possède un ou plusieurs compteurs.

L'application Analyseur de performances Windows , disponible par défaut dans le système d'exploitation Windows, peut être utilisée pour collecter et afficher les données de compteur de performances. Diagnostics Azure est une autre option pour collecter les données de compteur de performances et les télécharger dans les tables Azure.

Noms d'instance de compteur de performances

Un cluster avec un grand nombre de services d'acteur ou de partitions de service d'acteur disposera d'un grand nombre d'instances de compteur de performances d'acteur. Les noms d'instance de compteur de performances peuvent aider à identifier la partition et la méthode d'acteur (le cas échéant) spécifiques associées à l'instance de compteur de performances.

Catégorie Service Fabric Actor

Pour la catégorie Service Fabric Actor, les noms d'instance de compteur ont le format suivant :

ServiceFabricPartitionID_ActorsRuntimeInternalID

ServiceFabricPartitionID est la représentation sous forme de chaîne de l'ID de partition Service Fabric associée à l'instance de compteur de performances. L'ID de partition est un GUID et sa représentation sous forme de chaîne est générée à l'aide de la méthode Guid.ToString avec le spécificateur de format « D ».

ActorRuntimeInternalID est la représentation sous forme de chaîne d'un entier 64 bits généré par le runtime Fabric Actors pour son usage interne. Il est inclus dans le nom de l'instance de compteur de performances pour garantir l'unicité et éviter tout conflit avec d'autres noms d'instance de compteur de performances. Les utilisateurs ne doivent pas tenter d'interpréter cette partie du nom de l'instance de compteur de performances.

Voici un exemple de nom d'instance de compteur pour un compteur appartenant à la catégorie Service Fabric Actor :

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

Dans l'exemple ci-dessus, 2740af29-78aa-44bc-a20b-7e60fb783264 est la représentation sous forme de chaîne de l'ID de partition Service Fabric et 635650083799324046 est l'ID 64 bits généré pour l'usage interne du runtime.

Catégorie Service Fabric Actor Method

Pour la catégorie Service Fabric Actor Method, les noms d'instance de compteur ont le format suivant :

MethodName_ActorsRuntimeMethodId_ServiceFabricPartitionID_ActorsRuntimeInternalID

MethodName est le nom de la méthode d'acteur associée à l'instance de compteur de performances. Le format du nom de méthode est déterminé selon une logique du runtime Fabric Actors qui équilibre la lisibilité du nom avec des contraintes sur la longueur maximale des noms d'instance de compteur de performances sous Windows.

ActorsRuntimeMethodId est la représentation sous forme de chaîne d'un entier 32 bits généré par le runtime Fabric Actors pour son usage interne. Il est inclus dans le nom de l'instance de compteur de performances pour garantir l'unicité et éviter tout conflit avec d'autres noms d'instance de compteur de performances. Les utilisateurs ne doivent pas tenter d'interpréter cette partie du nom de l'instance de compteur de performances.

ServiceFabricPartitionID est la représentation sous forme de chaîne de l'ID de partition Service Fabric associée à l'instance de compteur de performances. L'ID de partition est un GUID et sa représentation sous forme de chaîne est générée à l'aide de la méthode Guid.ToString avec le spécificateur de format « D ».

ActorRuntimeInternalID est la représentation sous forme de chaîne d'un entier 64 bits généré par le runtime Fabric Actors pour son usage interne. Il est inclus dans le nom de l'instance de compteur de performances pour garantir l'unicité et éviter tout conflit avec d'autres noms d'instance de compteur de performances. Les utilisateurs ne doivent pas tenter d'interpréter cette partie du nom de l'instance de compteur de performances.

Voici un exemple de nom d'instance de compteur pour un compteur appartenant à la catégorie Service Fabric Actor Method :

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

Dans l'exemple ci-dessus, ivoicemailboxactor.leavemessageasync est le nom de la méthode, 2 est l'ID 32 bits généré pour l'usage interne du runtime, 89383d32-e57e-4a9b-a6ad-57c6792aa521 est la représentation sous forme de chaîne de l'ID de partition Service Fabric et 635650083804480486 est l'ID 64 bits généré pour l'usage interne du runtime.

Liste d'événements et de compteurs de performances

Événements et compteurs de performances de la méthode d'acteur

Le runtime Reliable Actors émet les événements suivants liés aux méthodes d'acteur.

Nom d'événement ID de l’événement Level Mot clé Description
ActorMethodStart 7 Commentaires 0x2 Le runtime Actors est sur le point d'appeler une méthode d'acteur.
ActorMethodStop 8 Commentaires 0x2 Une méthode d’acteur a fini de s’exécuter. Cela signifie que l'appel asynchrone du runtime à la méthode d'acteur a été retourné et que la tâche retournée par la méthode d'acteur est terminée.
ActorMethodThrewException 9 Avertissement 0x3 Une exception a été levée pendant l'exécution d'une méthode d'acteur, pendant l'appel asynchrone du runtime à la méthode d'acteur ou pendant l'exécution de la tâche retournée par la méthode d'acteur. Cet événement indique une sorte de défaillance dans le code de l'acteur qui nécessite un examen.

Le runtime Acteurs fiables publie les compteurs de performances suivants liés à l'exécution des méthodes d'acteur.

Nom de la catégorie Nom du compteur Description
Service Fabric Actor Method Appels/s Nombre de fois où la méthode de service d'acteur est appelée par seconde
Service Fabric Actor Method Moyenne en millisecondes par appel Durée d'exécution de la méthode de service d'acteur en millisecondes
Service Fabric Actor Method Exceptions levées/s Nombre de fois où la méthode de service d'acteur lève une exception par seconde

Événements et compteurs de performances de l'accès concurrentiel

Le runtime Reliable Actors émet les événements suivants liés à l' accès concurrentiel.

Nom d'événement ID de l’événement Level Mot clé Description
ActorMethodCallsWaitingForLock 12 Commentaires 0x8 Cet événement est écrit au début de chaque nouveau tour d'un acteur. Il contient le nombre d'appels d'acteur en attente d'acquisition du verrou par acteur qui applique l'accès concurrentiel en alternance.

Le runtime Acteurs fiables publie les compteurs de performances suivants liés à l'accès concurrentiel.

Nom de la catégorie Nom du compteur Description
Service Fabric Actor Nombre d'appels d'acteur en attente du verrou d'acteur Nombre d'appels d'acteur en attente d'acquisition du verrou par acteur qui applique l'accès concurrentiel en alternance
Service Fabric Actor Moyenne en millisecondes par attente de verrou Délai (en millisecondes) d'acquisition du verrou par acteur qui applique l'accès concurrentiel en alternance
Service Fabric Actor Moyenne en millisecondes de maintien du verrou par acteur Durée (en millisecondes) pendant laquelle le verrou par acteur est maintenu

Événements et compteurs de performances de gestion des états d'acteur

Le runtime Reliable Actors émet les événements suivants liés à la gestion des états d'acteur.

Nom d'événement ID de l’événement Level Mot clé Description
ActorSaveStateStart 10 Commentaires 0x4 Le runtime Actors est sur le point d'enregistrer l'état de l'acteur.
ActorSaveStateStop 11 Commentaires 0x4 Le runtime Actors a terminé d'enregistrer l'état de l'acteur.

Le runtime Acteurs fiables publie les compteurs de performances suivants liés à la gestion des états d'acteur.

Nom de la catégorie Nom du compteur Description
Service Fabric Actor Moyenne en millisecondes par opération d'enregistrement d'état Durée d'enregistrement de l'état de l'acteur en millisecondes
Service Fabric Actor Moyenne en millisecondes par opération de chargement d'état Durée de chargement de l'état de l'acteur en millisecondes

Le runtime Reliable Actors émet les événements suivants liés aux réplicas d'acteur.

Nom d'événement ID de l’événement Level Mot clé Description
ReplicaChangeRoleToPrimary 1 Informationnel 0x1 Rôle de réplica d'acteur changé en rôle principal. Cela implique que les acteurs pour cette partition sont créés dans ce réplica.
ReplicaChangeRoleFromPrimary 2 Informationnel 0x1 Rôle de réplica d'acteur changé en rôle non principal. Cela implique que les acteurs pour cette partition ne sont plus créés dans ce réplica. Aucune nouvelle demande n'est remise aux acteurs déjà créés dans ce réplica. Les acteurs sont détruits une fois effectuées toutes les demandes en cours.

Événements d'activation et de désactivation des acteurs et compteurs de performances

Le runtime Reliable Actors émet les événements suivants liés à l' activation et la désactivation des acteurs.

Nom d'événement ID de l’événement Level Mot clé Description
ActorActivated 5 Informationnel 0x1 Un acteur a été activé.
ActorDeactivated 6 Informationnel 0x1 Un acteur a été désactivé.

Le runtime Reliable Actors publie les compteurs de performances suivants liés à l’activation et à la désactivation d'acteur.

Nom de la catégorie Nom du compteur Description
Service Fabric Actor Moyenne OnActivateAsync en millisecondes Durée d'exécution de la méthode OnActivateAsync en millisecondes

Compteurs de performances de traitement de la requête d’acteur

Lorsqu'un client appelle une méthode via un objet proxy d'acteur, un message de requête est envoyé via le réseau au service d'acteur. Le service traite le message de requête et renvoie une réponse au client. Le runtime Reliable Actors publie les compteurs de performances suivants liés au traitement de la requête d’acteur.

Nom de la catégorie Nom du compteur Description
Service Fabric Actor Nombre de requêtes en attente Nombre de requêtes en cours de traitement dans le service
Service Fabric Actor Moyenne en millisecondes par requête Durée (en millisecondes) nécessaire au service pour traiter une requête
Service Fabric Actor Moyenne en millisecondes pour la désérialisation de la requête Durée (en millisecondes) nécessaire pour désérialiser le message de requête d'acteur lorsqu'il est reçu au niveau du service
Service Fabric Actor Moyenne en millisecondes pour la sérialisation de la réponse Durée (en millisecondes) nécessaire pour sérialiser le message de réponse d'acteur au niveau du service avant l’envoi de la réponse au client

Étapes suivantes