Analyse des tendances et référence dans la CI
Suivez les performances au fil du temps entre les exécutions de la chaîne CI en enregistrant des références et en détectant automatiquement les régressions avant leur livraison.
Analyse des tendances et référence dans la CI est une leçon Load Testing & Performance Benchmarking (JMeter & k6) gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Load Testing & Performance Benchmarking (JMeter & k6), et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Load Testing & Performance Benchmarking (JMeter & k6) comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
A Single Run Is Not Enough
Pass/fail gates catch obvious breakage, but slow drift over weeks is invisible to a single run. Baselining compares each build against historical performance to catch creeping regressions.
What Is a Baseline?
A baseline is a stored reference result, usually the metrics from a known-good build. New runs are measured against it. Common baselines are the previous release or a rolling average of recent runs.
Tagging Runs for Trends
To compare across builds, tag each run with a unique identifier such as the commit SHA or build number. This lets the backend separate and chart each run.
k6 run --tag testid=$GIT_COMMIT --out influxdb=http://metrics:8086/k6 perf.jsStoring Results Over Time
Persist results in a time-series database (InfluxDB, Prometheus) or a results store. Without persistence there is no history to trend against.
Defining Acceptable Drift
Decide how much regression is tolerable, for example p95 may not exceed the baseline by more than 10%. Encode this as a comparison step in the pipeline.
BASELINE_P95=400
MAX_ALLOWED=$((BASELINE_P95 * 110 / 100))
echo "Threshold: $MAX_ALLOWED ms"Comparing Against Baseline
A small script can read the new p95 from the k6 JSON summary and fail the build if it exceeds the allowed drift.
P95=$(jq '.metrics.http_req_duration.values["p(95)"]' summary.json)
if (( $(echo "$P95 > $MAX_ALLOWED" | bc -l) )); then
echo 'Regression detected'
exit 1
fiRolling Baselines
Instead of one fixed reference, a rolling baseline averages the last N runs. This adapts to gradual, intentional changes while still flagging sudden regressions.
Visualizing Trends
A Grafana panel of p95 over build numbers makes drift obvious to the whole team. A slowly rising line is a warning even when every individual build passed its gate.
Avoiding Noisy Baselines
Run performance tests on consistent, isolated infrastructure. Comparing against a baseline collected on noisy shared hardware produces false regressions and erodes trust.
Updating the Baseline
When a release intentionally changes performance, promote its result to the new baseline. Automate this so the reference stays current without manual edits.
Annotating Releases
Mark deploys and config changes on your trend charts. An annotation at the exact build where p95 jumped turns a mysterious line into an obvious culprit.
Quick Check
Test your trend-analysis knowledge.
Recap
You learned to trend performance in CI.
- Tag and persist every run for history.
- Define acceptable drift and compare new runs to a baseline.
- Use rolling baselines and clean infrastructure to avoid noise.
Questions Fréquemment Posées
La leçon « Analyse des tendances et référence dans la CI » est-elle gratuite ?
Oui — le texte complet de « Analyse des tendances et référence dans la CI » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Load Testing & Performance Benchmarking (JMeter & k6), passe à CoddyKit PRO. Le cours Load Testing & Performance Benchmarking (JMeter & k6) comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Analyse des tendances et référence dans la CI » ?
Suivez les performances au fil du temps entre les exécutions de la chaîne CI en enregistrant des références et en détectant automatiquement les régressions avant leur livraison. Tu pratiques Load Testing & Performance Benchmarking (JMeter & k6) avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Load Testing & Performance Benchmarking (JMeter & k6) ?
Aucune expérience préalable n'est requise. Load Testing & Performance Benchmarking (JMeter & k6) sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Analyse des tendances et référence dans la CI » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Load Testing & Performance Benchmarking (JMeter & k6) ?
Oui. Chaque leçon Load Testing & Performance Benchmarking (JMeter & k6) inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Intégration de JMeter avec Jenkins
- k6 dans GitHub Actions
- Seuils de performance et SLO
- Analyse des tendances et référence dans la CI