RousselTMLEARNING

Article · Datadog: from discovery to expertise

Advanced APM: sampling and profiler

This article is available in French.

1. Ingestion et rétention #

Deux niveaux de contrôle.

Principe #

Ingestion et rétention des traces
  • Les métriques de traces (hits, erreurs, latence par ressource) sont calculées sur tout le trafic, quel que soit l'échantillonnage.
  • Les règles d'échantillonnage (variable DD_TRACE_SAMPLING_RULES ou configuration distante) décident quelles traces sont ingérées.
  • Les filtres de rétention choisissent les spans indexés 15 jours : par défaut erreurs, latences hautes et un échantillon diversifié.
export DD_TRACE_SAMPLING_RULES='[{"service":"shop","name":"http.request","sample_rate":0.2},{"service":"shop","resource":"GET /health","sample_rate":0}]' 

2. Profiler et instrumentation dynamique #

Au-delà des traces.

Outils #

OutilApporteUsage
Continuous ProfilerCPU, mémoire, verrous par fonction, en continuTrouver la fonction coûteuse derrière un endpoint lent
Code HotspotsLien entre un span et le profil pendant ce spanExpliquer la latence d'une requête précise
Dynamic InstrumentationAjouter un log ou une métrique dans le code en production, sans redéployerInvestiguer un bug rare
Error TrackingRegroupement des erreurs en problèmesPrioriser les corrections

3. Software Catalog #

Qui possède quoi.

Propriété des services #

Le Software Catalog (ex-Service Catalog) recense les services avec leur équipe, leur astreinte, leurs dépôts, leurs runbooks et leur niveau de criticité, décrits dans un fichier versionné avec le code :

# service.datadog.yaml
apiVersion: v3
kind: service
metadata:
  name: shop
  owner: team-commerce
  links:
    - { name: Runbook, type: runbook, url: https://wiki.example.com/shop }
spec:
  lifecycle: production
  tier: "1"
Bonne Pratique : Un service sans propriétaire est un incident sans responsable : faites de la fiche du catalogue un prérequis de mise en production.

📄 APM Datadog avancé : échantillonnage, rétention, profiler et Software Catalog →

My progress

  • ⏱ Estimated time : ≈ 4 min

Sign in to track your progress and take notes. Sign in

✉️ Ask a question

Recommended Articles

Understanding the concept of score

The concept of score allows Elasticsearch to rank your documents by relevance during a search.

Understanding the Elastic Common Schema (ECS)

As always in our consulting engagements, we recommend that companies harmonise and standardise: k...

License consumption types

Understand the evolution of billing in Dynatrace: the difference between the old licensing model ...

Grafana Alloy: The importance of Self-Monitoring

Discover why and how to configure Grafana Alloy so that it monitors itself, collecting its own lo...

Grafana Alloy: Understanding and exploiting the User Interface (UI)

Discover how to enable, secure, and use Grafana Alloy's built-in web interface to visualize your ...

Grafana Alloy: Introduction and Architecture

Discover the fundamental concepts of Grafana Alloy, the transition from the static Agent to Alloy...

Grafana Alloy: Syntax and Configuration (Alloy Language: River)

As part of a Grafana training or observability training, master the declarative syntax of Grafana...

Grafana Alloy: Metrics Collection (Prometheus & Ecosystem)

Learn how to configure Grafana Alloy to collect, transform, and forward metrics using the Prometh...

Grafana Alloy: Log Management with Loki

Discover how to configure Grafana Alloy to read log files, journald, or network streams, process ...