RousselTMLEARNING

Observabilité

Analyser l'expérience utilisateur dans Dynatrace : sessions, traces, analyses et USQL

Exploiter les données d'expérience utilisateur (DEM) : Apdex et Core Web Vitals, sessions utilisateur, flux de services, traces distribuées, analyse des appelants, analyse multidimensionnelle, USQL et entonnoirs.

1. Mesurer l'expérience #

Apdex et Core Web Vitals.

Indicateurs #

IndicateurCe qu'il mesure
ApdexScore de 0 à 1 : part d'actions satisfaisantes (sous un seuil), tolérables et frustrantes
Core Web Vitals (LCP, INP, CLS)Standards du web : affichage, réactivité, stabilité visuelle
Taux d'erreurs JavaScriptErreurs vues par les utilisateurs
Taux de rebond, conversionImpact métier
Bonne Pratique : L'Apdex se règle par application et par action : un seuil de 3 s pour une recherche n'a pas de sens pour un paiement. Les Core Web Vitals, eux, sont comparables d'un site à l'autre.

2. De la session à la ligne de code #

Les vues d'analyse.

Parcours d'analyse #

VueUsage
Application frontendVue d'ensemble : actions clés, géographie, navigateurs, erreurs
User sessionsChronologie d'une session : actions, erreurs, cascade de chargement (waterfall), replay si activé
Service flowEnchaînement des appels entre services pour une transaction
Distributed traces (PurePath)Trace détaillée d'une requête jusqu'au code et aux requêtes SQL
BacktraceQui appelle ce service ou cette base de données, depuis quelle action utilisateur
Multidimensional analysisDécouper temps de réponse et erreurs par n'importe quelle dimension (URL, méthode, exception)

Le parcours type : une action lente → ses traces → le service responsable dans le service flow → la méthode ou la requête SQL dans le PurePath.

3. USQL #

Interroger les sessions comme en SQL.

Requêtes #

-- Les 10 actions les plus lentes d'une application
SELECT useraction.name, AVG(useraction.duration), COUNT(*)
FROM useraction
WHERE useraction.application = "boutique"
GROUP BY useraction.name
ORDER BY AVG(useraction.duration) DESC
LIMIT 10

-- Sessions avec erreur par navigateur
SELECT browserFamily, COUNT(*) FROM usersession
WHERE totalErrorCount > 0 GROUP BY browserFamily

-- Entonnoir de conversion
SELECT FUNNEL(useraction.name = "Accueil" AS "Accueil",
              useraction.name = "Ajouter au panier" AS "Panier",
              useraction.name = "Payer" AS "Paiement")
FROM usersession
À savoir : Les données RUM les plus récentes sont aussi stockées dans Grail et interrogeables en DQL ; USQL reste le langage des données de session classiques.

Articles liés

L'app QuickStart de Dynatrace : obtenir ses premières données en quelques minutes

Découvrir l'app QuickStart : ajouter des données avec Auto Discovery ou une tuile dédiée, lire les Findings, …

L'app Investigations de Dynatrace : mener une enquête sur les données de Grail

Découvrir l'app Investigations : requêtes DQL, extraction avec DPL Architect, enrichissement, arbre de requêt…

Site Reliability Guardian dans Dynatrace

Valider automatiquement une mise en production avec des objectifs de disponibilité, de performance et de capa…

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 !