Socket
Socket
Sign inDemoInstall

@azure/core-tracing

Package Overview
Dependencies
1
Maintainers
2
Versions
171
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @azure/core-tracing

Provides low-level interfaces and helper methods for tracing in Azure SDK


Version published
Weekly downloads
6.2M
increased by0.12%
Maintainers
2
Install size
310 kB
Created
Weekly downloads
 

Package description

What is @azure/core-tracing?

The @azure/core-tracing package provides a common interface for adding tracing to Azure SDKs. It allows developers to collect detailed information about operations performed by Azure SDKs, making it easier to diagnose issues and optimize performance. The package is built on OpenTelemetry, a set of APIs, libraries, agents, and instrumentation that provide observability for applications.

What are @azure/core-tracing's main functionalities?

Creating and managing spans

This feature allows developers to create and manage spans, which represent individual operations. Spans can be nested to represent complex operations composed of multiple steps. The code sample demonstrates how to create a tracing client, start a new span, and then end the span.

const { createTracingClient } = require('@azure/core-tracing');
const tracingClient = createTracingClient({
  namespace: 'Microsoft.Azure',
  packageName: 'AzureExample',
  packageVersion: '1.0.0'
});

// Start a new span
cost span = tracingClient.startSpan('myOperation');

// End the span
span.end();

Integrating with Azure SDKs

This feature demonstrates how to integrate the @azure/core-tracing package with other Azure SDKs, such as Azure Storage Blobs. By passing a tracing client to the SDK's client constructor, developers can automatically collect tracing information for operations performed by the SDK.

const { DefaultAzureCredential } = require('@azure/identity');
const { BlobServiceClient } = require('@azure/storage-blob');
const { createTracingClient } = require('@azure/core-tracing');

const tracingClient = createTracingClient({
  namespace: 'Microsoft.Azure',
  packageName: 'Azure.Storage.Blobs',
  packageVersion: '12.0.0'
});

const blobServiceClient = new BlobServiceClient(
  'https://<my-storage-account>.blob.core.windows.net/',
  new DefaultAzureCredential(),
  {
    tracingOptions: { tracingClient }
  }
);

Other packages similar to @azure/core-tracing

Readme

Source

Azure Core tracing library for JavaScript

This is the core tracing library that provides low-level interfaces and helper methods for tracing in Azure SDK JavaScript libraries which work in the browser and Node.js.

Getting started

Installation

This package is primarily used in Azure client libraries and not meant to be used directly by consumers of Azure SDKs.

Key Concepts

  • TracingClient is the primary interface providing tracing functionality to client libraries. Client libraries should only be aware of and interact with a TracingClient instance.
    • A TracingClient implementation can be created using the createTracingClient factory function.
  • Instrumenter provides an abstraction over an instrumentation and acts as the interop point for using third party libraries like OpenTelemetry. By default, a no-op Instrumenter is used. Customers who wish to enable OpenTelemetry based tracing will do so by installing and registering the @azure/opentelemetry-instrumentation-azure-sdk package.
  • TracingContext is an immutable data container, used to pass operation-specific information around (such as span parenting information).
  • TracingSpan is an abstraction of a Span which can be used to record events, attributes, and exceptions.

Examples

Examples can be found in the samples folder.

Next steps

You can build and run the tests locally by executing rushx test. Explore the test folder to see advanced usage and behavior of the public classes.

Troubleshooting

If you run into issues while using this library, please feel free to file an issue.

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.

Impressions

Keywords

FAQs

Last updated on 11 Apr 2024

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc