Load Testing & Performance Benchmarking (JMeter & k6) · Leçon

Métriques personnalisées et tendances dans k6

Définissez vos propres métriques Counter, Gauge, Rate et Trend dans k6 afin de mesurer précisément ce qui compte pour vos scénarios avancés.

Leçon 4 sur 413 étapes

Métriques personnalisées et tendances dans k6 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.

Beyond Built-in Metrics

k6 ships with built-in metrics like http_req_duration, but advanced tests often need to measure domain-specific values: items in a cart, business transaction time, or a custom error rate. k6 lets you create custom metrics.

The Four Metric Types

k6 offers four custom metric types from k6/metrics:

  • Counter — cumulative sum.
  • Gauge — last recorded value.
  • Rate — percentage of non-zero/true values.
  • Trend — statistics like min, max, avg, p95.

Importing Metric Constructors

Import the constructors you need and create the metric objects in module scope so they are shared across iterations.

import { Counter, Trend, Rate, Gauge } from 'k6/metrics';

A Counter Example

A Counter accumulates a value over the whole test. Here we count how many orders were created.

const ordersCreated = new Counter('orders_created');

export default function () {
  ordersCreated.add(1);
}

A Trend for Timing

A Trend collects a series of numbers and reports statistics. It is ideal for timing custom logic.

import http from 'k6/http';
const loginTime = new Trend('login_time');

export default function () {
  const res = http.post('https://test.k6.io/login');
  loginTime.add(res.timings.duration);
}

A Rate for Success Ratio

A Rate tracks how often a condition is true. Add true or false and k6 reports the percentage of trues.

const successRate = new Rate('success_rate');
successRate.add(res.status === 200);

A Gauge for Last Value

A Gauge keeps only the most recent value you add. Use it for things like the current queue length reported by an endpoint.

const queueDepth = new Gauge('queue_depth');
queueDepth.add(42);

Tagging Custom Metrics

Just like built-in metrics, you can attach tags when adding a value. This lets you slice your custom metric by endpoint or feature.

loginTime.add(res.timings.duration, { region: 'eu' });

Thresholds on Custom Metrics

Custom metrics integrate fully with thresholds. You can fail a run if your business metric crosses a limit.

export const options = {
  thresholds: {
    login_time: ['p(95)<500'],
    success_rate: ['rate>0.98'],
  },
};

Reading Custom Metrics in Summary

At the end of a run, custom metrics appear in the end-of-test summary alongside built-in ones, showing the appropriate statistics for their type.

k6 run scenario.js

Choosing the Right Type

Picking the correct metric type matters: use a Trend for durations, a Rate for success ratios, a Counter for totals, and a Gauge for snapshot values. The wrong type gives misleading summaries.

Quick Check

Pick the right metric type for the job.

Recap

You can now extend k6 with custom metrics.

  • Counter sums, Gauge keeps the last value, Rate tracks ratios, Trend reports stats.
  • Add tags and thresholds to custom metrics for targeted SLOs.
  • They appear in the summary and any output backend.
Gratuit pour commencer

Apprends Load Testing & Performance Benchmarking (JMeter & k6) avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
12
Leçons
48

Questions Fréquemment Posées

La leçon « Métriques personnalisées et tendances dans k6 » est-elle gratuite ?

Oui — le texte complet de « Métriques personnalisées et tendances dans k6 » 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 « Métriques personnalisées et tendances dans k6 » ?

Définissez vos propres métriques Counter, Gauge, Rate et Trend dans k6 afin de mesurer précisément ce qui compte pour vos scénarios avancés. 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 « Métriques personnalisées et tendances dans k6 » ?

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

  1. Scénarios d’utilisateurs virtuels (VU)
  2. Paramétrage des données dans k6
  3. Exécution dans le cloud avec k6
  4. Métriques personnalisées et tendances dans k6
← Retour à Load Testing & Performance Benchmarking (JMeter & k6)