Nouvelles annonces sur les technologies sans serveur et réseau ainsi que sur le RUM (Real-User Monitoring) dévoilées à la conférence Dash ! Nouvelles annonces dévoilées à la conférence Dash !

Recherche de traces

Présentation

Utilisez l’analyse et recherche de traces pour filtrer les métriques de performance d’application et les événements APM par tags définis par l’utilisateur. Elle permet l’exploration approfondie des requêtes Web passant par votre service.

L’analyse et recherche de traces peut être activée par service APM et par host. Un service sur lequel elle est activée expose tous ses événements APM à Datadog.

Les services en aval comme les bases de données et les couches de cache ne font pas partie des services disponibles (car ils ne génèrent pas leurs propres traces), mais leur information est récupérée par les services de haut niveau qui les appellent.

Dans la vue Recherche de traces, vous pouvez :

Événements APM

Lorsqu’une requête atteint un service (p. ex. serveur Web, base de données), l’Agent Datadog crée un événement APM. C’est un enregistrement de la requête comprenant sa durée, son code de réponse et toutes les métadonnées personnalisées éventuelles. Un événement APM est représenté par une span unique avec les métadonnées jointes pour la requête traitée. Pour chaque service qui reçoit une requête, l’Agent crée un événement APM. Si une requête passe par un service Web, un service de listing et un service de base de données, la requête générera trois événements APM. Pour réduire la quantité d’événements APM générés, activez/désactivez explicitement la collecte d’événements APM pour un service spécifique.

Pour démarrer la collecte d’événements APM, activez l’analyse et recherche de traces pour vos services.

Traces complètes

Si la case est cochée, les événements APM énumérés dans le flux de traces sont associés à une trace. Vous pouvez donc afficher la trace complète avec toutes les spans associées.

Barre de recherche

Tous les paramètres de recherche sont contenus dans l’adresse URL de la page. Il est donc très facile de partager votre vue.

Syntaxe de recherche

Une requête est composée de termes et d’opérateurs.

Il existe deux types de *termes* :

Pour combiner plusieurs termes dans une requête complexe, utilisez l’un des opérateurs booléens suivants :

OpérateurDescriptionExemple
ANDIntersection : les deux termes sont inclus dans les événements sélectionnés (si aucun opérateur n’est ajouté, AND est utilisé par défaut).authentication AND failure
ORUnion : un des deux termes est inclus dans les événements sélectionnés.authentication OR password
-Exclusion : le terme suivant n’est PAS inclus dans les événements sélectionnés.authentication AND -password

Recherche de facettes

Pour effectuer une recherche sur une facette spécifique, vous devez d’abord l’ajouter comme facette puis utiliser @ pour spécifier que vous faites une recherche sur une facette.

Par exemple, si le nom de votre facette est url et que vous souhaitez filtrer la valeur url sur www.datadoghq.com, il vous suffit de saisir :

@url:www.datadoghq.com

Recherche de tags

Vos traces héritent des tags des hosts et des intégrations qui les génèrent. Ils peuvent être utilisés dans une recherche ainsi que comme facettes :

RequêteCorrespondance
("env:prod" OR test)Toutes les traces avec le tag #env:prod ou le tag #test
(service:srvA OR service:srvB) or (service:(srvA OR srvB))Toutes les traces qui contiennent les tags #service:srvA ou #service:srvB.
("env:prod" AND -"version:beta")Toutes les traces qui contiennent #env:prod et qui ne contiennent pas #version:beta

Si vos tags ne respectent pas les recommandations relatives aux tags et n’utilisent pas la syntaxe key:value, utilisez cette requête de recherche :

  • tags:<MON_TAG>

Wildcards

Afin d’effectuer une recherche générique avec plusieurs caractères, utilisez le symbole * comme illustré ci-dessous :

  • service:web* renvoie toutes les traces dont le service commence par web
  • @url:data* renvoie toutes les traces dont l’adresse url commence par data.

Valeurs numériques

Utilisez les caractères <, >, <= ou >= pour effectuer une recherche avec des attributs numériques. Par exemple, pour récupérer toutes les traces avec un délai de réponse supérieur à 100 ms :

@http.response_time:>100

Vous pouvez également effectuer une recherche d’attribut numérique dans une plage spécifique. Par exemple, pour récupérer toutes les erreurs 4xx :

@http.status_code:[400 TO 499]

Saisie automatique

La saisie de requête complexe peut être fastidieuse. Utilisez la fonctionnalité de saisie automatique de la barre de recherche pour compléter votre requête en utilisant des valeurs existantes :

Échappement de caractères spéciaux

Les attributs suivants sont considérés comme spéciaux : ?, >, <, :, =,", ~, /, et \ requièrent le caractère d’échappement \. Par exemple, pour rechercher les traces qui contiennent user=AliceMartin dans leur adresse url, saisissez la recherche suivante :

@url:*user\=AliceMartin*

La même logique s’applique aux espaces dans les attributs de trace. Il est déconseillé d’avoir des espaces dans les attributs de trace, mais s’ils en ont, les espaces doivent être précédées du caractère d’échappement. Si un attribut est appelé user.first name, effectuez une recherche sur cet attribut en ajoutant un caractère d’échappement devant l’espace :

@user.first\ name:myvalue

Recherches enregistrées

Ne perdez pas de temps à créer les mêmes vues tous les jours. Les recherches enregistrées contiennent votre requête de recherche, les colonnes et l’horizon temporel. Ils sont alors disponibles dans la barre de recherche grâce à la correspondance de saisie automatique du nom de la recherche ou de la requête.

Pour supprimer une recherche enregistrée, cliquez sur l’icone en forme de corbeille sous le menu déroulant de recherche de traces.

Intervalle

L’intervalle vous permet d’afficher les traces dans une période donnée. Changez rapidement l’intervalle en sélectionnant une durée prédéfinie dans la liste déroulante :

Flux de traces

Le flux de traces regroupe la liste des traces qui correspondent au contexte sélectionné. Un contexte est défini par un filtre de barre de recherche et un intervalle.

Cliquez sur l’en-tête de colonne date pour trier la liste.

Afficher une trace complète

Cliquez sur une trace quelconque pour afficher plus de détails :

Colonnes

Pour ajouter plus de détails de trace à la liste, cliquez sur le bouton Columns et sélectionnez les facettes que vous souhaitez voir :

Affichage multiligne

Choisissez d’afficher une, trois ou dix lignes à partir de vos traces. L’affichage de trois et dix lignes vous donne une meilleure compréhension de l’attribut error.stack.

  • Avec une ligne affichée :

  • Avec trois lignes affichées :

  • Avec dix lignes affichées :

Facettes

Une facette présente toutes les valeurs distinctes d’un attribut ou d’un tag en plus de proposer des analyses de base, comme la quantité de traces représentées. Son activation permet également de filtrer facilement vos données.

Les facettes vous permettent de faire pivoter ou de filtrer vos ensembles de données en fonction d’un attribut donné. Les facettes peuvent correspondre à des utilisateurs, des services, etc.

Créer une facette

Pour commencer à utiliser un attribut en tant que facette ou dans une recherche, cliquez dessus et ajoutez-le en tant que facette :

Lorsque vous avez terminé, la valeur de cet attribut est stockée pour toutes les nouvelles traces et peut être utilisée dans la barre de recherche, le volet Facettes et dans la requête de graphique de traces.

Volet Facettes

Utilisez les facettes pour filtrer facilement vos traces. La barre de recherche et l’URL reflètent automatiquement vos sélections.

Pour aller plus loin