Megosztás a következőn keresztül:


Azure OpenTelemetry Instrumentation kódtár JavaScripthez

Kezdetekhez

Jelenleg támogatott környezetek

  • Node.js LTS-verziói
  • A Safari, a Chrome, az Edge és a Firefox legújabb verziói.

További részletekért tekintse meg a támogatási szabályzat.

Előfeltételek

A telemetriai adatok létrehozásához konfigurálnia kell az OpenTelemetria SDK-t. Bár az OpenTelemetria konfigurálása kívül esik a README hatókörén, javasoljuk, hogy tekintse át az OpenTelemetria dokumentációját az OpenTelemetria használatának megkezdéséhez.

A @azure/opentelemetry-instrumentation-azure-sdk csomag telepítése

Telepítse az Azure OpenTelemetry Instrumentation ügyfélkódtárat npm:

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

Böngészőtámogatás

JavaScript-csomag

Ahhoz, hogy ezt az ügyfélkódtárat a böngészőben használhassa, először egy kötegelőt kell használnia. Ennek módjáról további információt a csomagküldő dokumentációbantalál.

Főbb fogalmak

  • A kódtár által exportált főhook az createAzureSdkInstrumentation függvény, amely lehetővé teszi az OpenTelemetryben regisztrálandó Azure SDK Instrumentation objektum létrehozását.

Példák

OpenTelemetry-rendszerállapot engedélyezése

import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
import { SimpleSpanProcessor, ConsoleSpanExporter } from "@opentelemetry/tracing";
import { registerInstrumentations } from "@opentelemetry/instrumentation";
import { createAzureSdkInstrumentation } from "@azure/opentelemetry-instrumentation-azure-sdk";
import { KeyClient } from "@azure/keyvault-keys";
import { DefaultAzureCredential } from "@azure/identity";
import { trace, context } from "@opentelemetry/api";

// Set-up and configure a Node Tracer Provider using OpenTelemetry SDK.
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.
// import { KeyClient } from "@azure/keyvault-keys";
// import { DefaultAzureCredential } from "@azure/identity";

const keyClient = new KeyClient("https://my.keyvault.azure.net", new DefaultAzureCredential());

// 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 = trace.getTracer("my-tracer");
const span = tracer.startSpan("main");
const ctx = trace.setSpan(context.active(), span);

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

Hibaelhárítás

Fakitermelés

A naplózás engedélyezése segíthet a hibákról szóló hasznos információk feltárásában. A HTTP-kérések és válaszok naplójának megtekintéséhez állítsa a AZURE_LOG_LEVEL környezeti változót info. Másik lehetőségként a naplózás futásidőben is engedélyezhető a setLogLevel meghívásával a @azure/logger:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

A naplók engedélyezésére vonatkozó részletesebb útmutatásért tekintse meg a @azure/logger csomag dokumentációit.

Az ES-modulok rendszerállapota

Ez a csomag @opentelemetry/instrumentation használ a szükséges horgok és rakodók beállításához. Az ESM-csomagok nyomkövetésének konfigurálásával kapcsolatos utasításokért tekintse meg a @opentelemetry/instrumentation README.

Hozzájárulás

Ha hozzá szeretne járulni ehhez a kódtárhoz, olvassa el a közreműködői útmutatót, amelyből többet is megtudhat a kód összeállításáról és teszteléséről.