UNPKG

dd-trace

Version:

Datadog APM tracing client for JavaScript

50 lines (43 loc) 1.18 kB
'use strict' const log = require('./log') const { profiler } = require('./profiling') // Stop profiler upon exit in order to collect and export the current profile process.once('beforeExit', () => { profiler.stop() }) module.exports = { start: config => { const { service, version, env, url, hostname, port, tags, repositoryUrl, commitSHA, injectionEnabled } = config const { enabled, sourceMap, exporters } = config.profiling const logger = { debug: (message) => log.debug(message), info: (message) => log.info(message), warn: (message) => log.warn(message), error: (...args) => log.error(...args) } const libraryInjected = injectionEnabled.length > 0 let activation if (enabled === 'auto') { activation = 'auto' } else if (enabled === 'true') { activation = 'manual' } // else activation = undefined return profiler.start({ service, version, env, logger, sourceMap, exporters, url, hostname, port, tags, repositoryUrl, commitSHA, libraryInjected, activation }) }, stop: () => { profiler.stop() } }