1. Rechercher #
Trouver la bonne trace.
Critères #
| Critère | Exemple |
|---|---|
| Service et opération | commandes, POST /commande |
| Tags | error=true, http.status_code=500, produit.id=42 |
| Durée | Min 1s |
| Plage et limite | Dernière heure, 20 résultats |
Le nuage de points en haut des résultats place chaque trace selon sa date et sa durée : les points isolés en haut sont les requêtes lentes à examiner en priorité.
2. Lire une trace #
Chronologie et chemin critique.
La chronologie #
- Chaque ligne est un span, indenté sous son parent ; la barre montre sa position et sa durée.
- Un span en rouge est en erreur ; ses logs (événements) contiennent souvent l'exception.
- Le chemin critique (mis en évidence) est la suite de spans qui détermine la durée totale : optimiser hors de ce chemin ne réduit pas la latence.
- Des spans en escalier révèlent des appels séquentiels qui pourraient être parallélisés ; des dizaines de spans identiques révèlent un problème N+1.
Bonne Pratique : Cherchez d'abord le plus long span « feuille » (sans enfant) sur le chemin critique : c'est là que le temps est réellement passé.
Comparer deux traces #
La vue Compare superpose deux traces (une rapide, une lente) et colore les spans présents dans une seule ou de durées différentes : idéal pour comprendre pourquoi une même opération est parfois lente.
3. Vues de synthèse #
Au-delà d'une trace.
Dépendances et SPM #
| Vue | Contenu |
|---|---|
| System Architecture | Graphe des appels entre services, construit à partir des traces |
| Monitor (SPM) | Débit, taux d'erreurs et latence (RED) par service et opération, à partir de métriques dérivées des spans |
| Trace statistics | Statistiques agrégées des spans d'une trace par service et opération |
Le Service Performance Monitoring s'appuie sur le connecteur spanmetrics de l'OpenTelemetry Collector, qui transforme les spans en métriques stockées dans Prometheus ; Jaeger les interroge pour l'onglet Monitor.
connectors:
spanmetrics:
exporters:
prometheus: { endpoint: 0.0.0.0:8889 }
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [jaeger_storage_exporter, spanmetrics]
metrics/spanmetrics:
receivers: [spanmetrics]
exporters: [prometheus]