RousselTMLEARNING

Observabilité

RUM et Synthetic Monitoring avec Datadog : synthetic transaction monitoring et expérience utilisateur

Mesurer l'expérience utilisateur avec Datadog : RUM navigateur et mobile, Core Web Vitals, Session Replay, lien avec l'APM, tests Synthetics API, navigateur et multi-étapes, emplacements privés et tests en CI.

1. Deux approches complémentaires #

Réel et simulé.

Comparaison #

RUM et Synthetics reliés à l'APM
RUMSynthetics
DonnéesVraies sessions d'utilisateursParcours scriptés, planifiés
DétecteLenteurs réelles, erreurs JavaScript, impact par navigateur ou paysIndisponibilité, régression, avant même qu'un utilisateur ne la subisse
Fonctionne la nuit sans traficNonOui
FacturationSessionsExécutions de tests

2. RUM #

Le navigateur.

Installation #

import { datadogRum } from '@datadog/browser-rum';

datadogRum.init({
  applicationId: '<APPLICATION_ID>', clientToken: '<CLIENT_TOKEN>', site: 'datadoghq.eu',
  service: 'shop-front', env: 'prod', version: '2.3.0',
  sessionSampleRate: 100, sessionReplaySampleRate: 20,
  trackUserInteractions: true, trackResources: true, trackLongTasks: true,
  allowedTracingUrls: ['https://api.example.com'],     // relie les requêtes aux traces backend
  defaultPrivacyLevel: 'mask-user-input',
});
  • Core Web Vitals (LCP, INP, CLS) par page, navigateur et pays.
  • Session Replay pour revoir une session, avec masquage des saisies (defaultPrivacyLevel).
  • allowedTracingUrls ajoute les en-têtes de traçage aux appels d'API : d'un clic, on passe d'une action lente à la trace backend.

3. Synthetics #

Tester en continu.

Types de tests #

TestVérifie
API (HTTP, SSL, DNS, TCP, gRPC, WebSocket)Statut, temps de réponse, contenu, expiration de certificat
API multi-étapesUn enchaînement d'appels avec variables (connexion, puis commande)
NavigateurUn parcours enregistré dans un vrai navigateur
MobileUn parcours dans une application mobile
  • Emplacements gérés (régions cloud) ou emplacements privés (un conteneur dans votre réseau) pour tester les applications internes.
  • Exécution des tests en CI (datadog-ci synthetics run-tests) pour bloquer un déploiement qui casse un parcours.
  • Tests et emplacements gérés en Terraform (datadog_synthetics_test).
Bonne Pratique : Alertez sur plusieurs emplacements en échec (par exemple 2 sur 3) plutôt que sur un seul : un problème réseau local ne doit pas réveiller l'astreinte.

Articles liés

Architecture de la plateforme Datadog : sites, organisations, clés et modèle de données

Comprendre l'architecture de Datadog : sources de données (agent, intégrations cloud, SDK, OpenTelemetry), si…

Datadog sur Kubernetes : Operator, Cluster Agent et Autodiscovery

Superviser Kubernetes avec Datadog : Datadog Operator et ressource DatadogAgent, Cluster Agent, Autodiscovery…

Dashboards et notebooks Datadog : widgets, template variables et bonnes pratiques

Concevoir des dashboards Datadog utiles : types de widgets, template variables, groupes, Powerpacks, formules…

Pour aller plus loin

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !