Skip to content

Latest commit

 

History

History
118 lines (85 loc) · 5.94 KB

README.md

File metadata and controls

118 lines (85 loc) · 5.94 KB

Continuous Build

📣 OpenTelemetry JavaScript with AWS X-Ray

AWS X-Ray supports using OpenTelemetry JavaScript and the AWS Distro for OpenTelemetry (ADOT) Collector to instrument your application and send trace data to X-Ray. The OpenTelemetry SDKs are an industry-wide standard for tracing instrumentation. They provide more instrumentations and have a larger community for support, but may not have complete feature parity with the X-Ray SDKs. See choosing between the ADOT and X-Ray SDKs for more help with choosing between the two.

If you want additional features when tracing your Node.js applications, please open an issue on the OpenTelemetry JS Instrumentation repository.

AWS X-Ray SDK for Node.js

Screenshot of the AWS X-Ray console

Installing

The AWS X-Ray SDK for Node.js is compatible with Node.js version 14.x and later. There may be issues when running on the latest odd-numbered release of Node.js.

The latest stable version of the SDK is available from NPM. For local development, install the SDK in your project directory with npm.

npm install aws-xray-sdk

Use the --save option to save the SDK as a dependency in your application's package.json.

npm install aws-xray-sdk --save

Documentation

This repository hosts all the packages we publish, which each have their own README. The Core package README covers all basic use cases of the main X-Ray SDK, including its use in Lambda. The developer guide provides in-depth guidance about using the AWS X-Ray service and SDKs. The API Reference provides guidance for using this SDK and module-level documentation.

CHANGELOG.md

Sample App

To get started with a functional web application instrumented with the X-Ray SDK, check out our sample app.

Getting Help

Use the following community resources for getting help with the SDK. We use the GitHub issues for tracking bugs and feature requests.

Opening Issues

If you encounter a bug with the AWS X-Ray SDK for Node.js, we want to hear about it. Before opening a new issue, search the existing issues to see if others are also experiencing the issue. Include the version of the AWS X-Ray SDK for Node.js, Node.js runtime, and other dependencies if applicable. In addition, include the repro case when appropriate.

The GitHub issues are intended for bug reports and feature requests. For help and questions about using the AWS X-Ray SDK for Node.js, use the resources listed in the Getting Help section. Keeping the list of open issues lean helps us respond in a timely manner.

Contributing

We support and accept PRs from the community.

This monorepo hosts the following npm packages for the SDK:

Community contributions for new Middleware

If you'd like to add support for a new web framework by writing middleware for X-Ray, please do so by creating a new package within the sdk_contrib directory. We are not accepting pull requests for first-party packages at this time, but will be more than happy to host them as community contributions. This means that AWS will:

  • Host them in this repository
  • Publish them to NPM
  • Consider them the officially recommended way of using X-Ray with that framework
  • Review & merge pull requests made against them by the community
  • Allow issues related to them on this repo for visibility to the community

AWS will not:

  • Provide first party support through AWS Forums, AWS customer support, etc for things like questions & debugging help
  • Actively develop on them (e.g. if we add a feature to the Express middleware, it will not necessarily be added to middleware in sdk_contrib)

Testing from Source

This repo uses Lerna (use v6 or lower) to manage multiple packages. To install Lerna as a CLI:

npm install -g lerna

To install devDependencies and peerDependencies for all packages:

lerna bootstrap --hoist

This repo has a combination of TypeScript and JavaScript source files. To transpile the TypeScript files for testing, run:

lerna run compile

To run tests for all packages:

lerna run test

or go to each package and run npm test as usual.

License

The AWS X-Ray SDK for Node.js is licensed under the Apache 2.0 License. See LICENSE and NOTICE.txt for more information.