⚙️ Features

Tout ce qu'il faut pour
maîtriser le chaos

7 anomalies backend, 4 anomalies frontend, chaos scripting 3 niveaux, APM complet et 8 socles techniques — tout en un seul déploiement Docker.


💥 Chaos Engineering

Injection d'anomalies en temps réel

Activez et désactivez des pannes réelles sans redémarrer l'application. Trois niveaux d'intensité par anomalie.

💥 Chaos Admin Panel
perfshop-chaos.tests-performance.fr
🔴
Injection instantanée
Aucun redémarrage nécessaire — les anomalies sont injectées à chaud via l'API Spring Boot.
🎚️
3 niveaux d'intensité
Faible, Moyen, Critique — adaptez la pression selon l'objectif pédagogique ou le niveau de l'équipe.
📋
Audit trail complet
Chaque injection est horodatée et visible dans les traces Tempo — corrélation immédiate anomalie/impact.
🖥️ Backend — 7 anomalies
🧠
Memory Leak
JVM Heap
Fuite mémoire progressive simulée — la heap JVM monte jusqu'au GC storm, puis OOM. Observable en temps réel dans Grafana.
FaibleMoyenCritique
🐢
Slow Query
PostgreSQL
Injection de latence SQL — les requêtes s'allongent artificiellement, le p95 monte, le pool de connexions se sature.
FaibleMoyenCritique
🔒
Thread Pool Saturation
Tomcat
Le pool de threads HTTP se remplit — les nouvelles requêtes attendent ou échouent. Timeouts en cascade observables.
FaibleMoyenCritique
External Latency
HTTP Client
Simulation d'un service tiers lent — les appels externes ajoutent une latence configurable, le circuit breaker peut se déclencher.
FaibleMoyenCritique
💾
DB Connection Leak
HikariCP
Les connexions DB ne sont pas libérées — le pool HikariCP s'épuise progressivement jusqu'au rejet des nouvelles requêtes.
FaibleMoyenCritique
🔄
CPU Spike
JVM Thread
Thread en boucle infinie — la CPU monte et reste haute, dégradant toutes les requêtes en parallèle. Visible dans Pyroscope.
FaibleMoyenCritique
Error Rate Injection
HTTP 500
Injection d'un taux d'erreur configurable sur les endpoints — de 5% à 80% de 500. Teste la résilience des scripts et alertes.
5%30%80%
🖥️ Frontend — 4 anomalies
Render Blocking
React
Des calculs lourds bloquent le thread principal React — l'UI se fige, le score Lighthouse s'effondre. Mesurable avec WebVitals.
FaibleMoyenCritique
🌐
Network Throttling
XHR/Fetch
Les requêtes API depuis le front sont ralenties côté client — simule une connexion dégradée sans toucher l'infrastructure réseau.
FaibleMoyenCritique
💥
Memory Leak UI
React / DOM
Accumulation de listeners et de nœuds DOM non nettoyés — la mémoire navigateur monte progressivement jusqu'au crash de l'onglet.
FaibleMoyenCritique
🔁
Infinite Re-render
React State
Boucle de re-rendu React provoquée par un useEffect mal configuré — CPU navigateur à 100%, UI non responsive.
FaibleMoyenCritique

🧪 Chaos Fonctionnel — données & métier

Tester la robustesse fonctionnelle

Validations, règles métier, contrats API — injectez des données incorrectes et vérifiez que l'application résiste.

📋
Validation champs KO
Formulaires
Injection de valeurs invalides (email malformé, quantité négative, caractères spéciaux) — teste la robustesse des validations front et back.
FaibleMoyenCritique
💸
Données métier corrompues
Panier / Prix
Prix négatifs, stocks incohérents, calculs de panier erronés — vérifie que les règles métier restent intègres sous stress fonctionnel.
FaibleMoyenCritique
🔄
Réponses API incohérentes
REST / JSON
Champs manquants, types incorrects ou valeurs nulles dans les réponses JSON — teste la résilience du front face à des contrats API violés.
FaibleMoyenCritique

🤖 Chaos Automatisation — UFT & Selenium

L'automatisation mise à l'épreuve

Exécutez vos scripts UFT ou Selenium pendant les injections de chaos — détectez les régressions fonctionnelles causées par les anomalies.

🧬
Détection par scripts auto
UFT / Selenium
Scripts UFT ou Selenium rejoués pendant une injection — détection automatique des régressions fonctionnelles causées par les anomalies actives.
UFTSeleniumPlaywright
📸
Assertions visuelles sous stress
UI Testing
Vérification que l'interface reste cohérente sous charge — les scripts capturent les états dégradés : spinners infinis, messages d'erreur absents.
FaibleMoyenCritique
🔁
Scénarios de résilience E2E
End-to-End
Parcours complets (ajout panier → commande → paiement) automatisés et rejoués pendant les injections — valide le comportement de bout en bout.
FaibleMoyenCritique

☕ Chaos Développeur — Debug Java

Trouvez et corrigez le bug

Un problème Java est injecté dans l'application — NPE, deadlock, race condition. Le développeur l'identifie via les outils APM et le corrige.

🐛
Bug Java à identifier
Spring Boot
Un problème Java est injecté (NPE, deadlock, race condition, fuite de ressource) — identifié à partir des traces Tempo et flamegraphs Pyroscope.
NPEDeadlockRace condition
🔬
Diagnostic APM uniquement
Tempo / Pyroscope
Cause racine à trouver sans accès aux logs — uniquement via Tempo (traces) et Pyroscope (flamegraphs). Reproduit les conditions réelles de production.
GuidéSemi-guidéAutonome
Correction & validation
Code Review
Après correction, le scénario de charge est rejoué — les métriques doivent revenir à la normale. Validation complète via les outils d'observabilité.
FaibleMoyenCritique
📊 Observabilité

Stack APM complète intégrée

Prometheus, Grafana, Tempo et Pyroscope préconfigurés — zéro setup, corrélation métriques/traces/profiling out-of-the-box.

📈
Grafana + Prometheus
Dashboards pré-configurés JVM, HTTP, DB, chaos state. Alertes incluses.
🔍
Tempo — Distributed Tracing
Traces distribuées OpenTelemetry — suivez chaque requête de l'UI au SQL, anomalie visible dans la trace.
🔥
Pyroscope — Continuous Profiling
Flamegraphs CPU/mémoire en continu — identifiez le code qui consomme pendant les injections de chaos.
📊
Dashboard monitoring custom
Interface pédagogique simplifiée — métriques clés en temps réel, état du chaos, sparklines Chart.js.
📈 Grafana Dashboard
perfshop-grafana.tests-performance.fr

📜 Chaos Scripting

Scripting JMeter & k6

Scripts de charge fournis pour JMeter et k6, organisés en 3 niveaux de complexité pédagogique.

Scripts de base
Thread Groups, HTTP Samplers, assertions simples. Idéal pour démarrer et comprendre les fondamentaux du test de charge.
Scénarios réalistes
Corrélations dynamiques, paramétrage CSV, think time, montée en charge progressive. Scénarios e-commerce complets.
Chaos + observabilité
Scripts coordonnés avec injections chaos — déclenchement automatique d'anomalies pendant le test, corrélation métriques.
Scripts ES6 basiques
VUs, durée, thresholds simples. Import des bibliothèques k6 standard. Idéal pour les équipes DevOps habituées au JS.
Scenarios & checks
Scenarios multiples, checks avancés, gestion des sessions, export Prometheus / Grafana Cloud. SLO intégrés.
Chaos orchestration
Orchestration chaos depuis k6 — appels API chaos synchronisés avec la montée de charge, scénarios de résilience complets.

🗄️ Multi-socles

8 technologies, une seule plateforme

Chaque socle dispose de ses propres anomalies, métriques et dashboards Grafana dédiés.

🐘
PostgreSQL
SQL · Relationnel
🐬
MySQL / MariaDB
SQL · Relationnel
🍃
MongoDB
NoSQL · Document
Redis
NoSQL · Cache
📨
Apache Kafka
Messaging · Streaming
🐇
RabbitMQ
Messaging · AMQP
🔍
Elasticsearch
Search · Analytics
🐳
Docker Compose
Infrastructure · IaC

Prêt à former vos équipes ?

Déployez en 5 minutes. Usage personnel libre — licence requise dès le premier usage professionnel.

▶ Voir la démo live 💳 Obtenir une licence