[DEPRECATED] OpenTracing tracer implementation for Datadog in JavaScript.
JavaScript
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
dist
examples
scripts
src
test
.babelrc
.bithoundrc
.codeclimate.yml
.editorconfig
.eslintignore
.eslintrc.json
.gitignore
.nvmrc
.travis.yml
CONTRIBUTING.md
LICENSE
README.md
browser.js
index.js
package.json

README.md

Datadog Tracer

npm Build Status codecov Code Climate Greenkeeper badge bitHound Dependencies

DEPRECATED: The official library dd-trace-js has now been released.

OpenTracing tracer implementation for Datadog in JavaScript. It is intended for use both on the server and in the browser.

Installation

NodeJS

npm install --save datadog-tracer

Node >= 4 is required.

Browser

The library supports CommonJS and AMD loaders and also exports globally as DatadogTracer.

NOTE: If you want to use binary propagation, make sure to also include the minimal version of protobuf.js before this library.

CDN

<script src="//cdn.rawgit.com/rochdev/datadog-tracer-js/0.X.X/dist/datadog-tracer.min.js"></script>

NOTE: Remember to replace the version tag with the exact release your project depends upon.

Frontend

<script src="node_modules/datadog-tracer/dist/datadog-tracer.min.js"></script>

Usage

See the OpenTracing JavaScript documentation for more information.

Custom tracer options

  • service: name of the Datadog service
  • hostname: hostname of the Datadog agent (default: localhost)
  • port: port of the Datadog agent (default: 8126)
  • protocol: protocol of the Datadog agent (default: http)
  • endpoint: full URL of the Datadog agent (alternative to hostname+port+protocol)

Example

const express = require('express')
const Tracer = require('datadog-tracer')

const app = express()
const tracer = new Tracer({ service: 'example' })

// handle errors from Datadog agent. omit this if you want to ignore errors
tracer.on('error', e => console.log(e))

app.get('/hello/:name', (req, res) => {
  const span = tracer.startSpan('say_hello')

  span.addTags({
    'resource': '/hello/:name', // required by Datadog
    'type': 'web', // required by Datadog
    'span.kind': 'server',
    'http.method': 'GET',
    'http.url': req.url,
    'http.status_code': '200'
  })

  span.finish()

  res.send(`Hello, ${req.params.name}!`)
})

app.listen(3000)

See the examples folder for more advanced examples.

API Documentation

See the OpenTracing JavaScript API

Additional Resources