CursosEmpresasBlogLiveConfPrecios

Rate Metric

Clase 14 de 27 • Curso de Performance Testing en Node.js con K6

Clase anteriorSiguiente clase
    manuel pineda

    manuel pineda

    student•
    hace 3 años

    dejo mi solucion:

    import { Rate } from 'k6/metrics'; import http from 'k6/http'; import { randomIntBetween } from 'https://jslib.k6.io/k6-utils/1.4.0/index.js'; export const options = { vus: 10, duration: '10s' }; const porcentOk = new Rate('products found'); export default function () { const number = randomIntBetween(1, 300) const res = http.get(`https://api.escuelajs.co/api/v1/products/${number}`); porcentOk.add(res.status === 200 ? 1 : 0); }!
      Jefferson Dariel Hilario Jiménez

      Jefferson Dariel Hilario Jiménez

      student•
      hace 2 años

      Buena esa del operador ternario

      Juan José Mamani Tarqui

      Juan José Mamani Tarqui

      student•
      hace 2 años

      Excelente solucion

    CRISTIAN DAVID ARENAS GOMEZ

    CRISTIAN DAVID ARENAS GOMEZ

    student•
    hace 3 años

    Gente aquí les dejo mi solución al reto:

    import http from 'k6/http'; // importa el módulo HTTP de K6 para hacer peticiones import { Rate } from 'k6/metrics'; // importa el módulo Metrics de K6 para manejar métricas de pruebas export const options = { vus: 10, // número de usuarios virtuales que simularán la carga en la aplicación duration: '20s' // tiempo total de ejecución de la prueba } const myRate = new Rate('called_products'); // instancia un objeto de tipo Rate con nombre 'called_products' const random = (min, max) => { // función que genera un número aleatorio en un rango dado return Math.floor(Math.random() * (max - min)) + min; } export default function testEcommerceAPI() { const random_product = random(1, 300); // llama a la función random para obtener un número aleatorio entre 1 y 300 // realiza una petición GET a la API con el número aleatorio generado const request = http.get(`https://api.escuelajs.co/api/v1/products/${random_product}`); // si el estado de la respuesta es 400, agrega un valor de 0 a la métrica 'called_products', de lo contrario agrega 1 request.status === 400 ? myRate.add(0) : myRate.add(1); }
    Ruth Recalde

    Ruth Recalde

    student•
    hace 2 años

    En mi caso el porcentaje no cambiaba entonces la solución fue cambiar el if a:

    if (request404.status === 400) { myRate.add(0); }

    es decir, al final es un error del tipo 400 no 404

    Facundo Carroz

    Facundo Carroz

    student•
    hace 3 años

    Hola 🖐. Aquí dejo mi resolución del reto 😄

    import http from 'k6/http'; import { Rate } from 'k6/metrics'; export const options = { vus: 10, duration: '20s' } const rate = new Rate("exists_product"); export default function(){ const randomProduct = random(1, 300);// Return random value between 1 and 300 const response = http.get("https://api.escuelajs.co/api/v1/products/" + String(randomProduct)); // If the response status equals 400 if(response.status === 400){ rate.add(0); } else{ rate.add(1); } } function random(min, max) { return Math.floor((Math.random() * (max - min + 1)) + min); }
    Luifer Eduardo Ortega Perez

    Luifer Eduardo Ortega Perez

    student•
    hace 6 meses

    Mi solución

    import http from 'k6/http'; import {Rate} from 'k6/metrics'; export const options = { vus: 10, duration: '20s', } const myRate = new Rate("called_products"); export default function() { let numberRandom = Math.floor(Math.random() * 300) + 1; const request = http.get(`https://api.escuelajs.co/api/v1/products/${numberRandom}`); if (request.status === 400 || request.status === 404) { myRate.add(0); } else { myRate.add(1); } } ```import http from 'k6/http';import {Rate} from 'k6/metrics'; export const options = {  vus: 10,  duration: '20s',} const myRate = new Rate("called\_products"); export default function() {  let numberRandom = Math.floor(Math.random() \* 300) + 1;   const request = http.get(`https://api.escuelajs.co/api/v1/products/${numberRandom}`);  if (request.status === 400 || request.status === 404) {    myRate.add(0);  } else {    myRate.add(1);  }}
    Irving Juárez

    Irving Juárez

    student•
    hace 6 meses

    El valor que se puede agregar puede ser un numero o un booleano

    Jefferson Dariel Hilario Jiménez

    Jefferson Dariel Hilario Jiménez

    student•
    hace 2 años

    Para este caso con un if else es sencillo

    import http from "k6/http"; import { Rate} from "k6/metrics"; export const options = { vus: 10, duration: "20s" } const myRate = new Rate("called_products") export default function(){ var min = 1; var max = 300; var randomPrduct = Math.floor(Math.random() * (max - min + 1)) + min; const request = http.get(`https://api.escuelajs.co/api/v1/products/${randomPrduct}`); if (request.status ===400){ myRate.add(0); } else{ myRate.add(1) } }

Escuelas

  • Desarrollo Web
  • English Academy
  • Marketing Digital
  • Inteligencia Artificial y Data Science
  • Ciberseguridad
  • Liderazgo y Habilidades Blandas
  • Diseño de Producto y UX
  • Contenido Audiovisual
  • Desarrollo Móvil
  • Diseño Gráfico y Arte Digital
  • Programación
  • Negocios
  • Blockchain y Web3
  • Recursos Humanos
  • Finanzas e Inversiones
  • Startups
  • Cloud Computing y DevOps

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads