Permalink
Cannot retrieve contributors at this time
72 lines (47 sloc)
2.29 KB
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
codeql-action/node_modules/@azure/core-tracing/README.md
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 | |
Install this library using npm as follows | |
``` | |
npm install @azure/core-tracing | |
``` | |
## Key Concepts | |
The `@azure/core-tracing` package supports enabling tracing for Azure SDK packages, using an [OpenTelemetry](https://opentelemetry.io/) `Tracer`. | |
By default, all libraries log with a `NoOpTracer` that takes no action. | |
To change this, you have to use `setTracer` to set a new default `Tracer`. | |
## Examples | |
### Example 1 - Setting an OpenTelemetry Tracer | |
```js | |
const opentelemetry = require("@opentelemetry/api"); | |
const { BasicTracer, SimpleSpanProcessor } = require("@opentelemetry/tracing"); | |
const { ZipkinExporter } = require("@opentelemetry/exporter-zipkin"); | |
const { setTracer } = require("@azure/core-tracing"); | |
const exporter = new ZipkinExporter({ | |
serviceName: "azure-tracing-sample" | |
}); | |
const tracer = new BasicTracer(); | |
tracer.addSpanProcessor(new SimpleSpanProcessor(exporter)); | |
setTracer(tracer); | |
const rootSpan = tracer.startSpan("root"); | |
const context = opentelemetry.setSpan(opentelemetry.context.active(), rootSpan); | |
// Call some client library methods and pass rootSpan via tracingOptions. | |
rootSpan.end(); | |
exporter.shutdown(); | |
``` | |
### Example 2 - Passing current Context to library operations | |
```js | |
// Given a BlobClient from @azure/storage-blob | |
const result = await blobClient.download(undefined, undefined, { | |
tracingOptions: { | |
tracingContext: context | |
} | |
}); | |
``` | |
## 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](https://github.com/Azure/azure-sdk-for-js/issues/new). | |
## Contributing | |
If you'd like to contribute to this library, please read the [contributing guide](https://github.com/Azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md) to learn more about how to build and test the code. | |
 |