UNPKG

dd-trace

Version:

Datadog APM tracing client for JavaScript

55 lines (45 loc) 1.17 kB
'use strict' const { SpanStatsEncoder } = require('../../encode/span-stats') const pkg = require('../../../../../package.json') const BaseWriter = require('../common/writer') const request = require('../common/request') const log = require('../../log') class Writer extends BaseWriter { constructor ({ url }) { super(...arguments) this._url = url this._encoder = new SpanStatsEncoder(this) } _sendPayload (data, _, done) { makeRequest(data, this._url, (err, res) => { if (err) { log.error('Error sending span stats', err) done() return } log.debug('Response from the intake:', res) done() }) } } function makeRequest (data, url, cb) { const options = { path: '/v0.6/stats', method: 'PUT', headers: { 'Datadog-Meta-Lang': 'javascript', 'Datadog-Meta-Tracer-Version': pkg.version, 'Content-Type': 'application/msgpack', }, protocol: url.protocol, hostname: url.hostname, port: url.port, } log.debug('Request to the intake: %j', options) request(data, options, (err, res) => { cb(err, res) }) } module.exports = { Writer, }