Supported OS

Versión de la integración1.0.0

Información general

k6 es una herramienta de tests de carga de código abierto que te ayuda a detectar problemas de rendimiento y regresiones de forma temprana.

Con la integración de k6, puedes realizar un rastreo de las métricas de rendimiento de tests de k6 para:

  • Correlacionar el rendimiento de la aplicación con las métricas de tests de carga.
  • Crear alertas basadas en métricas de tests de rendimiento.
  • Analiza y visualiza métricas de k6 utilizando el dashboard de k6 Datadog o el Explorador de métricas.

Dashboard de k6 Datadog

Configuración

Para obtener instrucciones detalladas, consulta la documentación de k6.

Instalación

  1. En Datadog, ve a Integrations (Integraciones) > API y copia tu clave de API.

  2. Ejecuta el Datadog Agent:

    Para introducir métricas de k6 en Datadog, k6 envía métricas a través del Datadog Agent, que las recopila, agrega y reenvía a la plataforma Datadog.

    Ejecuta el servicio Datadog Agent como un contenedor Docker con este comando:

    DOCKER_CONTENT_TRUST=1 \
    docker run -d \
        --name datadog \
        -v /var/run/docker.sock:/var/run/docker.sock:ro \
        -v /proc/:/host/proc/:ro \
        -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
        -e DD_SITE="datadoghq.com" \
        -e DD_API_KEY=<YOUR_DATADOG_API_KEY> \
        -e DD_DOGSTATSD_NON_LOCAL_TRAFFIC=1 \
        -p 8125:8125/udp \
        datadog/agent:latest
    

    Nota: Sustituye <YOUR_DATADOG_API_KEY> por tu clave de API. Si tu cuenta está registrada con Datadog EU, cambia el valor de DD_SITE por datadoghq.eu.

  3. Ejecuta el test de k6 y envía los resultados a Datadog.

    Una vez ejecutado el servicio Datadog Agent, ejecuta el test k6 y envía las métricas al Agent con:

    K6_STATSD_ENABLE_TAGS=true k6 run --out xk6-output-statsd script.js
    
  4. Visualiza las métricas de k6 en Datadog.

    Mientras ejecuta el test, k6 envía métricas periódicamente a Datadog. Por defecto, estas métricas tienen k6. como prefijo del nombre.

    Puedes visualizar las métricas de k6 en tiempo real a través del Explorador de métricas, los monitores o los dashboards personalizados.

    Explorador de métricas de k6 Datadog

    Además, la primera vez que Datadog detecta la métrica k6.http_reqs, el cuadro de la integración k6 se instala automáticamente y el dashboard k6 predeterminado se añade a tu lista de dashboards.

    Dashboard de k6 Datadog

Datos recopilados

Métricas

k6.data_sent
(count)
Cantidad de datos enviados
Se muestra en bytes
k6.data_received
(count)
Cantidad de datos recibidos
Se muestra en bytes
k6.http_req_blocked.avg
(gauge)
Tiempo medio transcurrido en estado de bloqueo antes de iniciar la solicitud
Se muestra en milisegundos
k6.http_req_blocked.max
(gauge)
Tiempo máximo transcurrido en estado de bloqueo antes de iniciar la solicitud
Se muestra en milisegundos
k6.http_req_blocked.median
(gauge)
Mediana del tiempo transcurrido en estado de bloqueo antes de iniciar la solicitud
Se muestra en milisegundos
k6.http_req_blocked.95percentile
(gauge)
95.ª vez transcurrida en estado de bloqueo antes de iniciar la solicitud
Se muestra en milisegundos
k6.http_req_blocked.99percentile
(gauge)
99.ª vez transcurrida en estado de bloqueo antes de iniciar la solicitud
Se muestra en milisegundos
k6.http_req_blocked.count
(rate)
Número de valores http_req_blocked enviados durante el intervalo
Se muestra como unidad
k6.http_req_connecting.avg
(gauge)
Tiempo medio empleado estableciendo conexiones TCP
Se muestra en milisegundos
k6.http_req_connecting.max
(gauge)
Tiempo máximo empleado estableciendo conexiones TCP
Se muestra en milisegundos
k6.http_req_connecting.median
(gauge)
Mediana del tiempo empleado estableciendo conexiones TCP
Se muestra en milisegundos
k6.http_req_connecting.95percentile
(gauge)
95.ª vez transcurrida en estado de bloqueo antes de iniciar la solicitud
Se muestra en milisegundos
k6.http_req_connecting.99percentile
(gauge)
99.ª vez transcurrida en estado de bloqueo antes de iniciar la solicitud
Se muestra en milisegundos
k6.http_req_connecting.count
(rate)
Número de valores http_req_connecting enviados durante el intervalo
Se muestra como unidad
k6.http_req_duration.avg
(gauge)
Tiempo medio de solicitud
Se muestra en milisegundos
k6.http_req_duration.max
(gauge)
Tiempo máximo de solicitud
Se muestra en milisegundos
k6.http_req_duration.median
(gauge)
Mediana del tiempo de solicitud
Se muestra en milisegundos
k6.http_req_duration.95percentile
(gauge)
Episodio de solicitud 95
Se muestra en milisegundos
k6.http_req_duration.99percentile
(gauge)
Episodio de solicitud 99
Se muestra en milisegundos
k6.http_req_duration.count
(rate)
Número de valores http_req_duration enviados durante el intervalo
Se muestra como unidad
k6.http_reqs
(count)
Número total de solicitudes HTTP
Se muestra como solicitud
k6.http_req_receiving.avg
(gauge)
Tiempo medio transcurrido recibiendo datos de respuesta
Se muestra en milisegundos
k6.http_req_receiving.max
(gauge)
Tiempo máximo transcurrido recibiendo datos de respuesta
Se muestra en milisegundos
k6.http_req_receiving.median
(gauge)
Mediana del tiempo transcurrido recibiendo datos de respuesta
Se muestra en milisegundos
k6.http_req_receiving.95percentile
(gauge)
95.ª vez transcurrida recibiendo datos de respuesta
Se muestra en milisegundos
k6.http_req_receiving.99percentile
(gauge)
99.ª vez transcurrida recibiendo datos de respuesta
Se muestra en milisegundos
k6.http_req_receiving.count
(rate)
Número de valores http_req_receiving enviados durante el intervalo
Se muestra como unidad
k6.http_req_sending.avg
(gauge)
Tiempo medio transcurrido enviando datos
Se muestra en milisegundos
k6.http_req_sending.max
(gauge)
Tiempo máximo transcurrido enviando datos
Se muestra en milisegundos
k6.http_req_sending.median
(gauge)
Mediana del tiempo transcurrido enviando datos
Se muestra en milisegundos
k6.http_req_sending.95percentile
(gauge)
95.ª vez transcurrida enviando datos
Se muestra en milisegundos
k6.http_req_sending.99percentile
(gauge)
99.ª vez transcurrida enviando datos
Se muestra en milisegundos
k6.http_req_sending.count
(rate)
Número de valores http_req_sending enviados durante el intervalo
Se muestra como unidad
k6.http_req_tls_handshaking.avg
(gauge)
Tiempo medio transcurrido en el handshaking de sesiones TLS
Se muestra en milisegundos
k6.http_req_tls_handshaking.max
(gauge)
Tiempo máximo transcurrido en el handshaking de sesiones TLS
Se muestra en milisegundos
k6.http_req_tls_handshaking.median
(gauge)
Mediana del tiempo transcurrido en el handshaking de sesiones TLS
Se muestra en milisegundos
k6.http_req_tls_handshaking.95percentile
(gauge)
95.ª vez transcurrida en el handshaking de sesiones TLS
Se muestra en milisegundos
k6.http_req_tls_handshaking.99percentile
(gauge)
99.ª vez transcurrida en el handshaking de sesiones TLS
Se muestra en milisegundos
k6.http_req_tls_handshaking.count
(rate)
Número de valores http_req_tls_handshaking enviados durante el intervalo
Se muestra como unidad
k6.http_req_waiting.avg
(gauge)
Tiempo medio transcurrido a la espera de respuestas (TTFB)
Se muestra en milisegundos
k6.http_req_waiting.max
(gauge)
Tiempo máximo transcurrido a la espera de respuestas (TTFB)
Se muestra en milisegundos
k6.http_req_waiting.median
(gauge)
Mediana del tiempo transcurrido a la espera de respuestas (TTFB)
Se muestra en milisegundos
k6.http_req_waiting.95percentile
(gauge)
95.ª vez transcurrida a la espera de respuestas (TTFB)
Se muestra en milisegundos
k6.http_req_waiting.99percentile
(gauge)
99.ª vez transcurrida a la espera de respuestas (TTFB)
Se muestra en milisegundos
k6.http_req_waiting.count
(rate)
Número de valores http_req_waiting enviados durante el intervalo
Se muestra como unidad
k6.iteration_duration.avg
(gauge)
Tiempo medio transcurrido en una iteración de VU
Se muestra en milisegundos
k6.iteration_duration.max
(gauge)
Tiempo máximo transcurrido en una iteración de VU
Se muestra en milisegundos
k6.iteration_duration.median
(gauge)
Mediana del tiempo transcurrido en una iteración de VU
Se muestra en milisegundos
k6.iteration_duration.95percentile
(gauge)
95.ª vez transcurrida en una iteración de VU
Se muestra en milisegundos
k6.iteration_duration.99percentile
(gauge)
99.ª vez transcurrida en una iteración de VU
Se muestra en milisegundos
k6.iteration_duration.count
(rate)
Número de valores de iteration_duration enviados durante el intervalo
Se muestra como unidad
k6.iterations
(count)
Número agregado de iteraciones de VU
Se muestra como unidad
k6.vus
(gauge)
Número actual de usuarios virtuales activos
Se muestra como usuario
k6.vus_max
(gauge)
Número máximo posible de usuarios virtuales
Se muestra como usuario

Checks de servicio

La integración de k6 no incluye ningún check de servicio.

Eventos

La integración de k6 no incluye ningún evento.

Solucionar problemas

¿Necesitas ayuda? Consulta la documentación de k6 Datadog o ponte en contacto con el servicio de asistencia de k6.