dd-trace 5.86.0 → 5.88.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/LICENSE-3rdparty.csv +60 -32
  2. package/ext/exporters.d.ts +1 -0
  3. package/ext/exporters.js +1 -0
  4. package/index.d.ts +243 -7
  5. package/package.json +9 -6
  6. package/packages/datadog-instrumentations/src/ai.js +54 -90
  7. package/packages/datadog-instrumentations/src/cucumber.js +14 -0
  8. package/packages/datadog-instrumentations/src/helpers/hook.js +17 -11
  9. package/packages/datadog-instrumentations/src/helpers/hooks.js +1 -0
  10. package/packages/datadog-instrumentations/src/helpers/rewriter/compiler.js +55 -14
  11. package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +15 -13
  12. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/ai.js +103 -0
  13. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/bullmq.js +108 -0
  14. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +2 -1
  15. package/packages/datadog-instrumentations/src/helpers/rewriter/transformer.js +21 -0
  16. package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +138 -12
  17. package/packages/datadog-instrumentations/src/http/client.js +119 -1
  18. package/packages/datadog-instrumentations/src/jest.js +179 -15
  19. package/packages/datadog-instrumentations/src/kafkajs.js +20 -17
  20. package/packages/datadog-instrumentations/src/mocha/utils.js +6 -0
  21. package/packages/datadog-instrumentations/src/mysql2.js +131 -64
  22. package/packages/datadog-instrumentations/src/playwright.js +9 -1
  23. package/packages/datadog-instrumentations/src/stripe.js +92 -0
  24. package/packages/datadog-instrumentations/src/vitest.js +11 -0
  25. package/packages/datadog-plugin-amqplib/src/consumer.js +14 -10
  26. package/packages/datadog-plugin-amqplib/src/producer.js +23 -19
  27. package/packages/datadog-plugin-azure-functions/src/index.js +53 -37
  28. package/packages/datadog-plugin-bullmq/src/consumer.js +33 -11
  29. package/packages/datadog-plugin-bullmq/src/producer.js +60 -31
  30. package/packages/datadog-plugin-cucumber/src/index.js +9 -6
  31. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +33 -0
  32. package/packages/datadog-plugin-cypress/src/support.js +48 -8
  33. package/packages/datadog-plugin-jest/src/index.js +12 -2
  34. package/packages/datadog-plugin-jest/src/util.js +2 -1
  35. package/packages/datadog-plugin-kafkajs/src/consumer.js +22 -12
  36. package/packages/datadog-plugin-kafkajs/src/producer.js +33 -22
  37. package/packages/datadog-plugin-mocha/src/index.js +9 -6
  38. package/packages/datadog-plugin-playwright/src/index.js +10 -6
  39. package/packages/datadog-plugin-vitest/src/index.js +13 -8
  40. package/packages/dd-trace/src/appsec/addresses.js +11 -0
  41. package/packages/dd-trace/src/appsec/channels.js +5 -1
  42. package/packages/dd-trace/src/appsec/downstream_requests.js +302 -0
  43. package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -1
  44. package/packages/dd-trace/src/appsec/iast/analyzers/ssrf-analyzer.js +1 -1
  45. package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +1 -1
  46. package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +4 -5
  47. package/packages/dd-trace/src/appsec/iast/path-line.js +36 -25
  48. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/command-sensitive-analyzer.js +1 -1
  49. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +3 -4
  50. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +3 -2
  51. package/packages/dd-trace/src/appsec/index.js +103 -0
  52. package/packages/dd-trace/src/appsec/rasp/ssrf.js +66 -4
  53. package/packages/dd-trace/src/azure_metadata.js +0 -2
  54. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +14 -1
  55. package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +1 -1
  56. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +2 -0
  57. package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +1 -1
  58. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +4 -1
  59. package/packages/dd-trace/src/ci-visibility/requests/request.js +236 -0
  60. package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +1 -1
  61. package/packages/dd-trace/src/config/defaults.js +148 -195
  62. package/packages/dd-trace/src/config/helper.js +43 -1
  63. package/packages/dd-trace/src/config/index.js +42 -14
  64. package/packages/dd-trace/src/config/supported-configurations.json +4115 -510
  65. package/packages/dd-trace/src/constants.js +0 -2
  66. package/packages/dd-trace/src/crashtracking/crashtracker.js +10 -3
  67. package/packages/dd-trace/src/datastreams/pathway.js +22 -3
  68. package/packages/dd-trace/src/datastreams/processor.js +14 -1
  69. package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +47 -2
  70. package/packages/dd-trace/src/debugger/devtools_client/index.js +75 -23
  71. package/packages/dd-trace/src/debugger/devtools_client/remote_config.js +23 -1
  72. package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +3 -3
  73. package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +168 -36
  74. package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +18 -0
  75. package/packages/dd-trace/src/encode/agentless-json.js +141 -0
  76. package/packages/dd-trace/src/exporter.js +2 -0
  77. package/packages/dd-trace/src/exporters/agent/writer.js +22 -8
  78. package/packages/dd-trace/src/exporters/agentless/index.js +89 -0
  79. package/packages/dd-trace/src/exporters/agentless/writer.js +184 -0
  80. package/packages/dd-trace/src/exporters/common/agents.js +1 -1
  81. package/packages/dd-trace/src/exporters/common/request.js +4 -4
  82. package/packages/dd-trace/src/llmobs/constants/writers.js +1 -1
  83. package/packages/dd-trace/src/llmobs/plugins/ai/index.js +5 -3
  84. package/packages/dd-trace/src/llmobs/sdk.js +34 -5
  85. package/packages/dd-trace/src/opentelemetry/context_manager.js +19 -46
  86. package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +3 -4
  87. package/packages/dd-trace/src/opentracing/propagation/text_map.js +3 -5
  88. package/packages/dd-trace/src/opentracing/span.js +6 -4
  89. package/packages/dd-trace/src/plugins/ci_plugin.js +57 -5
  90. package/packages/dd-trace/src/plugins/database.js +57 -45
  91. package/packages/dd-trace/src/plugins/outbound.js +27 -2
  92. package/packages/dd-trace/src/plugins/tracing.js +39 -4
  93. package/packages/dd-trace/src/plugins/util/inferred_proxy.js +7 -0
  94. package/packages/dd-trace/src/plugins/util/test.js +48 -0
  95. package/packages/dd-trace/src/plugins/util/web.js +8 -7
  96. package/packages/dd-trace/src/profiling/exporter_cli.js +1 -0
  97. package/packages/dd-trace/src/propagation-hash/index.js +145 -0
  98. package/packages/dd-trace/src/proxy.js +4 -0
  99. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +1 -1
  100. package/packages/dd-trace/src/startup-log.js +3 -3
  101. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/bullmq.json +0 -106
  102. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +0 -741
  103. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +0 -11
  104. package/packages/dd-trace/src/plugins/util/serverless.js +0 -8
  105. package/packages/dd-trace/src/scope/noop/scope.js +0 -21
@@ -14,12 +14,17 @@ const PROXY_HEADER_PATH = 'x-dd-proxy-path'
14
14
  const PROXY_HEADER_HTTPMETHOD = 'x-dd-proxy-httpmethod'
15
15
  const PROXY_HEADER_DOMAIN = 'x-dd-proxy-domain-name'
16
16
  const PROXY_HEADER_STAGE = 'x-dd-proxy-stage'
17
+ const PROXY_HEADER_REGION = 'x-dd-proxy-region'
17
18
 
18
19
  const supportedProxies = {
19
20
  'aws-apigateway': {
20
21
  spanName: 'aws.apigateway',
21
22
  component: 'aws-apigateway',
22
23
  },
24
+ 'azure-apim': {
25
+ spanName: 'azure.apim',
26
+ component: 'azure-apim',
27
+ },
23
28
  }
24
29
 
25
30
  function createInferredProxySpan (headers, childOf, tracer, reqCtx, traceCtx, config, startSpanHelper) {
@@ -53,6 +58,7 @@ function createInferredProxySpan (headers, childOf, tracer, reqCtx, traceCtx, co
53
58
  [HTTP_METHOD]: proxyContext.method,
54
59
  [HTTP_URL]: proxyContext.domainName + proxyContext.path,
55
60
  stage: proxyContext.stage,
61
+ region: proxyContext.region,
56
62
  },
57
63
  }, traceCtx, config)
58
64
 
@@ -91,6 +97,7 @@ function extractInferredProxyContext (headers) {
91
97
  stage: headers[PROXY_HEADER_STAGE],
92
98
  domainName: headers[PROXY_HEADER_DOMAIN],
93
99
  proxySystemName: headers[PROXY_HEADER_SYSTEM],
100
+ region: headers[PROXY_HEADER_REGION],
94
101
  }
95
102
  }
96
103
 
@@ -145,6 +145,10 @@ const DD_CAPABILITIES_TEST_MANAGEMENT_QUARANTINE = '_dd.library_capabilities.tes
145
145
  const DD_CAPABILITIES_TEST_MANAGEMENT_DISABLE = '_dd.library_capabilities.test_management.disable'
146
146
  const DD_CAPABILITIES_TEST_MANAGEMENT_ATTEMPT_TO_FIX = '_dd.library_capabilities.test_management.attempt_to_fix'
147
147
  const DD_CAPABILITIES_FAILED_TEST_REPLAY = '_dd.library_capabilities.failed_test_replay'
148
+
149
+ // Library configuration request error tag
150
+ const DD_CI_LIBRARY_CONFIGURATION_ERROR = '_dd.ci.library_configuration_error'
151
+
148
152
  const UNSUPPORTED_TIA_FRAMEWORKS = new Set(['playwright', 'vitest'])
149
153
  const UNSUPPORTED_TIA_FRAMEWORKS_PARALLEL_MODE = new Set(['cucumber', 'mocha'])
150
154
  const MINIMUM_FRAMEWORK_VERSION_FOR_EFD = {
@@ -202,6 +206,22 @@ const TEST_MANAGEMENT_ATTEMPT_TO_FIX_PASSED = 'test.test_management.attempt_to_f
202
206
  const POSSIBLE_BASE_BRANCHES = ['main', 'master', 'preprod', 'prod', 'dev', 'development', 'trunk']
203
207
  const BASE_LIKE_BRANCH_FILTER = /^(main|master|preprod|prod|dev|development|trunk|release\/.*|hotfix\/.*)$/
204
208
 
209
+ /**
210
+ * Returns request error tags from a test session span for propagation to child events.
211
+ * @param {{ context: () => { _tags?: Record<string, string> } } | undefined} sessionSpan
212
+ * @returns {Record<string, string>}
213
+ */
214
+ function getSessionRequestErrorTags (sessionSpan) {
215
+ const tags = sessionSpan?.context()._tags
216
+ if (!tags || typeof tags !== 'object') return {}
217
+ if (tags[DD_CI_LIBRARY_CONFIGURATION_ERROR] === 'true') {
218
+ return {
219
+ [DD_CI_LIBRARY_CONFIGURATION_ERROR]: 'true',
220
+ }
221
+ }
222
+ return {}
223
+ }
224
+
205
225
  module.exports = {
206
226
  TEST_CODE_OWNERS,
207
227
  TEST_SESSION_NAME,
@@ -278,6 +298,7 @@ module.exports = {
278
298
  removeInvalidMetadata,
279
299
  parseAnnotations,
280
300
  getIsFaultyEarlyFlakeDetection,
301
+ getEfdRetryCount,
281
302
  TEST_BROWSER_DRIVER,
282
303
  TEST_BROWSER_DRIVER_VERSION,
283
304
  TEST_BROWSER_NAME,
@@ -308,6 +329,8 @@ module.exports = {
308
329
  TEST_MANAGEMENT_ENABLED,
309
330
  TEST_MANAGEMENT_ATTEMPT_TO_FIX_PASSED,
310
331
  getLibraryCapabilitiesTags,
332
+ getSessionRequestErrorTags,
333
+ DD_CI_LIBRARY_CONFIGURATION_ERROR,
311
334
  checkShaDiscrepancies,
312
335
  getPullRequestDiff,
313
336
  getPullRequestBaseBranch,
@@ -846,6 +869,31 @@ function parseAnnotations (annotations) {
846
869
  }, {})
847
870
  }
848
871
 
872
+ /**
873
+ * Given a test's first-execution duration (ms) and the slow_test_retries map
874
+ * from the backend, return how many EFD retries to run.
875
+ *
876
+ * Returns 0 when the test is too slow to retry (≥ 5 min).
877
+ *
878
+ * @param {number} durationMs
879
+ * @param {Record<string, number>} slowTestRetries e.g. { '5s': 10, '10s': 5, '30s': 3, '5m': 2 }
880
+ * @returns {number}
881
+ */
882
+ function getEfdRetryCount (durationMs, slowTestRetries) {
883
+ const thresholds = [
884
+ { limitMs: 5 * 1000, key: '5s' },
885
+ { limitMs: 10 * 1000, key: '10s' },
886
+ { limitMs: 30 * 1000, key: '30s' },
887
+ { limitMs: 5 * 60 * 1000, key: '5m' },
888
+ ]
889
+ for (const { limitMs, key } of thresholds) {
890
+ if (durationMs < limitMs) {
891
+ return slowTestRetries[key] ?? 0
892
+ }
893
+ }
894
+ return 0 // ≥ 5 min — abort
895
+ }
896
+
849
897
  function getIsFaultyEarlyFlakeDetection (projectSuites, testsBySuiteName, faultyThresholdPercentage) {
850
898
  let newSuites = 0
851
899
  for (const suite of projectSuites) {
@@ -119,7 +119,7 @@ const web = {
119
119
  context.span.context()._name = name
120
120
  span = context.span
121
121
  } else {
122
- span = web.startChildSpan(tracer, config, name, req, traceCtx)
122
+ span = web.startServerlessSpanWithInferredProxy(tracer, config, name, req, traceCtx)
123
123
  }
124
124
 
125
125
  context.tracer = tracer
@@ -275,7 +275,7 @@ const web = {
275
275
  return context.middleware.at(-1)
276
276
  },
277
277
 
278
- startChildSpan (tracer, config, name, req, traceCtx) {
278
+ startServerlessSpanWithInferredProxy (tracer, config, name, req, traceCtx) {
279
279
  const headers = req.headers
280
280
  const reqCtx = contexts.get(req)
281
281
  const { storage } = require('../../../../datadog-core')
@@ -338,12 +338,12 @@ const web = {
338
338
  }
339
339
  },
340
340
 
341
- finishSpan (context) {
341
+ finishSpan (context, spanType) {
342
342
  const { req, res } = context
343
343
 
344
344
  if (context.finished && !req.stream) return
345
345
 
346
- addRequestTags(context, this.TYPE)
346
+ addRequestTags(context, spanType)
347
347
  addResponseTags(context)
348
348
 
349
349
  context.config.hooks.request(context.span, req, res)
@@ -353,14 +353,14 @@ const web = {
353
353
  context.finished = true
354
354
  },
355
355
 
356
- finishAll (context) {
356
+ finishAll (context, spanType) {
357
357
  for (const beforeEnd of context.beforeEnd) {
358
358
  beforeEnd()
359
359
  }
360
360
 
361
361
  web.finishMiddleware(context)
362
362
 
363
- web.finishSpan(context)
363
+ web.finishSpan(context, spanType)
364
364
 
365
365
  finishInferredProxySpan(context)
366
366
  },
@@ -457,12 +457,13 @@ function reactivate (req, fn) {
457
457
  function addRequestTags (context, spanType) {
458
458
  const { req, span, inferredProxySpan, config } = context
459
459
  const url = extractURL(req)
460
+ const type = spanType ?? WEB
460
461
 
461
462
  span.addTags({
462
463
  [HTTP_URL]: obfuscateQs(config, url),
463
464
  [HTTP_METHOD]: req.method,
464
465
  [SPAN_KIND]: SERVER,
465
- [SPAN_TYPE]: spanType,
466
+ [SPAN_TYPE]: type,
466
467
  [HTTP_USERAGENT]: req.headers['user-agent'],
467
468
  })
468
469
 
@@ -17,6 +17,7 @@ function exporterFromURL (url) {
17
17
  if (url.protocol === 'file:') {
18
18
  return new FileExporter({ pprofPrefix: fileURLToPath(url) })
19
19
  }
20
+ // TODO: Why is DD_INJECTION_ENABLED a comma separated list?
20
21
  const injectionEnabled = (getValueFromEnvSources('DD_INJECTION_ENABLED') ?? '').split(',')
21
22
  const libraryInjected = injectionEnabled.length > 0
22
23
  const profilingEnabled = (getValueFromEnvSources('DD_PROFILING_ENABLED') ?? '').toLowerCase()
@@ -0,0 +1,145 @@
1
+ 'use strict'
2
+
3
+ const { fnv64 } = require('../datastreams/fnv')
4
+ const log = require('../log')
5
+
6
+ /**
7
+ * PropagationHashManager is a singleton that manages the propagation hash computation.
8
+ * The propagation hash is an FNV-1a 64-bit hash combining:
9
+ * - Process tags (entrypoint info, package.json name, etc.)
10
+ * - Container tags hash (received from the Datadog agent)
11
+ *
12
+ * This hash is used to correlate traces with database operations (DBM) and
13
+ * data stream pathways (DSM) for enhanced observability.
14
+ */
15
+ class PropagationHashManager {
16
+ _containerTagsHash = null
17
+ _cachedHash = null
18
+ _cachedHashString = null
19
+ _cachedHashBase64 = null
20
+ _config = null
21
+
22
+ /**
23
+ * Configure the propagation hash manager with tracer config
24
+ * @param {object} config - Tracer configuration
25
+ */
26
+ configure (config) {
27
+ this._config = config
28
+ }
29
+
30
+ /**
31
+ * Check if process tags propagation is enabled
32
+ * @returns {boolean}
33
+ */
34
+ isEnabled () {
35
+ return this._config?.propagateProcessTags?.enabled === true
36
+ }
37
+
38
+ /**
39
+ * Update the container tags hash received from the agent
40
+ * @param {string} hash - Container tags hash from agent response
41
+ */
42
+ updateContainerTagsHash (hash) {
43
+ if (hash !== this._containerTagsHash) {
44
+ log.debug('Updating container tags hash: %s', hash)
45
+ this._containerTagsHash = hash
46
+ this._invalidateCache()
47
+ }
48
+ }
49
+
50
+ /**
51
+ * Get the propagation hash as a BigInt
52
+ * @returns {bigint | null} The propagation hash or null if disabled/unavailable
53
+ */
54
+ getHash () {
55
+ if (!this.isEnabled()) {
56
+ return null
57
+ }
58
+ if (this._cachedHash) {
59
+ return this._cachedHash
60
+ }
61
+ this._computeHash()
62
+ return this._cachedHash
63
+ }
64
+
65
+ /**
66
+ * Get the propagation hash as a hexadecimal string
67
+ * @returns {string|null} The propagation hash in hex format or null if disabled/unavailable
68
+ */
69
+ getHashString () {
70
+ const hash = this.getHash()
71
+ if (!hash) {
72
+ return null
73
+ }
74
+ if (!this._cachedHashString) {
75
+ this._cachedHashString = hash.toString(16)
76
+ }
77
+ return this._cachedHashString
78
+ }
79
+
80
+ /**
81
+ * Get the propagation hash as a base64 string
82
+ * @returns {string|null} The propagation hash in base64 format or null if disabled/unavailable
83
+ */
84
+ getHashBase64 () {
85
+ const hash = this.getHash()
86
+ if (!hash) {
87
+ return null
88
+ }
89
+ if (!this._cachedHashBase64) {
90
+ // Convert BigInt to 8-byte buffer (64-bit hash)
91
+ const buffer = Buffer.allocUnsafe(8)
92
+ // Write as big-endian 64-bit unsigned integer
93
+ buffer.writeBigUInt64BE(hash, 0)
94
+ this._cachedHashBase64 = buffer.toString('base64')
95
+ }
96
+ return this._cachedHashBase64
97
+ }
98
+
99
+ /**
100
+ * Compute the propagation hash using FNV-1a algorithm
101
+ * @private
102
+ */
103
+ _computeHash () {
104
+ try {
105
+ const processTags = require('../process-tags')
106
+
107
+ // Combine process tags and container tags hash
108
+ // Process tags are already serialized as a comma-separated string
109
+ const input = processTags.serialized + (this._containerTagsHash || '')
110
+
111
+ if (!input) {
112
+ // If both are empty, don't compute a hash
113
+ this._cachedHash = null
114
+ this._cachedHashString = null
115
+ this._cachedHashBase64 = null
116
+ return
117
+ }
118
+
119
+ // Compute FNV-1a 64-bit hash
120
+ this._cachedHash = fnv64(input)
121
+ this._cachedHashString = null // Will be computed on demand
122
+ this._cachedHashBase64 = null // Will be computed on demand
123
+
124
+ log.debug('Computed propagation hash from input (length=%s): "%s"', input.length, this._cachedHash.toString(16))
125
+ } catch (e) {
126
+ log.error('Error computing propagation hash', e)
127
+ this._cachedHash = null
128
+ this._cachedHashString = null
129
+ this._cachedHashBase64 = null
130
+ }
131
+ }
132
+
133
+ /**
134
+ * Invalidate the cached hash
135
+ * @private
136
+ */
137
+ _invalidateCache () {
138
+ this._cachedHash = null
139
+ this._cachedHashString = null
140
+ this._cachedHashBase64 = null
141
+ }
142
+ }
143
+
144
+ // Export singleton instance
145
+ module.exports = new PropagationHashManager()
@@ -102,6 +102,10 @@ class Tracer extends NoopProxy {
102
102
  try {
103
103
  const config = getConfig(options) // TODO: support dynamic code config
104
104
 
105
+ // Configure propagation hash manager for process tags + container tags
106
+ const propagationHash = require('./propagation-hash')
107
+ propagationHash.configure(config)
108
+
105
109
  if (config.crashtracking.enabled) {
106
110
  require('./crashtracking').start(config)
107
111
  }
@@ -238,7 +238,7 @@ function captureHeapSpace () {
238
238
  const stats = v8.getHeapSpaceStatistics()
239
239
 
240
240
  for (let i = 0, l = stats.length; i < l; i++) {
241
- const tags = [`space:${stats[i].space_name}`]
241
+ const tags = [`heap_space:${stats[i].space_name}`]
242
242
 
243
243
  client.gauge('runtime.node.heap.size.by.space', stats[i].space_size, tags)
244
244
  client.gauge('runtime.node.heap.used_size.by.space', stats[i].space_used_size, tags)
@@ -4,7 +4,7 @@ const os = require('os')
4
4
  const { inspect } = require('util')
5
5
  const tracerVersion = require('../../../package.json').version
6
6
  const { getAgentUrl } = require('./agent/url')
7
- const { info, warn } = require('./log/writer')
7
+ const { warn } = require('./log/writer')
8
8
 
9
9
  const errors = {}
10
10
  let config
@@ -29,7 +29,7 @@ function startupLog (agentError) {
29
29
  out.agent_error = agentError.message
30
30
  }
31
31
 
32
- info('DATADOG TRACER CONFIGURATION - ' + out)
32
+ warn('DATADOG TRACER CONFIGURATION - ' + out)
33
33
  if (agentError) {
34
34
  warn('DATADOG TRACER DIAGNOSTIC - Agent Error: ' + agentError.message)
35
35
  errors.agentError = {
@@ -74,7 +74,7 @@ function tracerInfo () {
74
74
  runtime_metrics_enabled: !!config.runtimeMetrics,
75
75
  profiling_enabled: config.profiling?.enabled === 'true' || config.profiling?.enabled === 'auto',
76
76
  integrations_loaded: Object.keys(pluginManager._pluginsByName),
77
- appsec_enabled: !!config.appsec.enabled,
77
+ appsec_enabled: config.appsec.enabled,
78
78
  data_streams_enabled: !!config.dsmEnabled,
79
79
  }
80
80
 
@@ -1,106 +0,0 @@
1
- [
2
- {
3
- "module": {
4
- "name": "bullmq",
5
- "versionRange": ">=5.66.0",
6
- "filePath": "dist/cjs/classes/queue.js"
7
- },
8
- "functionQuery": {
9
- "methodName": "add",
10
- "className": "Queue",
11
- "kind": "Async"
12
- },
13
- "channelName": "Queue_add"
14
- },
15
- {
16
- "module": {
17
- "name": "bullmq",
18
- "versionRange": ">=5.66.0",
19
- "filePath": "dist/cjs/classes/queue.js"
20
- },
21
- "functionQuery": {
22
- "methodName": "addBulk",
23
- "className": "Queue",
24
- "kind": "Async"
25
- },
26
- "channelName": "Queue_addBulk"
27
- },
28
- {
29
- "module": {
30
- "name": "bullmq",
31
- "versionRange": ">=5.66.0",
32
- "filePath": "dist/cjs/classes/worker.js"
33
- },
34
- "functionQuery": {
35
- "methodName": "callProcessJob",
36
- "className": "Worker",
37
- "kind": "Async"
38
- },
39
- "channelName": "Worker_callProcessJob"
40
- },
41
- {
42
- "module": {
43
- "name": "bullmq",
44
- "versionRange": ">=5.66.0",
45
- "filePath": "dist/cjs/classes/flow-producer.js"
46
- },
47
- "functionQuery": {
48
- "methodName": "add",
49
- "className": "FlowProducer",
50
- "kind": "Async"
51
- },
52
- "channelName": "FlowProducer_add"
53
- },
54
- {
55
- "module": {
56
- "name": "bullmq",
57
- "versionRange": ">=5.66.0",
58
- "filePath": "dist/esm/classes/queue.js"
59
- },
60
- "functionQuery": {
61
- "methodName": "add",
62
- "className": "Queue",
63
- "kind": "Async"
64
- },
65
- "channelName": "Queue_add"
66
- },
67
- {
68
- "module": {
69
- "name": "bullmq",
70
- "versionRange": ">=5.66.0",
71
- "filePath": "dist/esm/classes/queue.js"
72
- },
73
- "functionQuery": {
74
- "methodName": "addBulk",
75
- "className": "Queue",
76
- "kind": "Async"
77
- },
78
- "channelName": "Queue_addBulk"
79
- },
80
- {
81
- "module": {
82
- "name": "bullmq",
83
- "versionRange": ">=5.66.0",
84
- "filePath": "dist/esm/classes/worker.js"
85
- },
86
- "functionQuery": {
87
- "methodName": "callProcessJob",
88
- "className": "Worker",
89
- "kind": "Async"
90
- },
91
- "channelName": "Worker_callProcessJob"
92
- },
93
- {
94
- "module": {
95
- "name": "bullmq",
96
- "versionRange": ">=5.66.0",
97
- "filePath": "dist/esm/classes/flow-producer.js"
98
- },
99
- "functionQuery": {
100
- "methodName": "add",
101
- "className": "FlowProducer",
102
- "kind": "Async"
103
- },
104
- "channelName": "FlowProducer_add"
105
- }
106
- ]