Socket
Book a DemoInstallSign in
Socket

@azure/opentelemetry-instrumentation-azure-sdk

Package Overview
Dependencies
Maintainers
2
Versions
327
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@azure/opentelemetry-instrumentation-azure-sdk

Instrumentation client for the Azure SDK.

next
latest
Source
npmnpm
Version
1.0.0-beta.9
Version published
Weekly downloads
1.2M
-6.22%
Maintainers
2
Weekly downloads
 
Created
Source

Azure OpenTelemetry Instrumentation library for JavaScript

Getting started

Currently supported environments

  • LTS versions of Node.js
  • Latest versions of Safari, Chrome, Edge, and Firefox.

See our support policy for more details.

Prerequisites

You'll need to configure the OpenTelemetry SDK in order to produce Telemetry data. While configuring OpenTelemetry is outside the scope of this README, we encourage you to review the OpenTelemetry documentation in order to get started using OpenTelemetry.

Install the @azure/opentelemetry-instrumentation-azure-sdk package

Install the Azure OpenTelemetry Instrumentation client library with npm:

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

Browser support

JavaScript Bundle

To use this client library in the browser, first you need to use a bundler. For details on how to do this, please refer to our bundling documentation.

Key concepts

  • The createAzureSdkInstrumentation function is the main hook exported by this library which provides a way to create an Azure SDK Instrumentation object to be registered with OpenTelemetry.

Examples

Enable OpenTelemetry instrumentation

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,
  },
});

Troubleshooting

Logging

Enabling logging may help uncover useful information about failures. In order to see a log of HTTP requests and responses, set the AZURE_LOG_LEVEL environment variable to info. Alternatively, logging can be enabled at runtime by calling setLogLevel in the @azure/logger:

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

setLogLevel("info");

For more detailed instructions on how to enable logs, you can look at the @azure/logger package docs.

Instrumentation for ES Modules

This package utilizes @opentelemetry/instrumentation to setup the necessary hooks and loaders. Please refer to @opentelemetry/instrumentation's README for instructions on configuring tracing for ESM packages.

Contributing

If you'd like to contribute to this library, please read the contributing guide to learn more about how to build and test the code.

Keywords

azure

FAQs

Package last updated on 09 Jun 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts