Aller au contenu

Session 11 — Revue code Java, corrections APM, Chaos Fonctionnel & évaluation commerciale

Durée : ~6 heures Conversations : 1 Objectif initial : Revue de code Java (4 WARN), correction dashboards APM, documentation Chaos Fonctionnel Objectif final : WARN corrigés, dashboards APM propres, chaos/functional.md créé, évaluation commerciale générée


✅ Ce qui a été livré

Revue de code Java — corrections WARN : - SecurityTokenService.java — Fix I3 : validateToken(null) retournait true si un token existait en session → désormais false systématiquement. Javadoc mise à jour. - CpuChaosScheduler.java — Fix W1 : suppression de 3 imports orphelins (Future, ArrayList, List) issus d'une refactorisation antérieure. Comportement runtime inchangé - Points INFO acceptés tels quels (W2 mot de passe admin clair, I2 HMAC_SECRET visible, I4 volatile+synchronized surdimensionné, I5 méthode public cosmétique)

Corrections dashboards APM Grafana : - dashboard-apm-eleve.json — 3 panels traces_spanmetrics_* basculés sur métriques Micrometer natives (http_server_requests_seconds_*) - dashboard-apm-eleve.json — variable DS_PYROSCOPE ajoutée au templating (manquante) - dashboard-apm-eleve.json — 3 nouveaux panels flamegraph ajoutés (CPU perf_event, CPU itimer, Lock Contention) + y du bouton Heap Dump corrigé - dashboard-apm-formateur.json — Regex P95 /api/orders corrigée (.*/orders.*/api/orders.*) - dashboard-apm-formateur.json — TraceQL X-Admin-Token corrigée (x_admin_tokenx-admin-token, convention OTel tirets)

Documentation MkDocs : - chaos/functional.md créé — page complète : niveaux, détail F1/F2/F3, corrélation APM, requête TraceQL, Pyroscope flamegraph heap, combinaisons pédagogiques - mkdocs.yml mis à jour — Chaos Fonctionnel déplacé de À VenirChaos Engineering - chaos/intro.md mis à jour — 5 familles de chaos, lignes F1/F2/F3 dans le tableau de corrélation

Évaluation commerciale : - PerfShop_Evaluation_Commerciale.docx + .md générés — prompt neutre 6 sections pour soumission multi-IA


🤖 Erreurs imputables à Claude AI — Session 11


❌ Erreur S11-1 — Query Kubernetes hors scope

Ce que j'ai proposé : Réponse approfondie sur la migration Kubernetes avant même de calibrer sur l'intention (stratégique vs implémentation concrète).

Ce qui s'est passé : La réponse était correcte dans le fond mais non calibrée sur la vraie question.

Temps perdu : 0 min | Sévérité : ⭐


❌ Erreur S11-2 — traces_spanmetrics_calls_total sans vérifier la config Tempo

Ce que j'ai proposé : 3 panels du dashboard élève utilisant traces_spanmetrics_calls_total.

Ce qui s'est passé : Cette métrique n'existe que si le pipeline spanmetrics est activé dans tempo-config.yml, ce qui n'est pas le cas. Les panels affichaient "No data" en production alors que les métriques Micrometer natives étaient disponibles.

Pourquoi c'était une erreur : J'aurais dû vérifier la config Tempo avant de livrer des panels qui en dépendent. Le Syndrome du Fix Théorique Sans Validation Empirique — déjà identifié en sessions précédentes.

Temps perdu : ~20 min | Sévérité : ⭐⭐⭐


❌ Erreur S11-3 — Attribut TraceQL x_admin_token avec underscore

Ce que j'ai proposé : Query TraceQL {span.http.request.header.x_admin_token != ""}.

Ce qui s'est passé : La convention OTel normalise les headers HTTP avec tirets (x-admin-token), pas underscores. La query retournait toujours 0 résultats.

Pourquoi c'était une erreur : La spécification OpenTelemetry http.request.header.* normalise les noms de headers en minuscules avec tirets. Non vérifié dans la spec OTel avant livraison.

Temps perdu : ~10 min | Sévérité : ⭐⭐


📊 Récapitulatif Session 11

# Erreur Temps perdu Sévérité
S11-1 Réponse Kubernetes non calibrée sur l'intention 0 min
S11-2 traces_spanmetrics_* sans vérifier config Tempo ~20 min ⭐⭐⭐
S11-3 x_admin_token underscore au lieu de tiret (OTel) ~10 min ⭐⭐
TOTAL ~30 min

Pattern : Le Syndrome du Fix Théorique Sans Validation Empirique (S11-2) — livraison de panels dépendant d'une feature non activée dans la config. Pattern déjà identifié en sessions 1, 8, 12. À surveiller systématiquement : vérifier que la source de données existe réellement avant de l'utiliser.


🎓 Conclusion Session 11

Clore les 2 WARN de la revue de codeSecurityTokenService (I3) et CpuChaosScheduler (W1) corrigés ✅ Dashboards APM opérationnels — 5 corrections ciblées, 3 nouveaux flamegraphs dans le dashboard élève ✅ Chaos Fonctionnel documentéchaos/functional.md complet, intégré dans la nav MkDocs ✅ Évaluation commerciale — prompt neutre multi-IA livré en .docx et .md

Ratio temps productif / temps total : ~92%