dd-trace 5.82.0 → 5.84.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 (150) hide show
  1. package/LICENSE-3rdparty.csv +77 -79
  2. package/ci/init.js +6 -6
  3. package/index.d.ts +213 -4
  4. package/loader-hook.mjs +1 -1
  5. package/package.json +59 -56
  6. package/packages/datadog-core/src/storage.js +7 -7
  7. package/packages/datadog-esbuild/index.js +6 -0
  8. package/packages/datadog-instrumentations/src/ai.js +7 -3
  9. package/packages/datadog-instrumentations/src/child_process.js +1 -1
  10. package/packages/datadog-instrumentations/src/cucumber.js +1 -1
  11. package/packages/datadog-instrumentations/src/graphql.js +1 -1
  12. package/packages/datadog-instrumentations/src/helpers/instrumentations.js +4 -3
  13. package/packages/datadog-instrumentations/src/helpers/register.js +3 -7
  14. package/packages/datadog-instrumentations/src/helpers/rewriter/compiler.js +6 -0
  15. package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +2 -1
  16. package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +73 -16
  17. package/packages/datadog-instrumentations/src/http/client.js +2 -2
  18. package/packages/datadog-instrumentations/src/jest.js +124 -64
  19. package/packages/datadog-instrumentations/src/koa.js +2 -1
  20. package/packages/datadog-instrumentations/src/light-my-request.js +2 -2
  21. package/packages/datadog-instrumentations/src/mocha/main.js +2 -2
  22. package/packages/datadog-instrumentations/src/mocha/worker.js +1 -1
  23. package/packages/datadog-instrumentations/src/mocha.js +1 -1
  24. package/packages/datadog-instrumentations/src/mysql.js +1 -1
  25. package/packages/datadog-instrumentations/src/mysql2.js +2 -2
  26. package/packages/datadog-instrumentations/src/net.js +13 -5
  27. package/packages/datadog-instrumentations/src/nyc.js +1 -1
  28. package/packages/datadog-instrumentations/src/otel-sdk-trace.js +4 -4
  29. package/packages/datadog-instrumentations/src/pg.js +4 -2
  30. package/packages/datadog-instrumentations/src/playwright.js +15 -11
  31. package/packages/datadog-instrumentations/src/selenium.js +2 -2
  32. package/packages/datadog-instrumentations/src/undici.js +12 -1
  33. package/packages/datadog-plugin-aws-sdk/src/base.js +4 -4
  34. package/packages/datadog-plugin-azure-event-hubs/src/producer.js +2 -2
  35. package/packages/datadog-plugin-azure-service-bus/src/producer.js +2 -2
  36. package/packages/datadog-plugin-cucumber/src/index.js +35 -34
  37. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +2 -2
  38. package/packages/datadog-plugin-dd-trace-api/src/index.js +2 -2
  39. package/packages/datadog-plugin-express/src/code_origin.js +21 -15
  40. package/packages/datadog-plugin-fastify/src/code_origin.js +17 -4
  41. package/packages/datadog-plugin-jest/src/index.js +2 -2
  42. package/packages/datadog-plugin-mocha/src/index.js +2 -2
  43. package/packages/datadog-plugin-mongodb-core/src/index.js +2 -2
  44. package/packages/datadog-plugin-playwright/src/index.js +26 -26
  45. package/packages/datadog-plugin-undici/src/index.js +305 -2
  46. package/packages/datadog-plugin-vitest/src/index.js +5 -5
  47. package/packages/datadog-shimmer/src/shimmer.js +2 -5
  48. package/packages/dd-trace/index.js +19 -0
  49. package/packages/dd-trace/src/agent/info.js +57 -0
  50. package/packages/dd-trace/src/agent/url.js +28 -0
  51. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +1 -1
  52. package/packages/dd-trace/src/appsec/index.js +47 -7
  53. package/packages/dd-trace/src/appsec/rasp/index.js +2 -4
  54. package/packages/dd-trace/src/azure_metadata.js +8 -3
  55. package/packages/dd-trace/src/baggage.js +36 -11
  56. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +5 -1
  57. package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +2 -2
  58. package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +3 -4
  59. package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +2 -2
  60. package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +5 -5
  61. package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +2 -2
  62. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +5 -11
  63. package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +3 -3
  64. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +4 -4
  65. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +1 -1
  66. package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +2 -2
  67. package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +4 -4
  68. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +4 -4
  69. package/packages/dd-trace/src/ci-visibility/telemetry.js +6 -2
  70. package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +2 -2
  71. package/packages/dd-trace/src/{config_defaults.js → config/defaults.js} +3 -3
  72. package/packages/dd-trace/src/{config-helper.js → config/helper.js} +88 -15
  73. package/packages/dd-trace/src/{config.js → config/index.js} +107 -46
  74. package/packages/dd-trace/src/config/remote_config.js +188 -19
  75. package/packages/dd-trace/src/{config_stable.js → config/stable.js} +20 -32
  76. package/packages/dd-trace/src/{supported-configurations.json → config/supported-configurations.json} +3 -1
  77. package/packages/dd-trace/src/crashtracking/crashtracker.js +2 -5
  78. package/packages/dd-trace/src/datastreams/processor.js +1 -1
  79. package/packages/dd-trace/src/datastreams/writer.js +2 -8
  80. package/packages/dd-trace/src/debugger/devtools_client/condition.js +1 -1
  81. package/packages/dd-trace/src/debugger/devtools_client/config.js +2 -7
  82. package/packages/dd-trace/src/debugger/devtools_client/json-buffer.js +10 -11
  83. package/packages/dd-trace/src/debugger/devtools_client/send.js +3 -3
  84. package/packages/dd-trace/src/debugger/devtools_client/snapshot/constants.js +1 -1
  85. package/packages/dd-trace/src/debugger/index.js +83 -15
  86. package/packages/dd-trace/src/dogstatsd.js +5 -11
  87. package/packages/dd-trace/src/encode/0.4.js +2 -2
  88. package/packages/dd-trace/src/exporter.js +1 -1
  89. package/packages/dd-trace/src/exporters/agent/index.js +5 -11
  90. package/packages/dd-trace/src/exporters/agent/writer.js +12 -16
  91. package/packages/dd-trace/src/exporters/common/{agent-info-exporter.js → buffering-exporter.js} +10 -37
  92. package/packages/dd-trace/src/exporters/common/docker.js +2 -2
  93. package/packages/dd-trace/src/exporters/common/request.js +1 -1
  94. package/packages/dd-trace/src/exporters/common/util.js +2 -2
  95. package/packages/dd-trace/src/exporters/span-stats/index.js +3 -10
  96. package/packages/dd-trace/src/flare/index.js +1 -1
  97. package/packages/dd-trace/src/guardrails/telemetry.js +1 -1
  98. package/packages/dd-trace/src/index.js +4 -4
  99. package/packages/dd-trace/src/lambda/handler.js +2 -2
  100. package/packages/dd-trace/src/lambda/index.js +2 -2
  101. package/packages/dd-trace/src/lambda/runtime/patch.js +2 -2
  102. package/packages/dd-trace/src/lambda/runtime/ritm.js +2 -2
  103. package/packages/dd-trace/src/llmobs/constants/tags.js +8 -1
  104. package/packages/dd-trace/src/llmobs/index.js +2 -2
  105. package/packages/dd-trace/src/llmobs/noop.js +2 -0
  106. package/packages/dd-trace/src/llmobs/plugins/openai/index.js +3 -4
  107. package/packages/dd-trace/src/llmobs/sdk.js +33 -6
  108. package/packages/dd-trace/src/llmobs/span_processor.js +17 -7
  109. package/packages/dd-trace/src/llmobs/tagger.js +175 -1
  110. package/packages/dd-trace/src/llmobs/writers/base.js +118 -45
  111. package/packages/dd-trace/src/llmobs/writers/spans.js +4 -3
  112. package/packages/dd-trace/src/llmobs/writers/util.js +3 -9
  113. package/packages/dd-trace/src/log/index.js +50 -35
  114. package/packages/dd-trace/src/log/writer.js +13 -78
  115. package/packages/dd-trace/src/noop/proxy.js +3 -3
  116. package/packages/dd-trace/src/openfeature/writers/base.js +9 -16
  117. package/packages/dd-trace/src/openfeature/writers/util.js +3 -8
  118. package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +2 -2
  119. package/packages/dd-trace/src/opentelemetry/tracer.js +48 -6
  120. package/packages/dd-trace/src/opentracing/propagation/text_map.js +45 -21
  121. package/packages/dd-trace/src/opentracing/span.js +4 -4
  122. package/packages/dd-trace/src/plugin_manager.js +8 -6
  123. package/packages/dd-trace/src/plugins/util/ci.js +5 -8
  124. package/packages/dd-trace/src/plugins/util/git-cache.js +3 -3
  125. package/packages/dd-trace/src/plugins/util/test.js +1 -1
  126. package/packages/dd-trace/src/plugins/util/user-provided-git.js +41 -43
  127. package/packages/dd-trace/src/profiler.js +4 -39
  128. package/packages/dd-trace/src/profiling/config.js +74 -34
  129. package/packages/dd-trace/src/profiling/exporter_cli.js +5 -5
  130. package/packages/dd-trace/src/profiling/exporters/agent.js +1 -1
  131. package/packages/dd-trace/src/profiling/exporters/event_serializer.js +9 -2
  132. package/packages/dd-trace/src/profiling/index.js +1 -1
  133. package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
  134. package/packages/dd-trace/src/profiling/profiler.js +57 -2
  135. package/packages/dd-trace/src/proxy.js +34 -5
  136. package/packages/dd-trace/src/remote_config/capabilities.js +4 -0
  137. package/packages/dd-trace/src/remote_config/index.js +2 -7
  138. package/packages/dd-trace/src/ritm.js +8 -4
  139. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +2 -2
  140. package/packages/dd-trace/src/serverless.js +2 -2
  141. package/packages/dd-trace/src/span_processor.js +2 -2
  142. package/packages/dd-trace/src/startup-log.js +7 -16
  143. package/packages/dd-trace/src/telemetry/endpoints.js +67 -5
  144. package/packages/dd-trace/src/telemetry/send-data.js +103 -4
  145. package/packages/dd-trace/src/telemetry/telemetry.js +229 -110
  146. package/vendor/dist/@isaacs/ttlcache/index.js +1 -1
  147. package/vendor/dist/esquery/index.js +1 -1
  148. package/vendor/dist/meriyah/index.js +1 -1
  149. package/vendor/dist/protobufjs/index.js +1 -1
  150. /package/packages/dd-trace/src/{git_properties.js → config/git_properties.js} +0 -0
@@ -2,51 +2,51 @@
2
2
 
3
3
  const CiPlugin = require('../../dd-trace/src/plugins/ci_plugin')
4
4
  const { storage } = require('../../datadog-core')
5
- const { getEnvironmentVariable } = require('../../dd-trace/src/config-helper')
5
+ const { getEnvironmentVariable, getValueFromEnvSources } = require('../../dd-trace/src/config/helper')
6
6
 
7
7
  const {
8
- TEST_SKIP_REASON,
9
- TEST_STATUS,
10
- TEST_SOURCE_START,
8
+ addIntelligentTestRunnerSpanTags,
11
9
  finishAllTraceSpans,
12
- getTestSuitePath,
10
+ getTestEndLine,
13
11
  getTestSuiteCommonTags,
14
- addIntelligentTestRunnerSpanTags,
15
- TEST_ITR_UNSKIPPABLE,
16
- TEST_ITR_FORCED_RUN,
17
- TEST_CODE_OWNERS,
12
+ getTestSuitePath,
13
+ isModifiedTest,
14
+ CUCUMBER_IS_PARALLEL,
18
15
  ITR_CORRELATION_ID,
19
- TEST_SOURCE_FILE,
20
- TEST_EARLY_FLAKE_ENABLED,
16
+ TEST_BROWSER_DRIVER,
17
+ TEST_CODE_OWNERS,
21
18
  TEST_EARLY_FLAKE_ABORT_REASON,
19
+ TEST_EARLY_FLAKE_ENABLED,
20
+ TEST_HAS_FAILED_ALL_RETRIES,
21
+ TEST_IS_MODIFIED,
22
22
  TEST_IS_NEW,
23
23
  TEST_IS_RETRY,
24
- CUCUMBER_IS_PARALLEL,
25
- TEST_RETRY_REASON,
24
+ TEST_IS_RUM_ACTIVE,
25
+ TEST_ITR_FORCED_RUN,
26
+ TEST_ITR_UNSKIPPABLE,
27
+ TEST_MANAGEMENT_ATTEMPT_TO_FIX_PASSED,
26
28
  TEST_MANAGEMENT_ENABLED,
27
- TEST_MANAGEMENT_IS_QUARANTINED,
28
- TEST_MANAGEMENT_IS_DISABLED,
29
29
  TEST_MANAGEMENT_IS_ATTEMPT_TO_FIX,
30
- TEST_HAS_FAILED_ALL_RETRIES,
31
- TEST_MANAGEMENT_ATTEMPT_TO_FIX_PASSED,
30
+ TEST_MANAGEMENT_IS_DISABLED,
31
+ TEST_MANAGEMENT_IS_QUARANTINED,
32
32
  TEST_RETRY_REASON_TYPES,
33
- TEST_IS_MODIFIED,
34
- isModifiedTest,
35
- getTestEndLine
33
+ TEST_RETRY_REASON,
34
+ TEST_SKIP_REASON,
35
+ TEST_SOURCE_FILE,
36
+ TEST_SOURCE_START,
37
+ TEST_STATUS,
36
38
  } = require('../../dd-trace/src/plugins/util/test')
37
39
  const { RESOURCE_NAME } = require('../../../ext/tags')
38
40
  const { COMPONENT, ERROR_MESSAGE } = require('../../dd-trace/src/constants')
39
41
  const {
42
+ TELEMETRY_CODE_COVERAGE_EMPTY,
43
+ TELEMETRY_CODE_COVERAGE_FINISHED,
44
+ TELEMETRY_CODE_COVERAGE_NUM_FILES,
45
+ TELEMETRY_CODE_COVERAGE_STARTED,
40
46
  TELEMETRY_EVENT_CREATED,
41
47
  TELEMETRY_EVENT_FINISHED,
42
- TELEMETRY_CODE_COVERAGE_STARTED,
43
- TELEMETRY_CODE_COVERAGE_FINISHED,
44
48
  TELEMETRY_ITR_FORCED_TO_RUN,
45
- TELEMETRY_CODE_COVERAGE_EMPTY,
46
49
  TELEMETRY_ITR_UNSKIPPABLE,
47
- TELEMETRY_CODE_COVERAGE_NUM_FILES,
48
- TEST_IS_RUM_ACTIVE,
49
- TEST_BROWSER_DRIVER,
50
50
  TELEMETRY_TEST_SESSION
51
51
  } = require('../../dd-trace/src/ci-visibility/telemetry')
52
52
 
@@ -112,7 +112,7 @@ class CucumberPlugin extends CiPlugin {
112
112
  finishAllTraceSpans(this.testSessionSpan)
113
113
  this.telemetry.count(TELEMETRY_TEST_SESSION, {
114
114
  provider: this.ciProviderName,
115
- autoInjected: !!getEnvironmentVariable('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
115
+ autoInjected: !!getValueFromEnvSources('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
116
116
  })
117
117
 
118
118
  this.libraryConfig = null
@@ -362,18 +362,19 @@ class CucumberPlugin extends CiPlugin {
362
362
  }
363
363
  }
364
364
 
365
+ const spanTags = span.context()._tags
366
+ const telemetryTags = {
367
+ hasCodeOwners: !!spanTags[TEST_CODE_OWNERS],
368
+ isNew,
369
+ isRum: spanTags[TEST_IS_RUM_ACTIVE] === 'true',
370
+ browserDriver: spanTags[TEST_BROWSER_DRIVER]
371
+ }
365
372
  span.finish()
366
373
  if (!isStep) {
367
- const spanTags = span.context()._tags
368
374
  this.telemetry.ciVisEvent(
369
375
  TELEMETRY_EVENT_FINISHED,
370
376
  'test',
371
- {
372
- hasCodeOwners: !!spanTags[TEST_CODE_OWNERS],
373
- isNew,
374
- isRum: spanTags[TEST_IS_RUM_ACTIVE] === 'true',
375
- browserDriver: spanTags[TEST_BROWSER_DRIVER]
376
- }
377
+ telemetryTags
377
378
  )
378
379
  finishAllTraceSpans(span)
379
380
  // If it's a worker, flushing is cheap, as it's just sending data to the main process
@@ -51,7 +51,7 @@ const {
51
51
  } = require('../../dd-trace/src/plugins/util/test')
52
52
  const { isMarkedAsUnskippable } = require('../../datadog-plugin-jest/src/util')
53
53
  const { ORIGIN_KEY, COMPONENT } = require('../../dd-trace/src/constants')
54
- const { getEnvironmentVariable } = require('../../dd-trace/src/config-helper')
54
+ const { getValueFromEnvSources } = require('../../dd-trace/src/config/helper')
55
55
  const { appClosing: appClosingTelemetry } = require('../../dd-trace/src/telemetry')
56
56
  const log = require('../../dd-trace/src/log')
57
57
 
@@ -644,7 +644,7 @@ class CypressPlugin {
644
644
  this.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'session')
645
645
  incrementCountMetric(TELEMETRY_TEST_SESSION, {
646
646
  provider: this.ciProviderName,
647
- autoInjected: !!getEnvironmentVariable('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
647
+ autoInjected: !!getValueFromEnvSources('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
648
648
  })
649
649
 
650
650
  finishAllTraceSpans(this.testSessionSpan)
@@ -3,13 +3,13 @@
3
3
  const Plugin = require('../../dd-trace/src/plugins/plugin')
4
4
  const telemetryMetrics = require('../../dd-trace/src/telemetry/metrics')
5
5
  const apiMetrics = telemetryMetrics.manager.namespace('tracers')
6
- const { getEnvironmentVariable } = require('../../dd-trace/src/config-helper')
6
+ const { getValueFromEnvSources } = require('../../dd-trace/src/config/helper')
7
7
 
8
8
  // api ==> here
9
9
  const objectMap = new WeakMap()
10
10
 
11
11
  const injectionEnabledTag =
12
- `injection_enabled:${getEnvironmentVariable('DD_INJECTION_ENABLED') ? 'yes' : 'no'}`
12
+ `injection_enabled:${getValueFromEnvSources('DD_INJECTION_ENABLED') ? 'yes' : 'no'}`
13
13
 
14
14
  module.exports = class DdTraceApiPlugin extends Plugin {
15
15
  static id = 'dd-trace-api'
@@ -1,5 +1,7 @@
1
1
  'use strict'
2
2
 
3
+ const dc = require('dc-polyfill')
4
+
3
5
  const { entryTags } = require('../../datadog-code-origin')
4
6
  const Plugin = require('../../dd-trace/src/plugins/plugin')
5
7
  const web = require('../../dd-trace/src/plugins/util/web')
@@ -12,29 +14,33 @@ class ExpressCodeOriginForSpansPlugin extends Plugin {
12
14
 
13
15
  const layerTags = new WeakMap()
14
16
 
15
- this.addSub('apm:express:middleware:enter', ({ req, layer }) => {
17
+ // Middleware/request handling: apply pre-computed tags to spans
18
+ const handleMiddlewareEnter = ({ req, layer }) => {
16
19
  const tags = layerTags.get(layer)
17
20
  if (!tags) return
18
21
  web.getContext(req)?.span?.addTags(tags)
19
- })
20
-
21
- this.addSub('apm:express:route:added', ({ topOfStackFunc, layer }) => {
22
- if (!layer) return
23
- if (layerTags.has(layer)) return
24
- layerTags.set(layer, entryTags(topOfStackFunc))
25
- })
22
+ }
26
23
 
27
- this.addSub('apm:router:middleware:enter', ({ req, layer }) => {
28
- const tags = layerTags.get(layer)
29
- if (!tags) return
30
- web.getContext(req)?.span?.addTags(tags)
31
- })
24
+ this.addSub('apm:express:middleware:enter', handleMiddlewareEnter)
25
+ this.addSub('apm:router:middleware:enter', handleMiddlewareEnter)
32
26
 
33
- this.addSub('apm:router:route:added', ({ topOfStackFunc, layer }) => {
27
+ // Route added handling: compute and cache tags
28
+ const handleRouteAdded = ({ topOfStackFunc, layer }) => {
34
29
  if (!layer) return
35
30
  if (layerTags.has(layer)) return
36
31
  layerTags.set(layer, entryTags(topOfStackFunc))
37
- })
32
+ }
33
+
34
+ if (this._tracerConfig.remoteConfig?.enabled) {
35
+ // When RC is enabled, use manual subscriptions (always pre-compute)
36
+ // This allows tags to be computed even when CO is disabled, so runtime enabling works
37
+ dc.channel('apm:express:route:added').subscribe(handleRouteAdded)
38
+ dc.channel('apm:router:route:added').subscribe(handleRouteAdded)
39
+ } else {
40
+ // When RC is disabled, use addSub (only computes when CO is enabled)
41
+ this.addSub('apm:express:route:added', handleRouteAdded)
42
+ this.addSub('apm:router:route:added', handleRouteAdded)
43
+ }
38
44
  }
39
45
  }
40
46
 
@@ -1,5 +1,7 @@
1
1
  'use strict'
2
2
 
3
+ const dc = require('dc-polyfill')
4
+
3
5
  const { entryTags } = require('../../datadog-code-origin')
4
6
  const Plugin = require('../../dd-trace/src/plugins/plugin')
5
7
  const web = require('../../dd-trace/src/plugins/util/web')
@@ -18,11 +20,22 @@ class FastifyCodeOriginForSpansPlugin extends Plugin {
18
20
  web.getContext(req)?.span?.addTags(tags)
19
21
  })
20
22
 
21
- this.addSub('apm:fastify:route:added', ({ routeOptions, onRoute }) => {
22
- if (!routeOptions.config) routeOptions.config = {}
23
- routeOptions.config[kCodeOriginForSpansTagsSym] = entryTags(onRoute)
24
- })
23
+ if (this._tracerConfig.remoteConfig?.enabled) {
24
+ // When RC is enabled, use manual subscription (always pre-computes)
25
+ // This allows tags to be computed even when CO is disabled, so runtime enabling works
26
+ dc.channel('apm:fastify:route:added').subscribe(handleRouteAdded)
27
+ } else {
28
+ // When RC is disabled, use addSub (only computes when CO is enabled)
29
+ this.addSub('apm:fastify:route:added', handleRouteAdded)
30
+ }
25
31
  }
26
32
  }
27
33
 
28
34
  module.exports = FastifyCodeOriginForSpansPlugin
35
+
36
+ // Route added handling: compute and cache tags
37
+ function handleRouteAdded ({ routeOptions, onRoute }) {
38
+ if (!routeOptions.config) routeOptions.config = {}
39
+ if (routeOptions.config[kCodeOriginForSpansTagsSym]) return
40
+ routeOptions.config[kCodeOriginForSpansTagsSym] = entryTags(onRoute)
41
+ }
@@ -2,7 +2,7 @@
2
2
 
3
3
  const CiPlugin = require('../../dd-trace/src/plugins/ci_plugin')
4
4
  const { storage } = require('../../datadog-core')
5
- const { getEnvironmentVariable } = require('../../dd-trace/src/config-helper')
5
+ const { getEnvironmentVariable, getValueFromEnvSources } = require('../../dd-trace/src/config/helper')
6
6
 
7
7
  const {
8
8
  TEST_STATUS,
@@ -161,7 +161,7 @@ class JestPlugin extends CiPlugin {
161
161
 
162
162
  this.telemetry.count(TELEMETRY_TEST_SESSION, {
163
163
  provider: this.ciProviderName,
164
- autoInjected: !!getEnvironmentVariable('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
164
+ autoInjected: !!getValueFromEnvSources('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
165
165
  })
166
166
 
167
167
  this.tracer._exporter.flush(() => {
@@ -2,7 +2,7 @@
2
2
 
3
3
  const CiPlugin = require('../../dd-trace/src/plugins/ci_plugin')
4
4
  const { storage } = require('../../datadog-core')
5
- const { getEnvironmentVariable } = require('../../dd-trace/src/config-helper')
5
+ const { getValueFromEnvSources } = require('../../dd-trace/src/config/helper')
6
6
 
7
7
  const {
8
8
  TEST_STATUS,
@@ -406,7 +406,7 @@ class MochaPlugin extends CiPlugin {
406
406
  finishAllTraceSpans(this.testSessionSpan)
407
407
  this.telemetry.count(TELEMETRY_TEST_SESSION, {
408
408
  provider: this.ciProviderName,
409
- autoInjected: !!getEnvironmentVariable('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
409
+ autoInjected: !!getValueFromEnvSources('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
410
410
  })
411
411
  }
412
412
  this.libraryConfig = null
@@ -2,7 +2,7 @@
2
2
 
3
3
  const { isTrue } = require('../../dd-trace/src/util')
4
4
  const DatabasePlugin = require('../../dd-trace/src/plugins/database')
5
- const { getEnvironmentVariable } = require('../../dd-trace/src/config-helper')
5
+ const { getValueFromEnvSources } = require('../../dd-trace/src/config/helper')
6
6
 
7
7
  class MongodbCorePlugin extends DatabasePlugin {
8
8
  static id = 'mongodb-core'
@@ -20,7 +20,7 @@ class MongodbCorePlugin extends DatabasePlugin {
20
20
  configure (config) {
21
21
  super.configure(config)
22
22
 
23
- const heartbeatFromEnv = getEnvironmentVariable('DD_TRACE_MONGODB_HEARTBEAT_ENABLED')
23
+ const heartbeatFromEnv = getValueFromEnvSources('DD_TRACE_MONGODB_HEARTBEAT_ENABLED')
24
24
 
25
25
  this.config.heartbeatEnabled = config.heartbeatEnabled ??
26
26
  (heartbeatFromEnv && isTrue(heartbeatFromEnv)) ??
@@ -3,48 +3,48 @@
3
3
  const { storage } = require('../../datadog-core')
4
4
  const id = require('../../dd-trace/src/id')
5
5
  const CiPlugin = require('../../dd-trace/src/plugins/ci_plugin')
6
- const { getEnvironmentVariable } = require('../../dd-trace/src/config-helper')
6
+ const { getValueFromEnvSources } = require('../../dd-trace/src/config/helper')
7
7
 
8
8
  const {
9
- TEST_STATUS,
10
9
  finishAllTraceSpans,
11
- getTestSuitePath,
12
10
  getTestSuiteCommonTags,
13
- TEST_SOURCE_START,
11
+ getTestSuitePath,
12
+ isModifiedTest,
13
+ TEST_BROWSER_NAME,
14
+ TEST_BROWSER_VERSION,
14
15
  TEST_CODE_OWNERS,
15
- TEST_SOURCE_FILE,
16
- TEST_PARAMETERS,
16
+ TEST_COMMAND,
17
+ TEST_EARLY_FLAKE_ABORT_REASON,
18
+ TEST_EARLY_FLAKE_ENABLED,
19
+ TEST_HAS_FAILED_ALL_RETRIES,
20
+ TEST_IS_MODIFIED,
17
21
  TEST_IS_NEW,
18
22
  TEST_IS_RETRY,
19
- TEST_EARLY_FLAKE_ENABLED,
20
- TEST_EARLY_FLAKE_ABORT_REASON,
21
- TELEMETRY_TEST_SESSION,
22
- TEST_RETRY_REASON,
23
- TEST_MANAGEMENT_IS_QUARANTINED,
23
+ TEST_IS_RUM_ACTIVE,
24
+ TEST_MANAGEMENT_ATTEMPT_TO_FIX_PASSED,
24
25
  TEST_MANAGEMENT_ENABLED,
25
- TEST_BROWSER_NAME,
26
- TEST_MANAGEMENT_IS_DISABLED,
27
26
  TEST_MANAGEMENT_IS_ATTEMPT_TO_FIX,
28
- TEST_HAS_FAILED_ALL_RETRIES,
29
- TEST_MANAGEMENT_ATTEMPT_TO_FIX_PASSED,
30
- TEST_SESSION_ID,
27
+ TEST_MANAGEMENT_IS_DISABLED,
28
+ TEST_MANAGEMENT_IS_QUARANTINED,
31
29
  TEST_MODULE_ID,
32
- TEST_COMMAND,
33
30
  TEST_MODULE,
34
- TEST_SUITE,
35
- TEST_SUITE_ID,
36
31
  TEST_NAME,
37
- TEST_IS_RUM_ACTIVE,
38
- TEST_BROWSER_VERSION,
32
+ TEST_PARAMETERS,
39
33
  TEST_RETRY_REASON_TYPES,
40
- TEST_IS_MODIFIED,
41
- isModifiedTest
34
+ TEST_RETRY_REASON,
35
+ TEST_SESSION_ID,
36
+ TEST_SOURCE_FILE,
37
+ TEST_SOURCE_START,
38
+ TEST_STATUS,
39
+ TEST_SUITE_ID,
40
+ TEST_SUITE,
42
41
  } = require('../../dd-trace/src/plugins/util/test')
43
42
  const { RESOURCE_NAME } = require('../../../ext/tags')
44
43
  const { COMPONENT } = require('../../dd-trace/src/constants')
45
44
  const {
46
45
  TELEMETRY_EVENT_CREATED,
47
- TELEMETRY_EVENT_FINISHED
46
+ TELEMETRY_EVENT_FINISHED,
47
+ TELEMETRY_TEST_SESSION,
48
48
  } = require('../../dd-trace/src/ci-visibility/telemetry')
49
49
  const { appClosing: appClosingTelemetry } = require('../../dd-trace/src/telemetry')
50
50
  const log = require('../../dd-trace/src/log')
@@ -106,7 +106,7 @@ class PlaywrightPlugin extends CiPlugin {
106
106
  finishAllTraceSpans(this.testSessionSpan)
107
107
  this.telemetry.count(TELEMETRY_TEST_SESSION, {
108
108
  provider: this.ciProviderName,
109
- autoInjected: !!getEnvironmentVariable('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
109
+ autoInjected: !!getValueFromEnvSources('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
110
110
  })
111
111
  appClosingTelemetry()
112
112
  this.tracer._exporter.flush(onDone)
@@ -393,7 +393,7 @@ class PlaywrightPlugin extends CiPlugin {
393
393
  span.finish()
394
394
 
395
395
  finishAllTraceSpans(span)
396
- if (getEnvironmentVariable('DD_PLAYWRIGHT_WORKER')) {
396
+ if (getValueFromEnvSources('DD_PLAYWRIGHT_WORKER')) {
397
397
  this.tracer._exporter.flush(onDone)
398
398
  }
399
399
  })