Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Getting started
Ambientes atualmente suportados
- Versões LTS de Node.js
- Versões mais recentes do Safari, Chrome, Edge e Firefox.
Consulte a nossa política apoio para mais detalhes.
Pré-requisitos
- Uma subscrição Azure.
- O pacote @opentelemetry/instrumentação .
Você precisará configurar o SDK do OpenTelemetry para produzir dados de Telemetria. Embora a configuração do OpenTelemetry esteja fora do âmbito deste README, encorajamo-lo a rever a documentação OpenTelemetry para get started a utilização do OpenTelemetry.
Instale o pacote @azure/opentelemetry-instrumentation-azure-sdk
Instale a biblioteca cliente Azure OpenTelemetry Instrumentation com npm:
npm install @azure/opentelemetry-instrumentation-azure-sdk
Suporte do navegador
Pacote JavaScript
Para usar essa biblioteca de cliente no navegador, primeiro você precisa usar um bundler. Para detalhes sobre como to do isto, consulte a nossa documentação de agrupamento.
Conceitos-chave
- A função createAzureSdkInstrumentation é o principal gancho exportado por esta biblioteca, que fornece uma forma de criar um objeto SDK Azure Instrumentation para ser registado no OpenTelemetry.
Exemplos
Ativar instrumentação OpenTelemetry
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,
},
});
Solução de problemas
Registo
Habilitar o registro em log pode ajudar a descobrir informações úteis sobre falhas. Para ver um log de solicitações e respostas HTTP, defina a variável de ambiente AZURE_LOG_LEVEL como info. Alternativamente, o registo pode ser ativado em tempo de execução chamando setLogLevel no @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Para instruções mais detalhadas sobre como ativar registos, pode consultar o pacote @azure/logger docs.
Instrumentação para módulos ES
Este pacote utiliza @opentelemetry/instrumentação para montar os ganchos e carregadores necessários. Por favor, consulte o README do
Contribuição
Se quiser contribuir para esta biblioteca, por favor leia o guia contribuição para saber mais sobre como construir e testar o código.
Projetos relacionados
Azure SDK for JavaScript