Socket
Socket
Sign inDemoInstall

dd-trace

Package Overview
Dependencies
21
Maintainers
3
Versions
558
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

dd-trace


Version published
Maintainers
3
Install size
1.86 MB
Created

Package description

What is dd-trace?

The dd-trace npm package is a Node.js APM (Application Performance Monitoring) client for Datadog. It allows you to monitor the performance of your Node.js applications, providing insights into the runtime and helping you to diagnose and optimize your code.

What are dd-trace's main functionalities?

Tracing

This feature allows you to trace the execution of your application, marking and timing various operations within your code. You can tag spans with metadata and monitor the performance of individual requests or tasks.

const tracer = require('dd-trace').init();

// Instrument a function
tracer.trace('web.request', (span) => {
  // Do some work
  span.setTag('http.status_code', 200);
});

Automatic Instrumentation

dd-trace can automatically instrument popular libraries and frameworks such as Express, Koa, GraphQL, and many others. This means that you can get insights into how these libraries are performing without having to manually instrument code.

const tracer = require('dd-trace').init();

// Automatically instruments supported libraries
const express = require('express');
const app = express();

app.get('/', (req, res) => res.send('Hello World!'));
app.listen(3000);

Custom Tags and Metrics

You can add custom tags and metrics to your traces to provide additional context and granularity. This can be useful for filtering and searching through your traces in the Datadog APM interface.

const tracer = require('dd-trace').init();

// Add custom tags to a span
tracer.trace('web.request', (span) => {
  span.setTag('my_tag', 'my_value');
  span.setMetric('my_metric', 100);
});

Distributed Tracing

Distributed tracing allows you to trace requests as they move across different services and components in your system. This is essential for understanding the performance of microservices architectures.

const tracer = require('dd-trace').init();

// Continue a trace across asynchronous boundaries
async function part1() {
  return tracer.trace('part1', async () => {
    // Do something
  });
}

async function part2() {
  return tracer.trace('part2', async (span) => {
    // Do something else
    span.context().toTraceId();
  });
}

Other packages similar to dd-trace

Readme

Source

dd-trace-js

npm CircleCI

JavaScript APM Tracer (beta)

This project is in open beta and under active development. Please contact Datadog support with any questions.

Getting Started

For a basic product overview, check out our setup documentation.

For installation, configuration, and details about using the API, check out our API documentation.

For descriptions of terminology used in APM, take a look at the official documentation.

Development

Before contributing to this open source project, read our CONTRIBUTING.md.

Requirements

Since this project supports multiple Node versions, using a version manager such as nvm is recommended.

To get started once you have a Node version installed, run:

$ npm install

Testing

Before 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

To run the unit tests, use:

$ npm test

To run the unit tests continuously in watch mode while developing, use:

$ npm run tdd

Linting

We use ESLint to make sure that new code is conform to our coding standards.

To run the linter, use:

$ npm run lint

Continuous Integration

We 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 build-node-4
$ circleci build --job build-node-6
$ circleci build --job build-node-8
$ circleci build --job build-node-latest

Benchmarks

When 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:

$ npm run bench

Keywords

FAQs

Last updated on 17 Jul 2018

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

SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc