Partager via


Diagnostics des requêtes

Grâce aux diagnostics de requête, vous pouvez mieux comprendre ce que Power Query fait lors de la création et de l’actualisation dans Power BI Desktop. Bien que nous développions cette fonctionnalité à l’avenir, notamment en ajoutant la possibilité de l’utiliser pendant les actualisations complètes, vous pouvez l’utiliser pour comprendre le type de requêtes que vous émettez, ce qui ralentit peut-être pendant l’actualisation de la création et le type d’événements en arrière-plan qui se produisent.

Pour utiliser les diagnostics de requête, accédez à l’onglet Outils dans le ruban de l’éditeur Power Query.

Capture d’écran des fonctionnalités de diagnostic de requête sous le ruban Outils Power Query.

Par défaut, les diagnostics de requête peuvent nécessiter des droits d’administration pour fonctionner (en fonction de la stratégie informatique). Si vous ne parvenez pas à exécuter les diagnostics de requête, ouvrez la page des options Power BI Desktop et, dans l’onglet Diagnostics, sélectionnez Activer dans l’Éditeur de requête (ne nécessite pas d’exécution en tant qu’administrateur). Cette sélection vous empêche de pouvoir suivre les diagnostics lors d’une actualisation complète dans Power BI plutôt que dans l’éditeur Power Query. Toutefois, vous pouvez toujours l'utiliser lors de l'aperçu, de la rédaction, etc.

Capture d’écran des options Diagnostics de requête avec l’option Activer dans l’Éditeur de requête mise en évidence.

Chaque fois que vous démarrez des diagnostics, Power Query commence à enregistrer les évaluations initiées par vous. L’évaluation que la plupart des utilisateurs pensent, c’est quand vous appuyez sur actualiser ou lorsque vous récupérez des données pour la première fois. Toutefois, de nombreuses actions peuvent entraîner des évaluations, en fonction du connecteur. Par exemple, avec le connecteur SQL, lorsque vous récupérez une liste de valeurs à filtrer, cela lancerait également une évaluation, mais elle n’est pas associée à une requête utilisateur et qui est représentée dans les diagnostics. D'autres requêtes générées par le système peuvent inclure l'utilisation du navigateur ou l'expérience d'obtention de données.

Lorsque vous appuyez sur Diagnostiquer l’étape, Power Query exécute une évaluation spéciale de l’étape que vous examinez. Il affiche ensuite les diagnostics de cette étape, sans afficher les diagnostics pour les autres étapes de la requête. Cette évaluation peut faciliter l’obtention d’une vue étroite d’un problème.

Il est important que si vous enregistrez toutes les traces à partir des diagnostics de démarrage , appuyez sur Arrêter les diagnostics. L’arrêt des diagnostics permet au moteur de collecter les traces enregistrées et de les analyser dans la sortie appropriée. Sans cette étape, les traces sont perdues.

Types de diagnostics

Nous fournissons actuellement trois types de diagnostics, dont l’un a deux niveaux de détail.

Les premiers de ces diagnostics sont les diagnostics principaux, qui ont une vue détaillée et une vue résumée. La vue résumée vise à vous donner un aperçu immédiat de l'endroit où le temps est utilisé dans votre requête. La vue détaillée est beaucoup plus profonde, ligne par ligne, et est, en général, nécessaire uniquement pour le diagnostic sérieux par les utilisateurs de puissance.

Pour cette vue, certaines fonctionnalités, telles que la colonne Requête de source de données, sont actuellement disponibles uniquement sur certains connecteurs. Nous allons travailler à étendre l’étendue de cette couverture à l’avenir.

Les partitions de confidentialité des données vous offrent une meilleure compréhension des partitions logiques utilisées pour la confidentialité des données.

Note

Power Query peut effectuer des évaluations que vous n’avez peut-être pas déclenchées directement. Certaines de ces évaluations sont effectuées afin de récupérer les métadonnées afin que nous puissions optimiser nos requêtes ou offrir une meilleure expérience utilisateur (par exemple, la récupération de la liste de valeurs distinctes dans une colonne affichée dans l’expérience Filtrer les lignes). D’autres peuvent être liées à la façon dont un connecteur gère les évaluations parallèles. En même temps, si vous voyez dans vos diagnostics de requête des requêtes répétées que vous ne trouvez pas logiques, n'hésitez pas à nous contacter via les canaux de support habituels ; vos retours nous permettent d'améliorer notre produit.

Résumé et vue détaillée

Les diagnostics de requête fournissent deux vues : résumées et détaillées. La vue résumée « réduit » plusieurs opérations associées en une seule opération. Dans ce processus, les détails collectés par chaque opération sont combinés et les durées exclusives sont additionnées. Aucune information n’est perdue dans le cadre de ce processus.

La vue résumée fournit une vue d’ensemble de ce qui s’est produit lors d’une évaluation pour faciliter l’examen de haut niveau. Si une autre répartition est souhaitée pour une opération spécifique, vous pouvez examiner l’ID de groupe et afficher les opérations correspondantes qui ont été regroupées dans l’affichage détaillé.

Explication de plusieurs évaluations

Lorsqu’une actualisation se produit dans l’éditeur Power Query, il y a beaucoup de choses effectuées en arrière-plan pour tenter de vous offrir une expérience utilisateur fluent. Par exemple, lorsque vous actualisez la préversion, l’évaluateur exécute l’étape finale de chaque requête donnée. Mais en arrière-plan, il exécute séquentiellement n-1 étapes, n-2 étapes, et ainsi de suite. Donc, si vous revenez sur vos pas, c'est déjà disponible.

Pour offrir des performances supérieures, un mécanisme de mise en cache est actuellement utilisé, évitant ainsi de devoir réexécuter chaque partie du plan de requête final à chaque étape. Bien que cette mise en cache soit utile pour la rédaction normale, cela signifie que vous n’obtenez pas toujours d'informations correctes de comparaison d’étapes en raison d’évaluations postérieures tirées de données mises en cache.

Schéma de diagnostics

Id

Lors de l’analyse des résultats d’un enregistrement, il est important de filtrer la session par id, afin que des colonnes telles que la durée exclusive % aient un sens.

L’ID est un identificateur composite. Il est formé de deux nombres , un avant le point, et un après. Le premier nombre est le même pour toutes les évaluations résultant d’une action utilisateur unique. En d’autres termes, si vous appuyez deux fois sur Actualiser, il existe deux nombres différents qui mènent le point, un pour chaque activité utilisateur effectuée. Cette numérotation est séquentielle pour un enregistrement de diagnostic donné.

Le deuxième nombre représente une évaluation par le moteur. Ce nombre est séquentiel pour la durée de vie du processus dans lequel l’évaluation est mise en file d’attente. Si vous exécutez plusieurs sessions d’enregistrement de diagnostic, ce nombre continue de croître entre les différentes sessions.

Pour résumer, si vous démarrez l’enregistrement, appuyez une fois sur le bouton d’évaluation, puis arrêtez l’enregistrement, plusieurs identifiants apparaissent dans vos diagnostics. Mais depuis que vous n’avez pris qu’une seule action, ils sont tous 1.1, 1.2, 1.3, et ainsi de suite.

La combinaison de l’activityId et de l’id d’évaluation, séparées par le point, fournit un identificateur unique pour une évaluation d’une session d’enregistrement unique.

Query

Nom de la requête dans le volet gauche de l’éditeur Power Query.

Étape

Nom de l’étape dans le volet droit de l’éditeur Power Query. Les éléments tels que les listes déroulantes de filtre sont généralement associés à l’étape sur laquelle vous filtrez, même si vous n’actualisez pas l’étape.

Catégorie

Catégorie de l’opération.

Type de source de données

Ces données vous indiquent le type de source de données auquel vous accédez, comme SQL ou Oracle.

Opération

Opération réelle en cours d’exécution. Cette opération peut inclure le travail de l’évaluateur, l’ouverture de connexions, l’envoi de requêtes à la source de données, etc.

Heure de début

Heure à laquelle l’opération a démarré.

Heure de fin

Heure de fin de l’opération.

Durée exclusive (%)

La colonne Durée exclusive d’un événement est la durée pendant laquelle l’événement a été actif. Cela contraste avec la valeur « duration » qui résulte de la soustraction des valeurs dans la colonne Heure de début et la colonne Heure de fin d’un événement. Cette valeur de « durée » représente la durée totale qui s’est écoulée entre le début d’un événement et le moment où il s’est terminé, ce qui peut inclure les heures pendant lesquelles l’événement était dans un état suspendu ou inactif et qu’un autre événement consommait des ressources.

La durée exclusive en pourcentage atteint environ 100 % dans une évaluation donnée, comme le représente la colonne ID. Par exemple, si vous filtrez sur des lignes avec l’ID 1.x, les pourcentages de durée exclusive se résument à environ 100%. Ce n’est pas le cas si vous additionnez les valeurs de Pourcentage de Durée Exclusive de toutes les lignes d’une table de diagnostic donnée.

Durée exclusive

Le temps absolu, plutôt que le %, de la durée exclusive. La durée totale (c’est-à-dire la durée exclusive + l’heure d’inactivité de l’événement) d’une évaluation peut être calculée de deux façons :

  • Recherchez l’opération appelée « Évaluation ». La différence entre l’heure de fin et l’heure de début entraîne la durée totale d’un événement.

  • Soustrait l’heure de début minimale de toutes les opérations d’un événement à partir de l’heure de fin maximale. Dans les cas où les informations collectées pour un événement ne comptent pas pour la durée totale, une opération appelée « Écarts de trace » est générée pour tenir compte de cet intervalle de temps.

Resource

Ressource à laquelle vous accédez pour les données. Le format exact de cette ressource dépend de la source de données.

Requête de source de données

Power Query effectue quelque chose appelé repliement, qui consiste à exécuter autant de parties de la requête que possible sur la source de données back-end. En mode DirectQuery (sur Power Query), lorsque cette option est activée, seules les transformations optimisables sont exécutées. En mode d’importation, les transformations qui ne peuvent pas être pliables sont exécutées localement.

La colonne Requête de source de données vous permet de voir la requête ou la requête/réponse HTTP envoyée par rapport à la source de données principale. Lorsque vous créez votre requête dans l’éditeur, de nombreuses requêtes de source de données sont émises. Certaines de ces requêtes sont la requête de source de données finale réelle pour afficher l’aperçu. Mais d’autres peuvent être destinés au profilage des données, aux listes déroulantes de filtres, aux informations sur les jointures, à la récupération des métadonnées pour les schémas et à un certain nombre d’autres requêtes de petite taille.

En règle générale, vous ne devez pas être préoccupé par le nombre de requêtes de source de données émises, sauf s’il existe des raisons spécifiques à s’inquiéter. Au lieu de cela, vous devez vous concentrer sur la récupération du contenu approprié. Cette colonne peut également aider à déterminer si l’évaluation Power Query a été entièrement pliée.

Informations supplémentaires

Il y a beaucoup d’informations récupérées par nos connecteurs. Une grande partie est désordonnée et ne s’intègre pas bien dans une hiérarchie standard de colonnes. Ces informations sont placées dans un enregistrement dans la colonne des informations supplémentaires. Les informations enregistrées à partir de connecteurs personnalisés s’affichent également ici.

Nombre de lignes

Nombre de lignes retournées par une requête de source de données. Non activé sur tous les connecteurs.

Longueur du contenu

Longueur du contenu retournée par les requêtes HTTP, telle qu’elle est couramment définie. Ce schéma n’est pas activé dans tous les connecteurs, et il n’est pas exact pour les connecteurs qui récupèrent des demandes en blocs.

Est-ce une requête utilisateur ?

Valeur booléenne qui indique s’il s’agit d’une requête créée par l’utilisateur et présente dans le volet gauche, ou si elle a été générée par une autre action utilisateur. D’autres actions utilisateur peuvent inclure des éléments tels que la sélection de filtres ou l’utilisation du navigateur dans l’expérience obtenir des données.

Chemin

Le chemin représente l’itinéraire relatif de l’opération lorsqu’elle est affichée dans le cadre d’une arborescence d’intervalles pour toutes les opérations au sein d’une seule évaluation. En haut (racine) de l’arborescence, il existe une seule opération appelée Évaluation avec le chemin « 0 ». L’heure de début de cette évaluation correspond au début de cette évaluation dans son ensemble. L’heure de fin de cette évaluation indique quand l’ensemble de l’évaluation s’est terminée. Cette opération de niveau supérieur a une durée exclusive de 0, car son seul objectif est de servir de racine de l’arborescence.

De nouvelles opérations se ramifient à partir de la racine. Par exemple, une opération peut avoir « 0/1/5 » comme chemin d’accès. Ce chemin d’accès est compris comme suit :

  • 0 : racine de l’arborescence
  • 1 : parent de l’opération actuelle
  • 5 : index de l’opération actuelle

L’opération « 0/1/5 » peut avoir un nœud enfant, auquel cas, le chemin d’accès a la forme « 0/1/1/5/8 », avec 8 représentant l’index de l’enfant.

ID de groupe

La combinaison de deux opérations (ou plus) ne se produit pas si elle entraîne une perte de détails. Le regroupement est conçu pour estimer les « commandes » exécutées pendant l’évaluation. Dans l’affichage détaillé, plusieurs opérations partagent un ID de groupe correspondant aux groupes agrégés dans la vue Résumé.

Comme avec la plupart des colonnes, l'ID de groupe n'est pertinent que dans une évaluation spécifique, tel que filtré par la colonne ID.

Schéma des partitions de confidentialité des données

Id

Identique à l’ID des autres résultats des diagnostics de requête. La partie entière représente un ID d’activité unique, tandis que la partie fractionnaire représente une seule évaluation.

Clé de partition

Correspond à la requête/étape utilisée en tant que partition de pare-feu.

Groupe de pare-feu

Catégorisation qui explique pourquoi cette partition doit être évaluée séparément, y compris les détails sur le niveau de confidentialité de la partition.

Ressources consultées

Liste des chemins d’accès aux ressources pour toutes les ressources accessibles par cette partition et identifie en général de manière unique une source de données.

Entrées de partition

Liste des clés de partition sur lesquelles dépend la partition actuelle (cette liste peut être utilisée pour générer un graphique).

Expression

L'expression qui est évaluée en tête de la requête/étape de la partition. Dans plusieurs cas, elle coïncide avec la requête/l’étape.

Heure de début

Heure de démarrage de l’évaluation pour cette partition.

Heure de fin

Heure de fin de l’évaluation pour cette partition.

Durée

Valeur dérivée de l’heure de fin moins heure de début.

Durée exclusive

Si les partitions sont supposées s’exécuter dans un thread unique, la durée exclusive est la durée « réelle » qui peut être attribuée à cette partition.

Durée exclusive %

Durée exclusive sous la forme d’un pourcentage.

Diagnostiques

Cette colonne apparaît uniquement lorsque les diagnostics de requête « Agrégé » ou « Détaillé » sont également capturés, ce qui permet à l’utilisateur de correspondre entre les deux sorties de diagnostic.

Schéma des compteurs de performances

Lorsque vous exécutez des compteurs de performance, chaque demi-seconde, Power Query prend un instantané de l’utilisation des ressources. Cet instantané n’est pas utile pour les requêtes très rapides, mais peut être utile pour les requêtes qui utilisent beaucoup plus de ressources.

temps de processeur %

Pourcentage de temps passé par les processeurs sur la requête. Ce pourcentage peut atteindre plus de 100% en raison de plusieurs processeurs.

Temps processeur total

Durée totale du temps processeur consacré à la requête.

Octets de données d’E/S par seconde

Vitesse de débit des données reçues de la source de données, exprimée en octets par seconde.

Commit (octets)

Quantité de mémoire virtuelle réservée par l’évaluation.

Ensemble de travail (octets)

Quantité de mémoire réservée par l’évaluation.