JMeter

Supported OS Linux Mac OS Windows

Información general

Datadog Backend Listener para Apache JMeter es un complemento de JMeter de código abierto utilizado para enviar los resultados de los tests a la plataforma de Datadog. Proporciona informes en tiempo real de las métricas de test como la latencia, el número de bytes enviados y recibidos, etc. También puedes enviar a Datadog los resultados completos de los tests como entradas de log.

Configuración

Instalación

El complemento Datadog Backend Listener debe instalarse manualmente. Consulta la última versión y las instrucciones de instalación más actualizadas en tu repositorio de GitHub.

Instalación manual

  1. Descarga el archivo JAR del complemento de Datadog desde la página de la versión.
  2. Coloca el JAR en el directorio lib/ext dentro de tu instalación de JMeter.
  3. Inicia JMeter (o sal de la aplicación y vuelve a abrirla).

Administrador de complementos de JMeter

  1. Si aún no está configurado, descarga el JAR de administrador de complementos de JMeter.
  2. Una vez completada la descarga, coloca .jar en el directorio lib/ext dentro de tu instalación de JMeter.
  3. Inicia JMeter (o sal de la aplicación y vuelve a abrirla).
  4. Visita Options > Plugins Manager > Available Plugins.
  5. Busca “Datadog Backend Listener”.
  6. Haz clic en la casilla situada junto al complemento Datadog Backend Listener.
  7. Haz clic en “Apply Changes and Restart JMeter” (Aplicar cambios y reiniciar JMeter).

Configuración

Para empezar a informar métricas a Datadog:

  1. Haz clic con el botón derecho del ratón en el grupo de subprocesos o en el plan de tests para el que deseas enviar métricas a Datadog.
  2. Visita Add > Listener > Backend Listener.
  3. Modifica la Backend Listener Implementation y selecciona org.datadog.jmeter.plugins.DatadogBackendClient en el menú desplegable.
  4. Establece la variable apiKey en tu clave de API de Datadog.
  5. Ejecuta tu test y valida que las métricas han aparecido en Datadog.

El complemento dispone de las siguientes opciones de configuración:

NombreObligatorioValor por defectodescripción
apiKeytrueNATu clave de API de Datadog.
datadogUrlfalsehttps://api.datadoghq.com/api/Puedes configurar un endpoint diferente, por ejemplo https://api.datadoghq.eu/api/ si tu instancia de Datadog se encuentra en la UE.
logIntakeUrlfalsehttps://http-intake.logs.datadoghq.com/v1/input/Puedes configurar un endpoint diferente, por ejemplo: https://http-intake.logs.datadoghq.eu/v1/input/ si tu instancia de Datadog se encuentra en la UE.
metricsMaxBatchSizefalse200Las métricas se envían cada 10 segundos en lotes de tamaño metricsMaxBatchSize.
logsBatchSizefalse500Los logs se envían en lotes de tamaño logsBatchSize en cuanto se alcanza este tamaño.
sendResultsAsLogsfalsefalsePor defecto, sólo se informan métricas a Datadog. Para notificar resultados de tests individuales como eventos de logs, configura este campo como true.
includeSubresultsfalsefalseUn subresultado se produce, por ejemplo, cuando una solicitud HTTP individual tiene que seguir redirecciones. Por defecto, los subresultados se ignoran.
excludeLogsResponseCodeRegexfalse""Si seleccionas sendResultsAsLogs, todos los resultados se enviarán por defecto como logs a Datadog. Esta opción permite excluir los resultados cuyo código de respuesta coincida con una expresión regular determinada. Por ejemplo, puedes establecer esta opción en [123][0-5][0-9] para enviar sólo los errores.
samplersRegexfalse.*Una expresión regular opcional para filtrar los muestreadores a monitorizar.
customTagsfalse""Lista de etiquetas (tags) separada por comas para añadir a cada métrica

Datos recopilados

Métricas

jmeter.byte_received.avg
(gauge)
Average value of the number of bytes received.
Shown as byte
jmeter.byte_received.count
(gauge)
Number of samples used to compute the bytes received distribution.
Shown as request
jmeter.byte_received.max
(gauge)
Maximum value of the number of bytes received.
Shown as byte
jmeter.byte_received.min
(gauge)
Minimum value of the number of bytes received.
Shown as byte
jmeter.byte_received.p90
(gauge)
P90 value of the number of bytes received.
Shown as byte
jmeter.byte_received.p95
(gauge)
P95 value of the number of bytes received.
Shown as byte
jmeter.byte_received.p99
(gauge)
P99 value of the number of bytes received.
Shown as byte
jmeter.byte_sent.avg
(gauge)
Average value of the number of bytes sent.
Shown as byte
jmeter.byte_sent.count
(gauge)
Number of samples used to compute the bytes sent distribution.
Shown as request
jmeter.byte_sent.max
(gauge)
Maximum value of the number of bytes sent.
Shown as byte
jmeter.byte_sent.min
(gauge)
Minimum value of the number of bytes sent.
Shown as byte
jmeter.byte_sent.p90
(gauge)
P90 value of the number of bytes sent.
Shown as byte
jmeter.byte_sent.p95
(gauge)
P95 value of the number of bytes sent.
Shown as byte
jmeter.byte_sent.p99
(gauge)
P99 value of the number of bytes sent.
Shown as byte
jmeter.latency.avg
(gauge)
Average value of the latency.
Shown as second
jmeter.latency.count
(gauge)
Number of samples used to compute the latency distribution.
Shown as request
jmeter.latency.max
(gauge)
Maximum value of the latency.
Shown as second
jmeter.latency.min
(gauge)
Mininimum value of the latency.
Shown as second
jmeter.latency.p90
(gauge)
P90 value of the latency.
Shown as second
jmeter.latency.p95
(gauge)
P95 value of the latency.
Shown as second
jmeter.latency.p99
(gauge)
P99 value of the latency.
Shown as second
jmeter.response_time.avg
(gauge)
Average value of the response time.
Shown as second
jmeter.response_time.count
(gauge)
Number of samples used to compute the response time distribution.
Shown as request
jmeter.response_time.max
(gauge)
Maximum value of the response time.
Shown as second
jmeter.response_time.min
(gauge)
Minimum value of the response time.
Shown as second
jmeter.response_time.p90
(gauge)
P90 value of the response time.
Shown as second
jmeter.response_time.p95
(gauge)
P95 value of the response time.
Shown as second
jmeter.response_time.p99
(gauge)
P99 value of the response time.
Shown as second
jmeter.responses_count
(count)
Count of the number of responses received by sampler and by status.
Shown as response

Checks de servicio

JMeter no incluye ningún check de servicio.

Eventos

JMeter no incluye ningún evento.

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el soporte de Datadog.

Referencias adicionales

Más enlaces, artículos y documentación útiles: