Moniteur de diagnostic

Le moniteur de diagnostic est une ressource de diagnostic intégrée dans ArcGIS Pro. Les informations de statut, les journaux et les événements sont présentés et mis à jour en permanence dans Diagnostic Monitor (Moniteur de diagnostic) pendant l’exécution de ArcGIS Pro. Diagnostic Monitor (Moniteur de diagnostic) contient un ensemble d’onglets et d’indicateurs de statut. Diagnostic Monitor (Moniteur de diagnostic) inclut actuellement les onglets Counters (Compteurs), Tasks (Tâches), HTTP, Log (Journal), Diagnostic Properties (Propriétés de diagnostic) et States (États).

Les informations de la boîte de dialogue Diagnostic Monitor (Moniteur de diagnostic) peuvent être utilisées pour aider à diagnostiquer différents problèmes liés à l’application, y compris les conditions sans réponse, la surconsommation de ressources, les défaillances de fonction et la dégradation des performances.

Vue d’ensemble du moniteur de diagnostic

Remarque :

Le moniteur de diagnostic (Diagnostic Monitor) est disponible dans tous les produits ArcGIS Pro et est différent d’ArcGIS Monitor, un produit destiné aux déploiements d’ArcGIS Enterprise.

Démarrer le moniteur de diagnostic

L’ouverture de la fenêtre Diagnostic Monitor (Moniteur de diagnostic) active le mode Diagnostic.

Vous pouvez ouvrir la fenêtre Diagnostic Monitor (Moniteur de diagnostic) de l’une des manières suivantes :

  • Dans un projet ouvert, cliquez sur l’onglet Help (Aide) sur le ruban. Dans le groupe Performance (Performances), cliquez sur Diagnostic Monitor (Moniteur de diagnostic) Moniteur de diagnostic.
  • Appuyez sur Ctrl+Alt+M lorsqu’ArcGIS Pro est ouvert. Il n’est pas nécessaire qu’un projet soit ouvert.
  • Démarrez ArcGIS Pro à partir de la ligne de commande à l’aide du commutateur /enablediagnostics.

Si vous utilisez l’option de ligne de commande, vous pouvez également inclure un paramètre /loglevel=debug pour activer le mode de débogage dans le moniteur de diagnostic. Le mode de débogage dure pendant toutes les sessions ArcGIS Pro qui suivent, tant que vous ne l’avez pas désactivé dans l’onglet Log (Journal).

Remarque :

Si le moniteur de diagnostic est activé à partir de la ligne de commande, la boîte de dialogue est au départ réduite sur la barre des tâches Microsoft Windows.

Pour résoudre un problème inhérent au processus avec Diagnostic Monitor (Moniteur de diagnostic), ouvrez le moniteur avant d’intervenir sur la zone problématique. Pour configurer la boîte de dialogue Diagnostic Monitor (Moniteur de diagnostic) afin qu’elle reste en haut de toutes les autres fenêtres d’ArcGIS Pro, cliquez avec le bouton droit de la souris sur la zone de légende de la boîte de dialogue, puis cliquez sur Always On Top (Toujours en haut). Cela peut s’avérer utile lorsque vous souhaitez surveiller de près l’activité dans le moniteur de diagnostic tout en utilisant les différentes fonctionnalités de l’application.

Vue d’ensemble de l’architecture ArcGIS Pro

ArcGIS Pro est une application modulaire multithread 64 bits. Les sous-systèmes fonctionnels sont chargés à la demande et exécutent des travaux (le calcul d’une zone tampon ou le rendu d’une carte, par exemple) dans les threads de l’opérateur ou dans des processus séparés. Dans la plupart des cas, des unités logiques de travaux (opérations) sont organisées en une ou plusieurs tâches pendant l’exécution. Les tâches sont des éléments essentiels quant à la manière dont le travail est réalisé dans ArcGIS Pro, et elles sont mises en avant dans le moniteur de diagnostic (Diagnostic Monitor).

Un thread dédié est chargé du rendu des éléments de l’interface utilisateur de l’application, ainsi que du traitement des entrées utilisateur sous la forme d’entrée avec le clavier ou de clics de souris. Lorsqu’une opération est en cours d’exécution sur l’un des threads de l’opérateur, le thread de l’interface utilisateur graphique (GUI) fournit un retour quant à la manière dont l’opération se déroule, ainsi que les moyens permettant d’annuler l’opération, le cas échéant. Le moniteur de diagnostic (Diagnostic Monitor) s’exécute sur un thread spécial indépendant de la GUI. Cela permet à la boîte de dialogue Diagnostic Monitor (Moniteur de diagnostic) de rester réactive même si le thread de la GUI ne répond pas.

Les threads de l’opérateur dans ArcGIS Pro sont divisés en familles dédiées à des domaines fonctionnels spécifiques.

  • Foreground Threads (Threads de premier plan) : ensemble de quatre threads de l’opérateur qui gouverne le modèle d’informations cartographiques (CIM), le référentiel principal de l’état de configuration dans le projet chargé actuel. Ces threads permettent également d’accélérer le rendu cartographique. Certains types d’interactions de l’utilisateur sont interdits lorsque les opérations sont en cours d’exécution sur les threads de premier plan.
  • High Priority Background Threads (Threads d’arrière-plan à priorité élevée) and Low Priority Background Threads (Threads d’arrière-plan à faible priorité) : ces threads exécutent un large éventail d’opérations qui ne dépendent pas de l’état du CIM, et peuvent être exécutés en arrière-plan pendant que l’utilisateur exécute d’autres actions. Les tâches attribuées aux threads d’arrière-plan haute priorité sont exécutées plus rapidement et sont prioritaires sur les tâches attribuées aux threads d’arrière-plan à faible priorité.
  • Miscellaneous Threads (Threads divers) : ce thread permet d’exécuter des opérations de géotraitement en arrière-plan. En interne, il collabore souvent avec d’autres threads pour exécuter une opération. Le thread Shared Background (Arrière-plan partagé) est utilisé dans des cas particuliers, lorsque des ensembles de tâches doivent être exécutés sur le même thread cohérent au fil du temps.
Vue d’ensemble des threads utilisés dans le moniteur de diagnostic

Zone Status (État)

La zone Status (État) contient des indicateurs Status (État) et des indicateurs Thread Activity (Activité du thread). Les indicateurs Status (État) affichent des couleurs différentes en fonction de l’état de l’application actuelle. Ils sont utiles pour réduire les problèmes se produisant dans l’application. Les indicateurs Thread Activity (Activité du thread) affichent des couleurs en fonction de l’état des threads correspondants.

Indicateurs d’état

Indicateurs d’état dans le moniteur de diagnostic

ElémentDescription
1

Le rouge indique que le thread de la GUI n’envoie plus de messages et ne peut pas réagir à une entrée avec la souris ou le clavier. Le rendu des graphiques de l’interface utilisateur peut être incorrect lorsque le thread de la GUI ne répond pas. Toutes les occurrences d’absence de réponses sont consignées dans le journal des absences de réponse.

2

Le jaune indique que la tâche active ne fait l’objet d’aucune progression et que, de ce fait, un retour inadapté est présenté à l’utilisateur lors de l’exécution de la tâche. Les tâches connexes sont également étiquetées en jaune lorsque cette condition est détectée.

3

Le jaune indique que le taux d’émission des tâches est supérieur à 10 par seconde.

4

Le vert indique qu’une ou plusieurs requêtes HTTP sont actuellement actives dans l’application.

5

Le vert indique qu’une tâche est en cours d’exécution sur le thread de premier plan. Divers boutons et outils peuvent être indisponibles lors de l’exécution d’une tâche au premier plan.

6

Le jaune indique qu’une vue (contenant en général une carte, un globe, une scène ou une mise en page) est actuellement occupée. Plusieurs boutons et outils peuvent être indisponibles lorsqu’une vue est occupée.

7

Le jaune indique qu’une fenêtre est actuellement occupée. Plusieurs boutons et outils peuvent être indisponibles lorsqu’une fenêtre est occupée.

8

Le jaune indique qu’une tâche est bloquée en raison d’opérations de dessin en cours sur l’un des threads de premier plan. Plusieurs boutons et outils peuvent être indisponibles lorsque l’application est en attente.

9

Le jaune indique qu’une tâche est bloquée lorsqu’une opération de dessin préalablement suspendue reprend. Plusieurs boutons et outils peuvent être indisponibles lorsque l’application reprend.

10

Le vert indique qu’une opération de géotraitement est en cours d’exécution. Cet indicateur s’éclaire qu’il s’agisse d’une opération de géotraitement en arrière-plan ou au premier plan.

Indicateurs d’activité des threads

Chaque thread mentionné ci-dessus est associé à un indicateur d’activité correspondant dans la zone d’état du moniteur de diagnostic (Diagnostic Monitor). Les indicateurs d’état des threads sont verts si le thread associé est en cours de fonctionnement, et en gris si le thread est inactif (en veille). Les indicateurs d’état des threads peuvent être en gris foncé si le nombre de coeurs de la CPU de la machine hôte est insuffisant pour prendre en charge des threads supplémentaires.

Onglets du moniteur de diagnostic

Diagnostic Monitor (Moniteur de diagnostic) est composé des onglets Counters (Compteurs), Tasks (Tâches), HTTP, Log (Journal), Diagnostic Properties (Propriétés de diagnostic) et States (États). L’onglet Counters (Compteurs) dresse la liste des compteurs internes. L’onglet Tasks (Tâches) affiche les tâches récentes. L’onglet HTTP fournit une requête HTTP et l’affichage de la réponse. L’onglet Log (Journal) présente une visionneuse du journal d’événements. L’onglet Diagnostic Properties (Propriétés de diagnostic) affiche les informations de diagnostic. L’onglet States (États) permet d’afficher les états de toutes les applications activées et les états des vues actives associés à la session ArcGIS Pro correspondante.

Onglet Counters (Compteurs)

L’onglet Counters (Compteurs) est composé d’une liste de compteurs internes nommés. Chaque compteur est lié au diagramme au-dessus de la liste. Lorsqu’un compteur de la liste est sélectionné, le diagramme se met à jour pour afficher les valeurs historiques de ce compteur sur les 20 dernières secondes.

Onglet Counters (Compteurs) du moniteur de diagnostic (Diagnostic Monitor)

La liste de compteurs contient des mesures utiles (espace mémoire utilisé, nombre de threads, nombre de requêtes HTTP et nombre de DLL chargées, par exemple). Certains compteurs doivent faire l’objet d’explications supplémentaires :

  • Current Task Rate (Fréquence de tâche actuelle) : fréquence actuelle à laquelle les tâches sont mises dans la file d’attente vers les threads de premier plan. Un nombre élevé indique qu’un nombre de tâches inutilement élevé est prévu pour exécuter l’opération. Les opérations avec un nombre de tâches élevé peuvent être moins efficaces.
  • CIM Counters (Compteurs CIM) : ces compteurs sont utilisés pour enregistrer le nombre total d’opérations de lecture et d’écriture sur le CIM. Les lectures et écritures liés à des dessins sont comptées séparément. Chaque opération faisant l’objet de frais généraux connexes, de plus petits déplacements sont préférables à des déplacements plus importants sur une période.
  • Total HTTP Request Timeout Counters (Compteurs du total d’expirations de la requête HTTP) : ces compteurs servent à enregistrer le nombre et la fréquence du total de requêtes HTTP qui ont expiré. Les requêtes qui s’ajoutent à ces compteurs sont le plus souvent associés aux codes de réponse HTTP 408 et 504.
  • IRequest Counters (Compteurs IRequest) : ces compteurs sont réservés à un usage interne.

Onglet Tasks (Tâches)

L’onglet Tasks (Tâches) contient un journal des tâches qui ont été récemment émises suite à l’interaction de l’utilisateur, ainsi qu’un autre journal pour toutes les conditions sans réponse qui se sont produites sur le thread de l’interface utilisateur graphique.

Onglet Tasks (Tâches) dans Diagnostic Monitor (Moniteur de diagnostic)

Journal Recent UI Task (Tâches d’interface utilisateur récentes)

Le journal Recent UI Task (Tâches d’interface utilisateur récentes) fournit un enregistrement des dernières tâches émises en réponse à des interactions d’utilisateur. Compte tenu des frais généraux liés à l’identification des fonctions de tâche, ce journal est indisponible lorsque la boîte de dialogue Diagnostic Monitor (Moniteur de diagnostic) est fermée. Par défaut, les tâches sont triées dans l’ordre chronologique, la dernière tâche exécutée se trouvant en haut de la liste. Les tâches internes (placées dans la file d’attente depuis l’exécution d’une tâche externe) n’apparaissent pas dans cette liste. Les tâches placées dans la file d’attente ou qui sont en cours d’exécution s’affichent en vert. Chaque tâche est associée à un ensemble de propriétés :

  • Task # (N° de tâche) : nombre indiquant la position séquentielle d’une tâche. Par exemple, la tâche n° 42 indique la quarante-deuxième tâche exécutée dans le cadre du processus d’exécution.
  • Queued Time (Durée de mise en file d’attente) : temps horloge lorsque la tâche a été mise en file d’attente pour la première fois. Les tâches initiées alors qu’une autre tâche est toujours en cours d’exécution sont mises en file d’attente et ne commencent pas tant que la tâche en cours n’est pas terminée. Les boutons et contrôles sont en principe désactivés lorsqu’une tâche de premier plan est en cours d’exécution. Il s’agit d’empêcher la mise en file d’attente de tâches supplémentaires alors que l’état de l’application est en cours de transition.
  • Task time (Durée de la tâche) : durée en millisecondes liée à l’exécution de la tâche.
  • Resume Time (Heure de reprise) : durée passée à attendre, en millisecondes, une reprise du dessin.
  • Wait Time (Temps d’attente) : temps passé à attendre, en millisecondes, la fin des opérations liées à un dessin.
  • Total Time (Durée totale) : durée totale en millisecondes nécessaire pour exécuter la tâche, de sa mise en file d’attente à sa fin (y compris toutes les durées liées à la reprise du dessin).
  • Function (Fonction) : nom de la fonction la plus externe correspondant le plus à la tâche.

Les tâches mises dans la file d’attente ou qui sont toujours en cours d’exécution affichent la valeur temporelle -1. La durée réelle s’affiche en millisecondes lorsque la tâche est terminée ou annulée.

Un heuristique est utilisé pour afficher la fonction la plus pertinente pour la tâche mise dans la file d’attente. L’heuristique est transmis à la pile d’appel recherchant une image contenant des fonctions non OS.

Le journal Recent UI Task (Tâches d’interface utilisateur récentes) peut être trié par colonne, dans l’ordre croissant ou décroissant. Cette fonctionnalité peut être utilisée pour identifier, par exemple, la tâche dont la durée d’exécution est la plus longue. Le contenu du journal peut être copié dans le presse-papiers ou supprimé en cliquant n’importe où dans la liste avec le bouton droit de la souris et en cliquant sur Copy (Copier) ou Clear (Effacer), respectivement.

Journal des absences de réponse

À chaque fois que le thread de la GUI ne donne pas de réponse, une condition d’absence de réponse est consignée, avec l’heure de début et la durée totale. Le contenu de ce journal peut être copié dans le presse-papiers en cliquant n’importe où dans la liste avec le bouton droit de la souris et en cliquant sur Copy (Copier).

Onglet HTTP

L’onglet HTTP contient un journal des requêtes HTTP et de leurs réponses, et inclut des fonctions de tri. Lorsque Diagnostic Monitor (Moniteur de diagnostic) est ouvert, les requêtes HTTP envoyées par ArcGIS Pro sont enregistrées dans cette visionneuse.

Onglet HTTP dans Diagnostic Monitor (Moniteur de diagnostic)

Les requêtes HTTP enregistrées sont ajoutées à la visionneuse de la plus récente à la plus ancienne.

La colonne URL contient l’URL à laquelle la requête a été envoyée. Les requêtes qui sont toujours en attente de réponse sont reconnaissables par une flèche vers le bas dans la première colonne. Une fois la requête terminée, la réponse reçue du serveur est ajoutée à la colonne Status (État) pour cette ligne.

Onglet Log (Journal)

L’onglet Log (Journal) contient une visionneuse du journal d’événements et offre des fonctionnalités de tri et de filtrage. En mode Diagnostic, de nombreux sous-systèmes de ArcGIS Pro écrivent des informations de diagnostic en tant qu’événements d’application dans le journal des événements. La journalisation des événements commence lorsque Diagnostic Monitor (Moniteur de diagnostic) est ouvert et reste active jusqu’à la fermeture de ArcGIS Pro.

Onglet Log (Journal) du moniteur de diagnostic

Il existe quatre types d’événements :

  • Erreur : utilisé pour indiquer les défaillances importantes pendant une opération
  • Avertissement : moins critique, et peut parfois être ignoré
  • Informations : donne des informations contextuelles supplémentaires relatives à l’opération
  • Débogage : informations de mise en oeuvre détaillées, principalement destinées au personnel Esri

Les types d’événements peuvent être filtrés dans la liste à l’aide des cases à cocher correspondantes en haut de la liste. Compte tenu de leur importance, les événements d’erreur apparaissent toujours dans la liste et ne peuvent pas être filtrés. L’entrée de filtre peut être utilisée pour être plus sélective. Lorsque du texte est saisi ici, seuls les événements dont une au moins des colonnes contient ce texte (quelle que soit la casse) s’affichent.

Le nombre total d’événements correspondants s’affiche en haut à droite de l’onglet Log (Journal). La journalisation des événements commence sous forme de processus en direct. Au fur et à mesure que de nouveaux événements sont enregistrés, ils sont immédiatement ajoutés à l’onglet Log (Journal). Lorsque le nombre total d’événements dans le journal atteint au moins 100 000, la journalisation en direct est désactivée pour le reste de la session. Les nouveaux événements continuent d’être enregistrés, mais ils n’apparaissent pas immédiatement dans l’onglet Log (Journal). Un bouton Refresh (Actualiser) s’affiche à gauche du nombre total d’événements. En cliquant sur le bouton Refresh (Actualiser), le contenu de l’onglet Log (Journal) est mis à jour. Les événements qui ont été enregistrés en arrière-plan sont ajoutés lorsque l’onglet s’actualise.

Fichiers journaux

Par défaut, les fichiers journaux sont enregistrés dans le sous-dossier ArcGIS\Diagnostics du dossier Documents de l’utilisateur. Dans le cas de ArcGIS Pro, les fichiers journaux sont similaires à ArcGISProLog-16360~89343E4F-74E8-4F26-A705-B805E8C92BB0 et possèdent les propriétés suivantes :

  • ArcGISProLog est le nom de l’exécutable hôte.
  • 16360 est l’ID de processus.
  • 89343E4F-74E8-4F26-A705-B805E8C92BB0 est l’ID unique créé pour cette instance.

Il est possible de spécifier un autre répertoire en sortie si vous voulez enregistrer les fichiers journaux dans un répertoire autre que le dossier Documents. À l’aide du registre Windows, créez une clé REG_SZ nommée EventLogLocation dans Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcGISPro\Settings\ ou Computer\HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Settings\. Définissez la valeur de cette clé sur le répertoire alternatif dans lequel les fichiers journaux seront enregistrés. À la prochaine exécution de ArcGIS Pro en mode Diagnostic, les fichiers journaux seront enregistrés dans <EventLogLocation>\ArcGIS\Diagnostics.

Remarque :

Votre profil utilisateur Windows doit disposer des autorisations de lecture et d’écriture sur le répertoire spécifié comme valeur EventLogLocation.

Il existe un mécanisme de retour en arrière pour les cas où ArcGIS Pro ne peut pas enregistrer les fichiers journaux dans les répertoires spécifiés comme valeurs EventLogLocation. Si ArcGIS Pro ne peut pas écrire dans un répertoire EventLogLocation défini sous HKEY_LOCAL_MACHINE, il tente d’écrire les fichiers journaux selon la valeur EventLogLocation définie sous HKEY_CURRENT_USER. Si aucun de ces répertoires n’est spécifié ou n’est accessible en écriture, les fichiers journaux sont enregistrés dans le dossier Documents\ArcGIS\Diagnostics par défaut.

Remarque :

Si une clé de registre EventLogLocation valide est présente sous HKEY_LOCAL_MACHINE et HKEY_CURRENT_USER, la valeur sous HKEY_LOCAL_MACHINE est prioritaire.

Onglet Diagnostic Properties (Propriétés de diagnostic)

L’onglet Diagnostic Properties (Propriétés de diagnostic) contient les informations de diagnostic qui sont insérées dans les rapports d’erreur examinés par le personnel Esri.

Onglet Diagnostic Properties (Propriétés de diagnostic) dans Diagnostic Monitor (Moniteur de diagnostic)

Les valeurs Name (Nom) sont les suivantes :

  • per_user_install - Paramètre indiquant si l’installation de ArcGIS Pro sur laquelle Diagnostic Monitor (Moniteur de diagnostic) est exécuté a été installée par utilisateur ou par machine.

    ValeurDéfinition

    no

    L’installation de ArcGIS Pro a été effectuée pour tous les utilisateurs de la machine.

    yes

    L’installation de ArcGIS Pro a été effectuée pour l’utilisateur connecté uniquement.

  • cmd_line - Arguments de la ligne de commande suivis de Windows à l’ouverture de ArcGIS Pro.
  • client_proto - Indique le type de machine sur laquelleArcGIS Pro est exécuté. Les valeurs sont les suivantes :

    ValeurDéfinition

    0

    ArcGIS Pro s’exécute en mode natif sur la machine.

    1

    ArcGIS Pro s’exécute sur une machine virtuelle (VM).

    2

    ArcGIS Pro s’exécute sur une machine accessible par le protocole Windows Remote Desktop Protocol (RDP).

  • secondary-instance - Paramètre indiquant si l’application ArcGIS Pro est la seule instance de l’application actuellement en cours d’exécution.

    ValeurDéfinition

    no

    Il n’existe actuellement qu’une seule instance ArcGIS Pro en cours d’exécution.

    yes

    Plusieurs instances ArcGIS Pro sont actuellement exécutées.

  • Last active view (Dernière vue active) - Dernière vue active dans l’application avant consultation de cet onglet dans Diagnostic Monitor (Moniteur de diagnostic). Il peut s’agir de n’importe quelle vue valide, telle que la vue Map (Carte) ou la vue Layout (Mise en page). Dans l’exemple ci-dessus, esri_mapping_mapPane désigne la vue cartographique.
  • Last command (Dernière commande) - Dernier bouton de l’interface utilisateur sur lequel l’utilisateur a cliqué. Dans l’exemple ci-dessus, esri_mapping_colorVisionSimulatorButton fait référence au bouton Color Vision Deficiency Simulator (Simulateur de déficience de la perception des couleurs).
  • Last active dockpane (Dernière fenêtre ancrée) - Dernière fenêtre active de l’application avant consultation de cet onglet dans Diagnostic Monitor (Moniteur de diagnostic). Il peut s’agir de n’importe quelle fenêtre valide, comme la fenêtre Contents (Contenu) ou Catalog (Catalogue). Dans l’exemple ci-dessus, esri_core_contentsDockPane fait référence à la fenêtre Contents (Contenu).

Onglet States (États)

L’onglet States (États) permet d’afficher les états de toutes les applications activées et les états des vues actives associés à la session ArcGIS Pro correspondante à tout moment, avec les nouveaux ajouts insérés dans les colonnes appropriées comme entrées en gras.

Onglet States (États) dans Diagnostic Monitor (Moniteur de diagnostic)

Les états des applications et les états des vues actives appartiennent tous deux à un mécanisme utilisé par la structure ArcGIS Pro pour indiquer quand divers éléments de l’interface utilisateur, tels que les onglets, boutons et outils, doivent ou ne doivent pas être visibles ou activés dans ArcGIS Pro, pour présenter une interface utilisateur non encombrée organisée pour la tâche effectuée.

Cette fonctionnalité de Diagnostic Monitor (Moniteur de diagnostic) est particulièrement utile pour les développeurs de compléments ArcGIS Pro qui souhaitent vérifier que leurs états définis sont activés quand ils doivent l’être et quand ils ne doivent pas l’être.

En savoir plus sur les conditions et les états.

Superposition des performances d’affichage

Vous pouvez activer la superposition de dépannage qui fournit des statistiques d’affichage à partir de la boîte de dialogue Keyboard Shortcuts (Raccourcis claviers), sous Global (Global) > Drawing Performance Overlay (Superposition des performances d’affichage). En appuyant sur la touche de raccourci désignée, vous activez et désactivez la superposition.

Résolution des problèmes liés aux performances

Pour obtenir des conseils sur la configuration d’ArcGIS Pro en vue d’améliorer les performances, reportez-vous à la rubrique Résolution des problèmes liés aux performances dans ArcGIS Pro dans Communauté Esri.