OpenTelemetry (OTLP) Integration

Envoyer les métriques de vos tests de charge via OpenTelemetry

L'intégration OpenTelemetry exporte les métriques en direct de vos tests de charge via le protocole OpenTelemetry (OTLP) vers tout backend compatible OTLP, pour que vous puissiez suivre un test dans l'outil que vous utilisez déjà pour l'observabilité. Elle fonctionne avec Honeycomb, Grafana Cloud, New Relic, Datadog, Elastic et tout OpenTelemetry Collector auto-hébergé.

Fenêtre de configuration OpenTelemetry dans LoadFocus avec les champs nom, endpoint OTLP, protocole et headers

Créer l'intégration

  1. Ouvrez Paramètres > Intégrations.
  2. Cliquez sur Nouvelle intégration et choisissez OpenTelemetry.
  3. Remplissez les champs ci-dessous et cliquez sur Enregistrer l'intégration.

Champs de l'intégration

  • Nom : Un libellé pour cette intégration, par exemple Honeycomb HTTP.
  • Point de terminaison OTLP : L'adresse où les métriques sont envoyées.
    • Pour HTTP (protobuf), utilisez l'URL de base avec le schéma, par exemple https://api.honeycomb.io. LoadFocus ajoute /v1/metrics pour vous.
    • Pour gRPC, utilisez host:port, par exemple api.honeycomb.io:443. Si vous omettez le schéma, https:// est supposé.
  • Protocole : HTTP (protobuf) (la valeur par défaut, fonctionne partout) ou gRPC.
  • En-têtes (key=value, séparés par des virgules) : Des paires utilisées pour l'authentification, par exemple api-key=YOUR_KEY,x-tenant=team. C'est le seul champ secret, et il est stocké chiffré.

Endpoints et headers par backend

BackendEndpoint (HTTP)Endpoint (gRPC)Headers
Honeycombhttps://api.honeycomb.ioapi.honeycomb.io:443x-honeycomb-team=INGEST_KEY,x-honeycomb-dataset=DATASET_NAME
Grafana Cloudl'URL de la passerelle OTLP de votre stacknon proposé sur la passerelle hébergéeAuthorization=Basic BASE64(instanceID:token)
New Relichttps://otlp.nr-data.net (US) ou https://otlp.eu01.nr-data.net (UE)otlp.nr-data.net:4317api-key=LICENSE_KEY
Elasticl'URL OTLP de votre serveur APMle host:8200 de votre serveur APMAuthorization=ApiKey API_KEY
Collector auto-hébergéhttps://your-collector:4318your-collector:4317facultatif

Pour New Relic et Dynatrace, utilisez plutôt les intégrations dédiées New Relic et Dynatrace. Elles renseignent l'endpoint pour vous, vérifient votre clé à l'enregistrement et envoient des métriques delta. Dynatrace exige des métriques delta et ignore les métriques cumulatives qu'envoie cette intégration générique.

Remarques sur Honeycomb

  • Utilisez une Ingest Key, créée sous Environment Settings > API Keys > Ingest. Copiez le Key Secret affiché une seule fois à la création de la clé, et non le Key ID, plus court, de la liste. Envoyer le Key ID renvoie unknown API key (HTTP 401).
  • Les métriques exigent que le header x-honeycomb-dataset nomme le dataset où elles arrivent.
  • Donnez à la clé la permission Can create services/datasets pour que le dataset soit créé dès les premières métriques reçues.

Associer l'intégration à un test

  1. Ouvrez un test JMeter ou k6 et allez à sa section Intégrations.
  2. Sélectionnez votre intégration OpenTelemetry dans la liste déroulante.
  3. Enregistrez le test, puis lancez-le.

Chaque exécution associée à une intégration envoie ses métriques au backend configuré.

Ce que vous verrez

Les métriques portent le nom et l'identifiant de l'exécution du test, ce qui permet de les ventiler par exécution.

  • Les tests JMeter envoient jmeter.samples (avec les étiquettes sampler et status, qui vaut ok ou ko), jmeter.response_time_ms (étiquette sampler) et jmeter.errors (étiquettes sampler et response_code). L'exécution figure dans les attributs de ressource loadfocus.testrunname et loadfocus.testrunid, à côté de service.name. JMeter regroupe les données et les envoie à la fin de l'exécution, donc ses métriques n'apparaissent qu'une fois l'exécution terminée.
  • Les tests k6 envoient les métriques standard de k6, comme http_req_duration, http_reqs, vus et iterations, diffusées pendant l'exécution du test. LoadFocus les étiquette avec testrunname, testrunid, region et machine.

Dépannage

  • unknown API key ou HTTP 401 : l'identifiant est incorrect ou absent. Pour Honeycomb, vérifiez que vous avez utilisé le Key Secret et non le Key ID.
  • Aucune donnée dans le backend : vérifiez le nom de la destination (dataset Honeycomb, compte New Relic, etc.), vérifiez le header d'authentification, et rappelez-vous que les métriques JMeter n'apparaissent qu'une fois l'exécution terminée.
  • Endpoint refusé : les endpoints HTTP doivent inclure le schéma https:// ; les endpoints gRPC utilisent host:port.
  • L'exécution elle-même n'est pas affectée : si une intégration est mal configurée, le test s'exécute quand même, il n'exporte simplement aucune métrique.

Modifier ou supprimer l'intégration

  • Modifier : dans Intégrations, cliquez sur l'icône de modification de l'intégration pour changer le nom, l'endpoint, le protocole ou les en-têtes. Laissez le champ En-têtes vide pour conserver l'identifiant existant ; saisissez une valeur seulement si vous voulez le remplacer.
  • Supprimer : cliquez sur l'icône de suppression de l'intégration pour la retirer de vos services de rapports externes.