Knihovna instrumentace Azure OpenTelemetry pro JavaScript
Začínáme
Aktuálně podporovaná prostředí
- LtS verze Node.js
- Nejnovější verze prohlížečů Safari, Chrome, Edge a Firefox.
Další podrobnosti najdete v našich zásadách podpory .
Požadavky
- Předplatné Azure
- Balíček @opentelemetry/instrumentace .
Abyste mohli vytvářet telemetrická data, budete muset nakonfigurovat sadu OpenTelemetry SDK. I když konfigurace OpenTelemetry není součástí tohoto souboru README, doporučujeme vám projít si dokumentaci k OpenTelemetry , abyste mohli openTelemetry začít používat.
Nainstalujte balíček @azure/opentelemetry-instrumentation-azure-sdk
.
Nainstalujte klientskou knihovnu instrumentace Azure OpenTelemetry pomocí nástroje npm
:
npm install @azure/opentelemetry-instrumentation-azure-sdk
Podpora prohlížečů
JavaScript Bundle
Pokud chcete tuto klientskou knihovnu používat v prohlížeči, musíte nejprve použít nástroj bundler. Podrobnosti o tom, jak to udělat, najdete v naší dokumentaci k sdružování.
Klíčové koncepty
- Funkce createAzureSdkInstrumentation je hlavní hook exportovaný touto knihovnou, která poskytuje způsob vytvoření objektu Instrumentation sady Azure SDK pro registraci v OpenTelemetry.
Příklady
Povolení instrumentace 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 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,
},
});
}
Poradce při potížích
protokolování
Povolení protokolování může pomoct odhalit užitečné informace o selháních. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou AZURE_LOG_LEVEL
prostředí na info
. Případně je možné protokolování povolit za běhu voláním setLogLevel
v :@azure/logger
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Podrobnější pokyny k povolení protokolů najdete v dokumentaci k balíčkům @azure/protokolovacího nástroje.
Přispívání
Pokud chcete přispívat do této knihovny, přečtěte si příručku pro přispívání , kde najdete další informace o tom, jak sestavit a otestovat kód.
Související projekty
Azure SDK for JavaScript
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro