UNPKG

dd-trace

Version:

Datadog APM tracing client for JavaScript

35 lines (30 loc) 1.26 kB
'use strict' const RemoteConfigCapabilities = require('../remote_config/capabilities') /** * Configures remote config for core APM tracing functionality * * @param {object} rc - RemoteConfig instance * @param {object} config - Tracer config * @param {Function} enableOrDisableTracing - Function to enable/disable tracing based on config */ function enable (rc, config, enableOrDisableTracing) { // Register core APM tracing capabilities rc.updateCapabilities(RemoteConfigCapabilities.APM_TRACING_CUSTOM_TAGS, true) rc.updateCapabilities(RemoteConfigCapabilities.APM_TRACING_HTTP_HEADER_TAGS, true) rc.updateCapabilities(RemoteConfigCapabilities.APM_TRACING_LOGS_INJECTION, true) rc.updateCapabilities(RemoteConfigCapabilities.APM_TRACING_SAMPLE_RATE, true) rc.updateCapabilities(RemoteConfigCapabilities.APM_TRACING_ENABLED, true) rc.updateCapabilities(RemoteConfigCapabilities.APM_TRACING_SAMPLE_RULES, true) // APM_TRACING product handler - manages tracer configuration rc.setProductHandler('APM_TRACING', (action, conf) => { if (action === 'unapply') { config.configure({}, true) } else { config.configure(conf.lib_config, true) } enableOrDisableTracing(config, rc) }) } module.exports = { enable }