Pour suivre ou surveiller votre volume de données ingérées et indexées, consultez la section Métriques d’utilisation.
Filtres de rétention
Une fois les spans ingérés, certains sont conservés pendant 15 jours selon les filtres de rétention configurés sur votre compte :
Le filtre de rétention intelligent conserve les spans pour chaque environnement, service, opération et ressource pour différentes distributions de latence.
Plusieurs filtres de rétention par défaut sont créés pour garantir que vous gardiez une visibilité sur l’ensemble de vos services et endpoints, ainsi que sur les erreurs et les traces à forte latence.
Vous pouvez créer un nombre illimité de filtres de rétention personnalisés pour vos services, afin de capturer les traces qui comptent le plus pour votre activité, en fonction de n’importe quel attribut de span ou filtre de tag.
Remarque : L’autorisation apm_retention_filter_write est requise pour créer, supprimer, modifier, activer ou désactiver des filtres de rétention.
Dans Datadog, sur la page des paramètres Filtres de rétention, vous pouvez voir une liste de tous les filtres de rétention :
Nom de filtre
Le nom de chaque filtre de rétention utilisé pour indexer les spans.
Filter Query
La requête basée sur les tags pour chaque filtre.
Taux de rétention
Un pourcentage de 0 à 100 % du nombre de spans correspondants indexés. Les spans conservés sont choisis uniformément parmi les spans qui correspondent à la requête du filtre.
Spans indexées
Le nombre de spans indexés par le filtre sur la période sélectionnée.
Dernière mise à jour
La date et l’utilisateur ayant modifié le filtre de rétention en dernier.
Bouton activé
Permet d’activer et de désactiver les filtres.
Remarque : L’ordre de la liste des filtres de rétention modifie le comportement d’indexation. Si un span correspond à un filtre de rétention situé en début de liste, le span est soit conservé, soit supprimé. Tout filtre de rétention personnalisé correspondant situé plus bas dans la liste ne capture pas le span déjà traité.
La colonne Spans Indexed pour chaque filtre de rétention est alimentée par la métrique datadog.estimated_usage.apm.indexed_spans, que vous pouvez utiliser pour suivre votre utilisation des spans indexés. Pour plus d’informations, lisez Métriques d’utilisation, ou explorez le tableau de bord d’utilisation prêt à l’emploi disponible dans votre compte.
Les filtres de rétention n'affectent pas les traces collectées par l'Agent et envoyées à Datadog (« ingérées »). Pour contrôler l'ingestion, utilisez des contrôles d'ingestion dédiés.
Types de filtres de rétention
Il existe deux types de filtres de rétention :
Filtres de rétention au niveau du span - Indexez uniquement les spans spécifiques qui correspondent à vos critères de filtre.
Filtres de rétention au niveau de la trace - Indexez des traces entières qui contiennent des spans correspondant à vos critères de filtre, rendant les traces complètes interrogeables dans les requêtes de traces.
Feature
Filtres de rétention standard
Filtres de rétention au niveau de la trace
Configuration
Requête de span + taux de rétention de span
Requête de span + taux de rétention de span + taux de rétention de trace
Ce qui est indexé
Seuls les spans ciblés par la requête
Tous les spans appartenant aux traces qui contiennent des spans correspondant à la requête
Où cela est interrogeable
Explorer Span
Explorer Span et requêtes de traces
Remarque : Les spans indexés indirectement conservés par les filtres de rétention au niveau de la trace (c’est-à-dire les spans qui ne correspondent pas directement à la requête mais qui appartiennent à des traces qui y correspondent) ne sont pas évalués par les monitors d’analyse de traces.
Filtres de rétention par défaut
Les filtres de rétention suivants sont activés par défaut :
Le filtre de rétention Error Default indexe les spans d’erreur avec status:error. Le taux de rétention et la requête sont configurables. Par exemple, pour capturer les erreurs de production, définissez la requête sur status:error, env:production. Désactivez le filtre de rétention si vous ne souhaitez pas capturer les erreurs par défaut.
Le filtre de rétention App and API Protection Default est activé si vous utilisez App and API Protection. Il garantit la rétention de tous les spans dans les traces qui ont été identifiées comme ayant un impact sur la sécurité des applications (une tentative d’attaque).
Le Synthetics Default filtre de rétention est activé si vous utilisez Synthetic Monitoring. Il garantit que les traces générées à partir de tests Synthetic d’API et de navigateur restent disponibles par défaut. Consultez Synthetic APM pour plus d’informations, notamment sur la façon de corréler les traces avec les tests Synthetic.
Le Dynamic Instrumentation Default filtre de rétention est activé si vous utilisez Dynamic Instrumentation. Il garantit que les spans créés dynamiquement avec Dynamic Instrumentation restent disponibles à long terme par défaut.
Filtre de rétention intelligent de Datadog
Le filtre de rétention intelligent de Datadog est toujours actif pour vos services et conserve une sélection représentative de traces sans que vous ayez à créer des dizaines de filtres de rétention personnalisés. Il se compose de :
Remarque : Les requêtes de traces sont basées sur les données indexées par le filtre de rétention intelligent.
Les spans indexés par le filtre de rétention intelligent (échantillonnage par diversité et échantillonnage uniforme à 1 %) ne sont pas comptabilisés dans l’utilisation des spans indexés et n’ont donc pas d’impact sur votre facture.
Si vous souhaitez indexer davantage de spans pour des tags ou attributs spécifiques que ce que conserve le filtre de rétention intelligent, créez votre propre filtre de rétention.
Échantillonnage par diversité
L’échantillonnage par diversité analyse les spans d’entrée de service et conserve pendant 30 jours :
Au moins un span (et la trace associée) pour chaque combinaison d’environnement, de service, d’opération et de ressource toutes les 15 minutes au maximum, afin de garantir que vous puissiez toujours trouver des exemples de traces dans les pages service et ressource, même pour les endpoints à faible trafic.
Les spans à latence élevée pour les p75, p90 et p95 percentiles (et la trace associée) pour chaque combinaison d’environnement, de service, d’opération et de ressource.
Une sélection représentative d’erreurs, garantissant la diversité des erreurs (par exemple, les codes d’état de réponse 400, 500).
L’ensemble des données capturées par l’échantillonnage par diversité n’est pas échantillonné uniformément (c’est-à-dire qu’il n’est pas proportionnellement représentatif du trafic complet). Il est biaisé en faveur des erreurs et des traces à latence élevée.
Échantillonnage uniforme de 1 %
L’échantillonnage uniforme de 1 % capture :
Toutes les traces corrélées avec 1 % des sessions RUM ingérées ayant des traces ingérées, garantissant que vous pouvez toujours trouver des sessions indexées associées à des données de trace. Cela améliore la corrélation entre APM et RUM, vous permettant de déboguer les problèmes des utilisateurs en visualisant simultanément les sessions frontend et les traces backend. L’échantillon est appliqué en fonction du session_id, ce qui signifie que toutes les traces liées à la même session RUM partagent une décision d’indexation cohérente.
Un échantillon uniforme de 1 % des spans ingérés, appliqué en fonction du trace_id afin que tous les spans de la même trace partagent la même décision d’échantillonnage. Utilisez cet échantillon pour la surveillance générale de l’état du système et l’analyse des tendances.
Ce mécanisme d’échantillonnage est uniforme et proportionnellement représentatif du trafic total ingéré. Par conséquent, les services et endpoints à faible trafic pourraient être absents de cet ensemble de données si vous filtrez sur une courte période.
Créez votre propre filtre de rétention
Créez des filtres de rétention personnalisés pour conserver des données de trace spécifiques pendant 15 jours. Utilisez n’importe quel tag ou attribut de span dans la requête de filtre pour cibler et conserver les spans les plus importants pour votre activité.
Par exemple, vous pouvez créer des filtres pour conserver toutes les traces correspondant aux critères suivants :
Transactions par carte de crédit supérieures à 100 $ : @transaction_amount:>100
Spans d’opération de paiement ayant une durée supérieure à 2 secondes dans l’environnement de production : resource_name:"GET /checkout" @duration:>2s env:prod
Versions spécifiques d’une application de service de livraison en ligne : service:delivery-api @version:v2.0
Lorsque vous indexez un span à l’aide d’un filtre de rétention :
Facilité de recherche : Le span indexé peut être trouvé dans Trace Explorer, dashboards et surveillé pendant 15 jours.
Contexte de visualisation : Lorsque vous cliquez sur un span indexé dans Trace Explorer, vous voyez toujours son contexte de trace complet (tous les spans parents et enfants) dans une vue flamegraph ou waterfall, que ces autres spans aient été indexés ou non.
Contexte de recherche : Bien que vous puissiez visualiser une trace complète, seuls les spans spécifiquement indexés par des filtres de rétention seront interrogeables dans Trace Explorer.
Définissez le Retention Query pour cibler les spans que vous souhaitez conserver. Utilisez n’importe quel span ou attribut pour filtrer les spans, comme vous écririez une requête dans Trace Explorer.
Définissez un Span rate pour définir le pourcentage de spans correspondant à cette requête qui doivent être indexés.
Optionnellement, définissez un Trace rate pour définir le pourcentage de traces complètes associées aux spans qui doivent être indexés. Cela garantit que les autres spans des traces associées au span ciblé par la requête de rétention sont également indexés, afin que les données indexées puissent être interrogées dans Trace Queries.
Définissez un nom pour le filtre.
Cliquez sur Add Filter pour enregistrer le filtre.
La configuration d'un taux de traces peut augmenter considérablement votre utilisation des spans indexés.
Par exemple, si vous configurez un filtre de rétention pour indexer les spans de service:my-service :
La configuration d’un taux de spans de 50% permet de garantir qu’environ 50 % des traces contenant des spans correspondant à service:my-service sont sélectionnées. Pour les traces sélectionnées, tous les spans correspondant à service:my-service sont indexés.
La configuration d’un taux de traces de 10% permet de garantir que 10 % des traces sélectionnées par le taux de spans sont entièrement indexées. Pour ces traces, tous les spans de la trace (et pas seulement ceux de service:my-service) sont indexés. En supposant que les traces comportent 100 spans en moyenne et 5 spans de service:my-service, la configuration d’un taux de traces indexe les 95 spans restants de la trace pour le pourcentage configuré de traces sélectionnées.
Le taux de spans est évalué en premier, et le taux de traces est appliqué uniquement aux traces sélectionnées par le taux de spans.
Lorsque vous créez un filtre ou modifiez le taux de rétention d’un filtre existant, Datadog affiche une estimation du changement de volume d’indexation global sous la forme d’un pourcentage.
Les filtres sont conservés dans un ordre sériel. Si vous avez un filtre en amont qui conserve les spans avec le tag resource:POST /hello_world, ces spans n’apparaissent pas dans la fenêtre Edit d’un filtre en aval qui recherche des spans avec le même tag car ils ont été conservés par le filtre en amont.
Recherche et analyse de traces sur des spans indexés
Dans Trace Explorer, dashboards et notebooks
Par défaut, les spans indexés par des filtres de rétention personnalisés et le filtre de rétention intelligent sont inclus dans les vues agrégées de Trace Explorer (série temporelle, top list, tableau), ainsi que dans les requêtes des dashboards et des notebooks.
L’attribut retained_by est présent sur tous les spans conservés. Sa valeur est :
retained_by:retention_filter si le span a été capturé par un filtre de rétention personnalisé, y compris les filtres de rétention par défaut et si aucun taux de traces n’a été configuré. Ces spans ne sont pas inclus dans Trace Queries, car Trace Queries nécessitent que tous les spans d’une trace soient indexés.
retained_by:trace_retention_filter si le span est capturé par un filtre de rétention pour lequel un taux de traces a été configuré.
retained_by:flat_sampled si le span a été indexé par 1% flat sampling. Filtrer davantage par motif de rétention :
@retention_reason:rum pour les traces liées à des sessions RUM échantillonnées sur la base du session_id. Utilisez ceci pour analyser les traces corrélées aux sessions utilisateur.
@retention_reason:trace pour les traces échantillonnées uniformément sur la base du trace_id. Utilisez ceci pour les tendances de performance générales et l’analyse à l’échelle du système.
Dans les Trace Analytics monitors
Les spans indexés par le filtre de rétention intelligent sont exclus de l’évaluation des monitors d’analyse de traces APM.
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: