Détails du journal pour le collecteur de données classique
Analyse des performances La collecte des scores suit le processus décrit ici. Pour faciliter le dépannage, un mappage entre les étapes de la tâche et les entrées de journal est fourni.
Vue d’ensemble de la collection
Propriétés d’optimisation affichées dans le journal
Le collecteur de données dispose de plusieurs optimisations qui peuvent être activées ou désactivées dans les propriétés système. Le début du journal des travaux inclut l’état de ces propriétés.
| Optimisation | Description | Propriété système |
|---|---|---|
| Collection imbriquée | Remplace le mappage plat, pour réduire les objets redondants. Par exemple, au lieu de créer des objets d’indicateur identiques pour chaque répartition et élément de cet indicateur, un seul objet est créé pour l’indicateur. | com.snc.pa.dc.nested_collection Par défaut : true |
| Vider les instantanés | Le ServiceNow AI Platform stocke un nombre maximal Analyse des performances d’instantanés en mémoire avant de les décharger dans la base de données. |
com.snc.pa.dc.flush_snapshot_count Valeur par défaut : 1 000 |
| Utiliser le code de hachage pour le nombre distinct | Les magasins comptent les agrégations distinctes sous forme de code de hachage plutôt que de valeurs distinctes. | com.snc.pa.dc.use_hashcode_for_distinct Par défaut : true |
Démarrage et fin de la tâche de collecte
Suivez le processus de collecte de données tel qu’indiqué dans les messages du journal. Les messages de journal de chaque sous-processus ont été séparés dans leurs propres tables.
| Étape de la tâche de collecte | Exemple d’entrée de journal obtenue |
|---|---|
| Affiche le domaine de la tâche de collecte Exécuter en tant qu’utilisateur. | L’utilisateur <admin> appartient au domaine global |
| La collecte commence. Début de la tâche spécifie si les scores, l’index de texte ou les deux sont collectés. Les messages spécifient également les paramètres des propriétés d’optimisation de la collecte de données. | Début de la collecte des scores et de l’index de texte. Valeur des propriétés dans le système : Vider le nombre d’instantanés : 1 000 Est une collection imbriquée : vrai Utilisation du code de hachage pour le nombre distinct : vrai |
| Affiche les domaines pour lesquels les scores sont collectés. Affiche également d’autres détails pertinents sur les domaines. | DomainConfig : test de la configuration de domaine Journaux de collecte : 3d359877b77000106886e664de11a97c, Type : conditions, RollUpType : roll_up_children, collectAggregate ? Oui, collectChildren ? : Oui, AggregateDomain : Nom : 3d359877b77000106886e664de11a97c - SysID : d1659c77b77000106886e664de11a91e, Domaines : Default,MSP,ACME,Cisco,Initech,Oceanic Airlines |
| Répertorie les sources d’indicateurs pour lesquelles la tâche collecte des données, y compris leurs ID uniques. | Sources d’indicateurs à collecter : Incidents.New : b54f2c23d7030100b96d45a3ce61032f, Incidents.Open : b5cf2c23d7030100b96d45a3ce6103cc, Incidents.Closed : 2ac8dd31ff2302001e68ffffffffff3d, Incidents.Resolved : 4c207c23d7030100b96d45a3ce610308 |
Répertorie chaque indicateur associé à la tâche et les propriétés d’indicateur associées à la collecte de données :
|
JobIndicator : nombre d’incidents ouverts : de537dc3d7131100b96d45a3ce610305 Propriétés de l’indicateur de tâche : collectIndicator ? : oui, BreakdownCollectionType : WITH_EXCLUDE Répartitions exclues : groupe d’affectation, état Propriétés de l’indicateur => CollectingRecords : oui, périodes de collecte remplacées : non, scripté ? : non, combinaisons de répartitions ? : oui, combinaisons de répartitions exclues : aucune combinaison n’est exclue. |
| Itérer des étapes pour chaque source d’indicateur | Voir le tableau Étapes itérées pour chaque source d’indicateur. |
| Afficher les statistiques pour le travail de collecte de données | Statistiques : insère 184, met à jour 0, supprime 92, erreurs 0, avertissements 0 |
| Terminer la tâche | Collecte terminée |
Étapes itérées pour chaque source d’indicateur
| Étape de la tâche de collecte | Exemple d’entrée de journal obtenue |
|---|---|
| Récupérez la source de l’indicateur. | Traitement de la source de l’indicateur Incidents.Open |
| Répertoriez les indicateurs qui ont des conditions supplémentaires, au-delà des conditions héritées de la source de l’indicateur. | Indicateur : nombre d’incidents ouverts réaffectés : ffb59561ff2302001e68ffffffffff33, Conditions supplémentaires : reassignment_count>0 |
| Indique si la collecte de scores suit la structure des données imbriquées au lieu d’utiliser un mappage plat. La collection imbriquée crée moins d’objets redondants en mémoire. La collection non imbriquée prend en charge le traitement par lots des scores. |
Utilisation d’une collection imbriquée. Remarque : les insertions par lots de scores ne sont pas prises en charge avec la collection imbriquée. |
| Itérez les étapes pour chaque période de collecte. | Voir le tableau Étapes itérées pour chaque période de collecte |
| Récupérez la source de l’indicateur suivant. | Traitement de la source de l’indicateur Incidents.New |
Étapes itérées pour chaque période de collecte
| Étape de la tâche de collecte | Exemple d’entrée de journal obtenue |
|---|---|
| Date de début de la tâche de collecte. | Collecte pour 20191103 sur la source de l’indicateur Incidents.Open |
Récupérez les champs suivants :
|
Extraction de « short_description,sys_id, opened_at, assignment_group, description, priorité, catégorie » à partir de « incident » |
| Générez du SQL en fonction des conditions spécifiées dans la source de l’indicateur. Remarque : Si la source de l’indicateur spécifie Aujourd’hui dans l’une des conditions, Aujourd’hui est considéré comme correspondant à la période pour laquelle la tâche de collecte de données est exécutée. Par exemple, la source de l’indicateur Incidents.New inclut la condition [Opened][on][Today]. Avec des jours définis pour commencer à 07:00:00, lorsque les données sont collectées pour le 28/10/2019, la tâche produit le script SQL à droite. |
SELECT task0.'sys_id' FROM task task0 WHERE task0.'sys_class_name' = 'incident' AND (task0.'opened_at' >= '2019-10-28 07:00:00' AND task0.'opened_at' <= '2019-10-29 06:59:59') |
| Affichez le nombre d’enregistrements récupérés par le SQL. | 150 lignes extraites de la source d’indicateur Incidents.Open (table de faits : incident) |
| Exécutez la fonction mapper/réduire pour calculer les scores des indicateurs. | Voir le tableau Étapes de la fonction de mappage/réduction |
| Si l’indexation de texte est active et a été configurée pour la source d’indicateur, le collecteur de données stocke l’index de texte résultant. | Stockage de l’index de texte pour la source de l’indicateur Incidents.Open |
| Octets utilisés par l’index de texte : 41 984 pour : Incidents.Open | |
| Commencez à stocker les résultats nouvellement collectés pour la source de l’indicateur. | Scores à stocker : 374 842 (à l’exclusion du nombre de scores distincts de niveau 2 évalué différé pour les indicateurs : ID : tous les incidents avec les 3 répartitions) |
| Tout indicateur avec une valeur nulle est journalisé. | « Valeur quand nul » stockée : 0,0 en tant que score pour l’indicateur : Nombre d’incidents déviés par la base de connaissances |
| Terminez le stockage des résultats. | Scores enregistrés : 1 125 057 |
| Résultats recueillis enregistrés | |
| Spécifiez les indicateurs pour lesquels le collecteur de données ne collecte pas de scores. | Pas de collecte pour l’indicateur : âge cumulé des incidents ouverts avec exclusion Répartition : groupe d’affectation |
| Terminez la collecte des données pour cette source d’indicateur pour cette période. | Collection pour 20200519 sur la source de l’indicateur Incidents.Open terminé |
| Affichez la durée moyenne passée sur un enregistrement pour traiter les conditions supplémentaires qui ont été définies sur les indicateurs. | Temps moyen nécessaire au traitement d’une condition d’indicateur supplémentaire pour chaque enregistrement : 138 ms |
Étapes de la fonction de mappage/réduction
| Étape de la tâche de collecte | Exemple d’entrée de journal obtenue |
|---|---|
| La fonction map/reduce s’exécute. | Application de la fonction de mappage/réduction pour la source d’indicateur Incidents.Ouverts |
| Avertissement si l’indexation de texte est active pour la tâche, mais ne peut pas s’exécuter en raison d’une configuration d’index de texte manquante ou non valide. | Omission de la collection d'index de texte, car la configuration d'index de texte est manquante ou non valide |
| Supprimez les scores précédents pour les indicateurs et les répartitions qui utilisent la source de l’indicateur. | Suppression des résultats précédents pour la source de l’indicateur Incidents.Open |
| Résultats précédents supprimés 38 pour l’indicateur : Connexions externes | |
| Résultats précédents supprimés 21 pour l’indicateur : Échecs de connexion | |
Traitez chaque enregistrement sur la source de l’indicateur pour calculer les scores. Les messages du journal suivent le nombre total d’enregistrements traités et l’utilisation de la mémoire. Le traitement de chaque enregistrement implique :
|
18 % % traités (1) enregistrements, taille de l’objet de résultat : 5 Mo |
| Traitement de 42 % (2) enregistrements, taille de l’objet de résultat : 9 Mo | |
| Traitement de 76 % (3) enregistrements, taille de l’objet de résultat : 14 Mo | |
| Traité à 100 % (4) enregistrements, taille de l’objet de résultat : 20 Mo | |
| La fonction de mappage/réduction se termine. | Fonction de mappage ou de réduction appliquée |