Explorer les métriques de requête

La vue Query Metrics affiche l’historique des performances de vos requêtes normalisées. Visualisez les profils de performance pour une infrastructure ou des tags personnalisés spécifiques, tels que la zone de disponibilité du centre de données, et recevez une alerte en cas d’anomalie.

Accédez à la page Query Metrics dans Datadog.

La vue affiche les 200_principales_ requêtes, à savoir les 200 requêtes avec les temps d’exécution les plus élevés au cours de l’intervalle sélectionné. Consultez la documentation sur les requêtes suivies pour en savoir plus. La vue Query Metrics n’affiche pas l’agrégation des métriques pour les requêtes rapides qui ont été exécutées un faible nombre de fois. Les snapshots correspondants sont néanmoins indiqués dans les échantillons de requêtes, tant que ces requêtes ont été exécutées au cours des 15 derniers jours.

Filtrer et regrouper les requêtes

Sélectionnez votre source de base de données (par exemple, Postgres) dans le sélecteur source en haut de la page. Spécifiez des tags de recherche pour filtrer la liste des requêtes (ou la liste des procédures stockées, le cas échéant) et regroupez par tags pour organiser la liste.

Par exemple, il est généralement utile de regrouper les requêtes par host ou cluster afin de visualiser rapidement l’infrastructure sur laquelle elles s’exécutent.

Regrouper par tag env

Lorsque vous regroupez des requêtes, vous pouvez appliquer jusqu’à trois tags (par exemple, host, env et datacenter) afin d’obtenir des ensembles de résultats filtrés.

Regroupement par trois tags

Développez le groupe pour afficher la liste des requêtes, puis cliquez sur View all queries in this group pour copiez les critères de regroupement dans le champ de recherche de la barre de filtre. La page affiche alors uniquement les résultats de la recherche.

Filtrer les requêtes en fonction de facettes

Les facettes permettant de filtrer la liste des requêtes sont indiquées sur la gauche de l’interface. Voici les facettes disponibles :

  • Core : services, hosts et environnements.
  • Database : Postgres propose les facettes database et user, tandis que MySQL propose les facettes schema.
  • Infrastructure : tags d’infrastructure Datadog standard collectés par l’Agent.

Sélectionnez ou supprimez des facettes afin d’afficher les requêtes qui vous intéressent.

Filtrer la vue Query Metrics pour afficher une seule requête

Si vous souhaitez filtrer le contenu de la vue Query Metrics afin d’afficher une seule requête normalisée, appliquez le filtre query_signature au lieu de query. Les noms de tag sont tronqués après le 200e caractère. De plus, puisque les requêtes peuvent être longues, les tags query correspondants ne sont pas forcément uniques. La valeur query_signature correspond à un hachage d’une requête normalisée et est utilisée comme ID unique de cette dernière.

Pour filtrer la vue sur une requête précise sans rechercher la valeur de la signature de cette requête, cliquez sur la requête dans la liste pour ouvrir la page Query Details. Cliquez ensuite sur Filter to This Query. Un filtre basé sur la facette query_signature est alors appliqué à la page Query Metrics.

Explorer les métriques

La liste Query Metrics affiche les métriques liées aux requêtes, à la latence moyenne, au temps total et au pourcentage de temps, ainsi que d’autres métriques qui dépendent de votre système de gestion de bases de données. Cliquez sur le menu Options pour définir les métriques qui s’affichent dans la liste. Passez le curseur sur l’en-tête d’une colonne pour afficher une description de chaque type de métrique. Cliquez sur l’en-tête d’une colonne pour trier la liste en fonction de cette métrique.

Pour voir la liste complète des métriques recueillies, consultez la documentation relative aux données recueillies par l’intégration pour votre système de gestion de base de données :

Postgres
MySQL
SQL Server
Oracle
Oracle

Les vues Database Monitoring affichent principalement les métriques suivantes :

  • MySQL : mysql.queries.*
  • Postgres : postgresql.queries.*
  • SQL Server : sqlserver.queries.*
  • Oracle : oracle.queries.*

Page Query Details

Lorsque vous cliquez sur une requête dans la liste Query Metrics, la page Query Details correspondante s’ouvre. Le haut de la page affiche le texte intégral de la requête normalisée, ainsi qu’une liste de tous les tags associés à la requête. La liste des tags est l’union de tous les tags de chaque host sur lequel la requête s’exécute. Parcourez la liste pour consulter des informations telles que le serveur sur lequel la requête s’exécute :

Liste de tags pour une requête

Pour accéder à la page Query Samples tout en conservant le contexte de cette requête, cliquez sur le bouton View Query Samples. Pour revenir à la vue Query Metrics filtrée en fonction de cette requête, cliquez sur le bouton Filter by This Query.

Afficher rapidement un échantillon de requêtes ou des métriques pour cette requête

Si vous passez en revue les détails d’une requête et souhaitez déterminer les hosts sur lesquels elle s’exécute, cliquez sur Filter by This Query, puis regroupez les résultats par host. La liste des métriques affiche chaque host sur lequel la requête s’exécute. Triez la vue en fonction de Percent time pour vérifier si un host précis est responsable d’une grande partie de la durée d’exécution d’une requête.

Métriques d'une requête regroupées par host

Triez la vue en fonction de Rows/Query pour vérifier si un host précis renvoie beaucoup plus de lignes que les autres, ce qui pourrait indiquer que le partitionnement n’est pas équilibré entre les hosts.

Graphiques de métriques

Les graphiques vous permettent de comparer les métriques associées à votre requête à celles associées à toutes les autres requêtes. Vous pouvez ainsi déterminer si la latence moyenne de votre requête est bien plus élevée que celle des autres requêtes, en tenant compte de sa fréquence d’exécution (afin de déterminer l’impact d’éventuelles lenteurs). Le temps d’utilisation de la base de données par votre requête est également comparé à celui de toutes les autres requêtes.

Cliquez sur l’onglet Metrics pour afficher d’autres graphiques de métriques pour cette requête.

Plans d’exécution

Datadog collecte les plans d’exécution en continu ; une requête donnée peut donc avoir plusieurs plans. Ces plans sont normalisés et affichés séparément afin que vous puissiez déterminer si une requête possède des plans plus performants ou dont le coût relatif est plus élevé que d’autres. Par exemple, le plan d’exécution suivant contient des informations pour une requête :

Informations sur les plans d'exécution d'une requête

Sélectionnez un plan pour afficher des métriques sur les coûts ou le JSON associé. Cliquez sur View All Samples for This Plan pour accéder à la vue Query Samples afin de découvrir les échantillons associés à la requête.

Pour diverses raisons, concernant notamment le type de requête ou les différents paramètres de configuration, les requêtes ne possèdent pas toutes des plans d’exécution. Consultez la section sur le dépannage pour en savoir plus.

Onglet Hosts Running This Query

L’onglet Hosts Running This Query répertorie les hosts qui exécutent la requête analysée. Il contient un menu contextuel vous permettant d’accéder à des informations sur les hosts, notamment des logs ou des données réseau. Ces informations s’avèrent particulièrement utiles pour identifier l’origine des problèmes de latence.

Menu d'actions d'un host permettant d'accéder à plus d'informations

Dashboards Database Monitoring

Pour accéder rapidement aux dashboards présentant des visualisations de métriques d’infrastructure et de requêtes liées aux bases de données, cliquez sur le lien Dashboards en haut de la page. Utilisez les dashboards prêts à l’emploi, ou clonez-les et personnalisez-les selon vos besoins.

Pour aller plus loin