
Pourquoi cet outil a été créé
Comprendre la performance des règles d'attribut basées sur ArcGIS Data Reviewer dans ArcGIS Server peut être difficile, en particulier lors de l'évaluation de grands volumes de données. Cet outil a été développé en réponse à une série d'interventions de dépannage utilisateur où les utilisateurs essayaient de comprendre où le temps est réellement passé lors de l'évaluation des règles d'attribut de validation. En aidant les utilisateurs à analyser et décomposer le temps d'exécution des règles d'attribut Data Reviewer, l'outil offre une meilleure visibilité sur la performance des règles de validation, facilitant ainsi l'identification des goulets d'étranglement, le dépannage des problèmes et l'optimisation des flux de travail d'entreprise.
Comment utiliser l'outil
Complétez les étapes suivantes pour exécuter l'outil d'analyse des journaux :
- Réglez le niveau de journalisation de votre ArcGIS Server sur Debug. Suivez ces instructions pour spécifier les paramètres du journal serveur dans ArcGIS Server Manager.
- Évaluez vos règles d'attribut
- Tant qu'il existe des règles d'attribut de validation basées sur Data Reviewer créées sur vos données, il devrait y avoir des messages journaux que cet outil peut analyser.
- Localisez le dossier sur la machine ArcGIS Server où les journaux du service sont stockés. Il y a deux emplacements selon que vous avez évalué vos règles d'attribut de validation de manière synchrone ou asynchrone.
- Les journaux serveur pour les évaluations synchrones se trouvent dans logs > nom de la machine > services > nom du service.MapServer
- Windows : C:\arcgisserver\logs\<nom de la machine>\services\<nom du service>.MapServer
- Linux : <répertoire d'installation ArcGIS Server>/logs/<nom de la machine>/services/<nom du service>.MapServer
- Les journaux serveur pour les évaluations asynchrones se trouvent dans logs > nom de la machine > services > System > ValidationTools.GPServer
- Windows : C:\arcgisserver\logs\<nom de la machine>\services\System\ValidationTools.GPServer
- Linux : <répertoire d'installation ArcGIS Server>/logs/<nom de la machine>/services/System/ValidationTools.GPServer
- Exécutez l'outil dans ArcGIS Pro ou depuis le terminal.
- Pour exécuter l'outil dans ArcGIS Pro
- Enregistrez le fichier ReviewerLogParser.pyt à un emplacement connu
- Copiez tous les journaux serveur sur la machine avec ArcGIS Pro
- Ouvrez ArcGIS Pro et ajoutez la boîte à outils à un projet
- Ouvrez l'outil Reviewer Log Parser
- Pour le paramètre Dossier Journal, parcourez jusqu'au dossier contenant les journaux serveur et cliquez sur OK
- Spécifiez où placer la sortie Excel analysée
- Exécutez l'outil

- Pour exécuter l'outil dans le terminal via le shell interactif python sur la machine serveur avec les journaux :
- Enregistrez le fichier ReviewerLogParser.pyt à un emplacement connu sur la machine serveur
- Identifiez l'emplacement des journaux serveur
- Lancez le shell python interactif lié à ArcGIS Enterprise
- Pour Windows c'est généralement "C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3\python"
- Pour Linux c'est généralement <emplacement d'installation ArcGIS Server>/arcgis/server/tools/python
- Importez arcpy
- Importez la boîte à outils
- arcpy.ImportToolbox(chemin/vers/ReviewerLogParser.pyt)
- Exécutez l'outil
- arcpy.ReviewerLogParser_datareviewer(log_folder="/chemin/vers/dossier/journal",output_excel="/sortie/excel/sortie_analysee.xlsx")
- Copiez les fichiers .xlsx et .csv générés vers une machine disposant de Microsoft Excel (ou un visualiseur Excel) installé et consultez les résultats.


Comment fonctionne l'outil
D'une manière générale, chaque évaluation comprend trois phases : lecture, validation et écriture. La lecture inclut le temps passé à synchroniser les entités géodatabase dans les tables temporaires SQLite pour les préparer au traitement. La validation englobe l'exécution des règles d'attribut Data Reviewer. L'écriture représente les tâches nécessaires pour mettre à jour la géodatabase avec les résultats, telles que l'enregistrement des nouvelles erreurs, la mise à jour des erreurs corrigées, la mise à jour des erreurs existantes et la mise à jour du champ statut de validation.

Lorsque les règles d'attribut basées sur Data Reviewer sont évaluées, ArcGIS Server utilise plusieurs optimisations pour traiter les règles plus efficacement. L'une de ces optimisations est la création d'une base de données SQLite temporaire qui contient uniquement les entités et champs nécessaires pour l'évaluation, permettant ainsi à plusieurs règles d'attribut Data Reviewer dans la même évaluation d'utiliser les mêmes données mises en cache. Des évaluations similaires peuvent également être combinées pour améliorer l'efficacité globale du traitement.
Le Reviewer Log Parser aide à déterminer où le temps est passé durant le processus d'évaluation. Il lit les fichiers journaux ArcGIS Server depuis un dossier sélectionné et recherche les messages de validation Data Reviewer écrits par la méthode ReviewerUtilities. L'outil regroupe ensuite les messages liés par ID de requête, permettant une analyse séparée pour chaque validation. Pour chaque message journal, l'outil capture le texte du message, l'horodatage, le temps écoulé, le fichier journal source et le numéro de ligne. Il calcule également un horodatage Unix pour supporter le tri chronologique et une analyse ultérieure.
Pour soutenir une prise de conscience générale et un dépannage approfondi, l'outil produit deux sorties. La première est un fichier CSV contenant les détails de sortie de chaque message journal comme décrit ci-dessus. La seconde est un classeur Excel qui résume chaque exécution de validation dans un format plus lisible. Le classeur s'ouvre avec une feuille README qui explique les hypothèses du rapport, suivie d'une feuille par ID de requête (nommée en utilisant les 31 premiers caractères de l'ID). Chaque feuille d'exécution liste les opérations analysées, décrit ce que chaque opération représente, décompose le temps écoulé en temps Lecture, Validation et Écriture en secondes, et inclut des totaux par phase formatés en heures, minutes et secondes.
Note : Lors de la construction des feuilles d'exécution, le parseur essaie d'éviter le double comptage du temps de synchronisation. Si une opération de synchronisation se produit pendant une opération de validation, l'outil soustrait ce temps de synchronisation du total validation et le rapporte séparément comme Temps Lecture.
Si vous avez besoin de détails supplémentaires, la sortie CSV vous permet de retracer une opération résumée jusqu'au message journal original. Commencez par le nom de la feuille qui est basé sur les 31 premiers caractères de l'ID requête. Ensuite ouvrez le CSV, trouvez l'ID requête correspondant et comparez le texte opérationnel du classeur au champ message dans le CSV. Comme le CSV inclut aussi le chemin source du journal et le numéro de ligne, vous pouvez vous en servir pour localiser le message original dans le fichier journal ArcGIS Server.
Limitations connues et attentes lors de l'exécution de l'outil
Cet outil comporte certains points importants à connaître. Ils sont les suivants :
- L'outil analyse uniquement ces messages (ReviewerUtilities) créés lorsque des règles d'attribut basées sur Reviewer sont évaluées. Il existe des messages supplémentaires (à la fois Reviewer et non-Reviewer) liés au processus de validation étant généré qui ne sont pas capturés par cet outil.<\/LI>
- L'outil n'analyse pas les règles d'attribut de validation basées sur Arcade.
- Voir Dépannage du comportement des règles d'attribut avec ArcGIS Diagnostic Monitor et les fichiers journaux ArcGIS Enterprise Server<\/A> pour en savoir plus sur le dépannage des règles d'attribut basées sur Arcade.<\/LI><\/OL><\/LI>La version actuelle de cet outil ne capture pas les messages d'erreur tels que les délais d'attente ou les journaux liés aux sources de données manquantes.
- Pour retracer ces problèmes, vous devrez peut-être commencer par l'excel, voir où il n'y a pas d'entrées ou où les entrées sont mises à zéro, remonter cela au csv (qui inclut le journal et la ligne) puis examiner le journal brut autour de ce message pour voir précisément ce qui se passe.<\/LI><\/OL><\/LI>
- Lors de l'examen du temps de validation, certains types de vérification Data Reviewer spécifiques ne sont listés qu'une seule fois même s'il y a plusieurs instances de cette vérification évaluée.<\/LI>
- Lors de l'examen du temps de validation, il est attendu que certaines vérifications prennent plus de temps que d'autres à compléter en raison de leur complexité différente ou du nombre d'entités sur lesquelles elles s'exécutent. Par exemple, les règles basées sur la vérification
Valency<\/A> sont plus chronophages comparées à d'autres vérifications en raison de la complexité des relations spatiales évaluées.<\/LI>Lors de l'évaluation des règles d'attribut, le temps total d'évaluation des règles est aussi rapide que la règle la plus lente. Ceci est particulièrement important lors de l'utilisation d'un mélange de règles d'attribut Arcade et Data Reviewer<\/LI><\/OL>Vos retours sont les bienvenus<\/H3>Ceci est la première version de l'outil, et nous accueillons vos retours. Que vous l'utilisiez pour dépanner des problèmes de performance ou simplement mieux comprendre le comportement de validation, nous aimerions connaître votre expérience. Les retours, idées d'amélioration et rapports de bugs aideront à orienter les améliorations futures et rendront les outils encore plus précieux.<\/P>