Lightstep will be EOLing ls-trace tracers in the near future.
- All new users are recommended to use OpenTelemetry, specifically the OpenTelemetry launcher for node (Quickstart docs, github)
- For those currently using these tracers, we will be reaching out in Q3 2021 to ensure you have a smooth transition to OpenTelemetry. If for any reason you find a gap with OpenTelemetry for your use case, please reach out to your Customer Success representative to discuss and set up time with our Data Onboarding team.
Datadog has generously announced the donation of their tracer libraries to the OpenTelemetry, project. Auto-instrumentation is a core feature of these libraries, making it possible to create and collect telemetry data without needing to change your code. LightStep wants you to be able to use these libraries now! ls-trace-js is LightStep's fork of Datadog’s tracing client for Javascript. You can install and use it to take advantage of auto-instrumentation without waiting for OpenTelemetry. Each LightStep agent is “pinned” to a Datadog release.
JavaScript APM Tracer
Datadog APM tracing client for JavaScript.
For a basic product overview, check out our setup documentation
For descriptions of terminology used in APM, take a look at the official documentation
Before contributing to this open source project, read our CONTRIBUTING.md.
Since this project supports multiple Node versions, using a version manager such as nvm is recommended.
We use yarn for its workspace functionality, so make sure to install that as well.
To get started once you have Node and yarn installed, run:
$ yarnBefore running the tests, the data stores need to be running. The easiest way to start all of them is to use the provided docker-compose configuration:
$ docker-compose up -d -V --remove-orphans --force-recreateTo run the unit tests, use:
$ yarn testTo run the unit tests continuously in watch mode while developing, use:
$ yarn tddTo run the memory leak tests, use:
$ yarn leakPlease note that memory leak tests only run on Node >=8.
We use ESLint to make sure that new code is conform to our coding standards.
To run the linter, use:
$ yarn lintWe rely on CircleCI 2.0 for our tests. If you want to test how the CI behaves locally, you can use the CircleCI Command Line Interface as described here: https://circleci.com/docs/2.0/local-jobs/
After installing the circleci CLI, simply run one of the following:
$ circleci build --job lint
$ circleci build --job node-leaks
$ circleci build --job node-core-8
$ circleci build --job node-core-10
$ circleci build --job node-core-12
$ circleci build --job node-core-latestWhen two or more approaches must be compared, please write a benchmark
in the benchmark/index.js module so that we can keep track of the
most efficient algorithm. To run your benchmark, just:
$ yarn bench
make protoif you don't have required packages
make clonels-trace follows its own versioning scheme. The table below shows the corresponding dd-trace-ls versions.
| ls-trace version | dd-trace-ls version |
|---|---|
| v0.1.0 | v0.16.1 |
- Run command
make release RELEASE_TYPE=patch
Contact support@lightstep.com for additional questions and resources, or to be added to our community slack channel.
This is a fork of dd-trace-js and retains the original Datadog license and copyright. See the license for more details.