Partager via


Bibliothèque Azure OpenTelemetry Instrumentation pour JavaScript

Commencer

Environnements actuellement pris en charge

Pour plus d’informations, consultez notre de stratégie de support .

Conditions préalables

Vous devez configurer le Kit de développement logiciel (SDK) OpenTelemetry pour produire des données de télémétrie. Lors de la configuration d’OpenTelemetry en dehors de l’étendue de ce fichier README, nous vous encourageons à consulter la documentation OpenTelemetry pour commencer à utiliser OpenTelemetry.

Installer le package @azure/opentelemetry-instrumentation-azure-sdk

Installez la bibliothèque cliente Azure OpenTelemetry Instrumentation avec npm:

npm install @azure/opentelemetry-instrumentation-azure-sdk

Prise en charge du navigateur

JavaScript Bundle

Pour utiliser cette bibliothèque cliente dans le navigateur, vous devez d’abord utiliser un bundler. Pour plus d’informations sur la procédure à suivre, reportez-vous à notre documentation de regroupement .

Concepts clés

  • La fonction createAzureSdkInstrumentation est le crochet principal exporté par cette bibliothèque, qui permet de créer un objet d’instrumentation du KIT de développement logiciel (SDK) Azure à inscrire auprès d’OpenTelemetry.

Exemples

Activer l’instrumentation OpenTelemetry

const { registerInstrumentations } = require("@opentelemetry/instrumentation");
const { createAzureSdkInstrumentation } = require("@azure/opentelemetry-instrumentation-azure-sdk");

// Set-up and configure a Node Tracer Provider using OpenTelemetry
const opentelemetry = require("@opentelemetry/api");
const { NodeTracerProvider } = require("@opentelemetry/sdk-trace-node");
const { SimpleSpanProcessor, ConsoleSpanExporter } = require("@opentelemetry/tracing");

const provider = new NodeTracerProvider();
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.register();

registerInstrumentations({
  instrumentations: [createAzureSdkInstrumentation()],
});

// Continue to import any Azure SDK client libraries after registering the instrumentation.

const { KeyClient } = require("@azure/keyvault-keys");
const { DefaultAzureCredential } = require("@azure/identity"); 

const keyClient = new KeyClient(url, new DefaultAzureCredential()); 

async function main() {
  // Tracing is now enabled using automatic span propagation with an active context.
  await keyClient.getKey("MyKeyName");

  // If your scenario requires manual span propagation, all Azure client libraries
  // support explicitly passing a parent context via an `options` parameter.
  // Get a tracer from a registered provider, create a span, and get the current context.
  const tracer = opentelemetry.trace.getTracer("my-tracer");
  const span = tracer.startSpan("main");
  const ctx = opentelemetry.trace.setSpan(opentelemetry.context.active(), span);

  await keyClient.getKey("MyKeyName", {
    tracingOptions: {
      // ctx will be used as the parent context for all operations.
      tracingContext: ctx,
    },
  });
}

Dépannage

Exploitation forestière

L’activation de la journalisation peut vous aider à découvrir des informations utiles sur les échecs. Pour afficher un journal des requêtes et réponses HTTP, définissez la variable d’environnement AZURE_LOG_LEVEL sur info. Vous pouvez également activer la journalisation au moment de l’exécution en appelant setLogLevel dans la @azure/logger:

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

Pour obtenir des instructions plus détaillées sur l’activation des journaux, vous pouvez consulter la documentationdu package @azure/enregistreur d’événements.

Instrumentation pour les modules ES

Ce package utilise @opentelemetry/instrumentation pour configurer les crochets et les chargeurs nécessaires. Reportez-vous à la README de @opentelemetry/instrumentation de @opentelemetry pour obtenir des instructions sur la configuration du suivi pour les packages ESM.

Contribuant

Si vous souhaitez contribuer à cette bibliothèque, lisez le guide de contribution pour en savoir plus sur la génération et le test du code.

Impressions