Integracion OpenTelemetry (OTLP)

Enviar metricas de pruebas de carga por OpenTelemetry

La integracion OpenTelemetry exporta las metricas en vivo de sus pruebas de carga a traves del protocolo OpenTelemetry (OTLP) a cualquier backend compatible con OTLP, para que pueda seguir una prueba en la misma herramienta que ya usa para observabilidad. Funciona con Honeycomb, Grafana Cloud, New Relic, Datadog, Dynatrace, Elastic y cualquier OpenTelemetry Collector autoalojado.

Modal de configuracion de OpenTelemetry en LoadFocus con los campos nombre, endpoint OTLP, protocolo y headers

Crear la integracion

  1. Vaya a Account > Integration Settings.
  2. Haga clic en New Integration y elija OpenTelemetry.
  3. Complete los campos siguientes y haga clic en Save integration.

Campos de la integracion

  • Name: Una etiqueta para esta integracion, por ejemplo Honeycomb HTTP.
  • OTLP Endpoint: A donde se envian las metricas.
    • Para HTTP (protobuf), use la URL base incluyendo el esquema, por ejemplo https://api.honeycomb.io. LoadFocus anade /v1/metrics por usted.
    • Para gRPC, use host:port, por ejemplo api.honeycomb.io:443. Si omite el esquema, se asume https://.
  • Protocol: HTTP (protobuf) (el valor por defecto, funciona en todas partes) o gRPC.
  • Headers: Pares key=value separados por comas para la autenticacion, por ejemplo api-key=YOUR_KEY,x-tenant=team. Es el unico campo secreto y se almacena cifrado.

Endpoints y Headers por backend

BackendEndpoint (HTTP)Endpoint (gRPC)Headers
Honeycombhttps://api.honeycomb.ioapi.honeycomb.io:443x-honeycomb-team=INGEST_KEY,x-honeycomb-dataset=DATASET_NAME
Grafana CloudURL del gateway OTLP de su stackno disponible en el gateway alojadoAuthorization=Basic BASE64(instanceID:token)
New Relichttps://otlp.nr-data.net (US) o https://otlp.eu01.nr-data.net (EU)otlp.nr-data.net:4317api-key=LICENSE_KEY
Dynatracehttps://ENV.live.dynatrace.com/api/v2/otlpno disponibleAuthorization=Api-Token TOKEN
ElasticURL OTLP de su servidor APMhost:8200 de su servidor APMAuthorization=ApiKey API_KEY
Collector autoalojadohttp(s)://su-collector:4318su-collector:4317opcional

Notas sobre Honeycomb

  • Use una Ingest Key, creada en Environment Settings > API Keys > Ingest. Copie el Key Secret que se muestra una sola vez al crear la clave, no la Key ID mas corta de la lista. Enviar la Key ID devuelve unknown API key (HTTP 401).
  • Las metricas requieren el header x-honeycomb-dataset para nombrar el dataset de destino.
  • De a la clave el permiso Can create services/datasets para que el dataset se cree con las primeras metricas que lleguen.

Asignar la integracion a una prueba

  1. Abra una prueba de JMeter o k6 y vaya a su seccion Integrations.
  2. Seleccione su integracion OpenTelemetry en el desplegable.
  3. Guarde la prueba y ejecutela.

Cada ejecucion con una integracion asignada envia sus metricas al backend configurado.

Que vera

Las metricas llegan etiquetadas con los atributos de recurso service.name, loadfocus.testrunname y loadfocus.testrunid, para que pueda filtrar por ejecucion.

  • Las pruebas de JMeter envian jmeter.samples, jmeter.response_time_ms y jmeter.errors, etiquetadas con sampler y response_code. JMeter agrupa y vuelca al final de la ejecucion, por lo que sus metricas aparecen cuando la ejecucion termina.
  • Las pruebas de k6 envian las metricas estandar de k6 como http_req_duration, http_reqs, vus e iterations, transmitidas mientras la prueba se ejecuta.

Solucion de problemas

  • unknown API key o HTTP 401: la credencial es incorrecta o falta. En Honeycomb, confirme que uso el Key Secret y no la Key ID.
  • Sin datos en el backend: confirme el nombre de destino (dataset de Honeycomb, cuenta de New Relic, etc.), confirme el header de autenticacion y recuerde que las metricas de JMeter solo aparecen cuando la ejecucion ha terminado.
  • Endpoint rechazado: los endpoints HTTP deben incluir el esquema https://; los endpoints gRPC usan host:port.
  • La ejecucion no se ve afectada: si una integracion esta mal configurada, la prueba se ejecuta igualmente, simplemente no exporta metricas.

Editar o eliminar la integracion

  • Editar: en Integration Settings, haga clic en el icono de editar de la integracion para cambiar el nombre, el endpoint, el protocolo o los headers. Deje el campo Headers vacio para conservar la credencial actual; introduzca un valor solo cuando quiera reemplazarla.
  • Eliminar: haga clic en el icono de eliminar de la integracion para quitarla de sus servicios de informes externos.