dd-trace 5.67.0 → 5.68.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.
- package/LICENSE-3rdparty.csv +0 -3
- package/README.md +0 -2
- package/ci/init.js +52 -54
- package/ext/exporters.d.ts +2 -1
- package/ext/exporters.js +2 -1
- package/index.d.ts +47 -2
- package/initialize.mjs +1 -1
- package/package.json +8 -11
- package/packages/datadog-esbuild/index.js +56 -0
- package/packages/datadog-instrumentations/src/aws-sdk.js +42 -4
- package/packages/datadog-instrumentations/src/azure-functions.js +1 -1
- package/packages/datadog-instrumentations/src/azure-service-bus.js +1 -1
- package/packages/datadog-instrumentations/src/cassandra-driver.js +2 -2
- package/packages/datadog-instrumentations/src/connect.js +6 -2
- package/packages/datadog-instrumentations/src/cucumber.js +31 -6
- package/packages/datadog-instrumentations/src/express.js +5 -6
- package/packages/datadog-instrumentations/src/fastify.js +3 -3
- package/packages/datadog-instrumentations/src/helpers/hook.js +28 -15
- package/packages/datadog-instrumentations/src/helpers/hooks.js +2 -0
- package/packages/datadog-instrumentations/src/helpers/instrument.js +11 -2
- package/packages/datadog-instrumentations/src/helpers/register.js +10 -3
- package/packages/datadog-instrumentations/src/http2/client.js +1 -0
- package/packages/datadog-instrumentations/src/http2/server.js +0 -1
- package/packages/datadog-instrumentations/src/ioredis.js +12 -1
- package/packages/datadog-instrumentations/src/jest.js +48 -36
- package/packages/datadog-instrumentations/src/limitd-client.js +2 -1
- package/packages/datadog-instrumentations/src/mocha/main.js +15 -7
- package/packages/datadog-instrumentations/src/mocha/utils.js +3 -0
- package/packages/datadog-instrumentations/src/mongoose.js +2 -1
- package/packages/datadog-instrumentations/src/oracledb.js +19 -13
- package/packages/datadog-instrumentations/src/pg.js +9 -5
- package/packages/datadog-instrumentations/src/pino.js +18 -6
- package/packages/datadog-instrumentations/src/playwright.js +15 -1
- package/packages/datadog-instrumentations/src/sequelize.js +1 -1
- package/packages/datadog-instrumentations/src/vitest.js +155 -62
- package/packages/datadog-plugin-ai/src/tracing.js +3 -3
- package/packages/datadog-plugin-aws-sdk/src/base.js +23 -8
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +2 -2
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +101 -2
- package/packages/datadog-plugin-aws-sdk/src/util.js +1 -1
- package/packages/datadog-plugin-cucumber/src/index.js +4 -56
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +6 -2
- package/packages/datadog-plugin-cypress/src/support.js +4 -0
- package/packages/datadog-plugin-express/src/code_origin.js +2 -2
- package/packages/datadog-plugin-fastify/src/code_origin.js +1 -2
- package/packages/datadog-plugin-jest/src/index.js +0 -21
- package/packages/datadog-plugin-mocha/src/index.js +3 -57
- package/packages/datadog-plugin-mongodb-core/src/index.js +20 -7
- package/packages/datadog-plugin-playwright/src/index.js +11 -5
- package/packages/datadog-plugin-vitest/src/index.js +5 -1
- package/packages/datadog-plugin-ws/src/close.js +1 -1
- package/packages/datadog-plugin-ws/src/producer.js +6 -1
- package/packages/datadog-plugin-ws/src/receiver.js +6 -1
- package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +1 -1
- package/packages/dd-trace/src/appsec/telemetry/waf.js +2 -2
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +4 -4
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +11 -3
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +10 -1
- package/packages/dd-trace/src/config.js +69 -304
- package/packages/dd-trace/src/config_defaults.js +186 -0
- package/packages/dd-trace/src/crashtracking/crashtracker.js +2 -1
- package/packages/dd-trace/src/datastreams/fnv.js +2 -2
- package/packages/dd-trace/src/datastreams/writer.js +3 -2
- package/packages/dd-trace/src/debugger/devtools_client/config.js +2 -1
- package/packages/dd-trace/src/dogstatsd.js +4 -3
- package/packages/dd-trace/src/encode/0.4.js +1 -5
- package/packages/dd-trace/src/exporter.js +1 -0
- package/packages/dd-trace/src/exporters/agent/index.js +3 -2
- package/packages/dd-trace/src/exporters/agent/writer.js +1 -1
- package/packages/dd-trace/src/exporters/common/agent-info-exporter.js +3 -2
- package/packages/dd-trace/src/exporters/common/request.js +2 -1
- package/packages/dd-trace/src/exporters/span-stats/index.js +3 -2
- package/packages/dd-trace/src/llmobs/constants/tags.js +2 -0
- package/packages/dd-trace/src/llmobs/plugins/ai/index.js +4 -3
- package/packages/dd-trace/src/llmobs/plugins/ai/util.js +12 -1
- package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +40 -13
- package/packages/dd-trace/src/llmobs/plugins/openai.js +7 -1
- package/packages/dd-trace/src/llmobs/tagger.js +8 -0
- package/packages/dd-trace/src/llmobs/telemetry.js +2 -1
- package/packages/dd-trace/src/log/index.js +28 -17
- package/packages/dd-trace/src/log/log.js +29 -5
- package/packages/dd-trace/src/log/writer.js +5 -5
- package/packages/dd-trace/src/noop/span.js +1 -0
- package/packages/dd-trace/src/opentelemetry/span.js +14 -3
- package/packages/dd-trace/src/opentracing/span.js +18 -4
- package/packages/dd-trace/src/plugin_manager.js +20 -2
- package/packages/dd-trace/src/plugins/ci_plugin.js +97 -3
- package/packages/dd-trace/src/plugins/index.js +2 -0
- package/packages/dd-trace/src/plugins/util/git-cache.js +129 -0
- package/packages/dd-trace/src/plugins/util/git.js +40 -26
- package/packages/dd-trace/src/plugins/util/test.js +37 -27
- package/packages/dd-trace/src/plugins/util/web.js +1 -1
- package/packages/dd-trace/src/profiler.js +4 -1
- package/packages/dd-trace/src/profiling/config.js +73 -42
- package/packages/dd-trace/src/profiling/profiler.js +3 -1
- package/packages/dd-trace/src/profiling/profilers/events.js +3 -8
- package/packages/dd-trace/src/profiling/profilers/space.js +1 -0
- package/packages/dd-trace/src/profiling/profilers/wall.js +196 -117
- package/packages/dd-trace/src/remote_config/capabilities.js +5 -0
- package/packages/dd-trace/src/remote_config/manager.js +3 -2
- package/packages/dd-trace/src/startup-log.js +2 -1
- package/packages/dd-trace/src/supported-configurations.json +3 -0
- package/packages/dd-trace/src/telemetry/logs/index.js +2 -2
- package/register.js +1 -1
|
@@ -5,8 +5,6 @@ const os = require('os')
|
|
|
5
5
|
const uuid = require('crypto-randomuuid') // we need to keep the old uuid dep because of cypress
|
|
6
6
|
const { URL } = require('url')
|
|
7
7
|
const log = require('./log')
|
|
8
|
-
const pkg = require('./pkg')
|
|
9
|
-
const coalesce = require('koalas')
|
|
10
8
|
const tagger = require('./tagger')
|
|
11
9
|
const set = require('../../datadog-core/src/utils/src/set')
|
|
12
10
|
const { isTrue, isFalse, normalizeProfilingEnabledValue } = require('./util')
|
|
@@ -15,11 +13,10 @@ const { getGitMetadataFromGitProperties, removeUserSensitiveInfo } = require('./
|
|
|
15
13
|
const { updateConfig } = require('./telemetry')
|
|
16
14
|
const telemetryMetrics = require('./telemetry/metrics')
|
|
17
15
|
const { isInServerlessEnvironment, getIsGCPFunction, getIsAzureFunction } = require('./serverless')
|
|
18
|
-
const {
|
|
19
|
-
ORIGIN_KEY, GRPC_CLIENT_ERROR_STATUSES, GRPC_SERVER_ERROR_STATUSES
|
|
20
|
-
} = require('./constants')
|
|
16
|
+
const { ORIGIN_KEY } = require('./constants')
|
|
21
17
|
const { appendRules } = require('./payload-tagging/config')
|
|
22
18
|
const { getEnvironmentVariable, getEnvironmentVariables } = require('./config-helper')
|
|
19
|
+
const defaults = require('./config_defaults')
|
|
23
20
|
|
|
24
21
|
const tracerMetrics = telemetryMetrics.manager.namespace('tracers')
|
|
25
22
|
|
|
@@ -134,12 +131,6 @@ function checkIfBothOtelAndDdEnvVarSet () {
|
|
|
134
131
|
}
|
|
135
132
|
}
|
|
136
133
|
|
|
137
|
-
// eslint-disable-next-line @stylistic/max-len
|
|
138
|
-
const qsRegex = String.raw`(?:p(?:ass)?w(?:or)?d|pass(?:_?phrase)?|secret|(?:api_?|private_?|public_?|access_?|secret_?)key(?:_?id)?|token|consumer_?(?:id|key|secret)|sign(?:ed|ature)?|auth(?:entication|orization)?)(?:(?:\s|%20)*(?:=|%3D)[^&]+|(?:"|%22)(?:\s|%20)*(?::|%3A)(?:\s|%20)*(?:"|%22)(?:%2[^2]|%[^2]|[^"%])+(?:"|%22))|bearer(?:\s|%20)+[a-z0-9\._\-]+|token(?::|%3A)[a-z0-9]{13}|gh[opsu]_[0-9a-zA-Z]{36}|ey[I-L](?:[\w=-]|%3D)+\.ey[I-L](?:[\w=-]|%3D)+(?:\.(?:[\w.+\/=-]|%3D|%2F|%2B)+)?|[\-]{5}BEGIN(?:[a-z\s]|%20)+PRIVATE(?:\s|%20)KEY[\-]{5}[^\-]+[\-]{5}END(?:[a-z\s]|%20)+PRIVATE(?:\s|%20)KEY|ssh-rsa(?:\s|%20)*(?:[a-z0-9\/\.+]|%2F|%5C|%2B){100,}`
|
|
139
|
-
// eslint-disable-next-line @stylistic/max-len
|
|
140
|
-
const defaultWafObfuscatorKeyRegex = String.raw`(?i)pass|pw(?:or)?d|secret|(?:api|private|public|access)[_-]?key|token|consumer[_-]?(?:id|key|secret)|sign(?:ed|ature)|bearer|authorization|jsessionid|phpsessid|asp\.net[_-]sessionid|sid|jwt`
|
|
141
|
-
// eslint-disable-next-line @stylistic/max-len
|
|
142
|
-
const defaultWafObfuscatorValueRegex = String.raw`(?i)(?:p(?:ass)?w(?:or)?d|pass(?:[_-]?phrase)?|secret(?:[_-]?key)?|(?:(?:api|private|public|access)[_-]?)key(?:[_-]?id)?|(?:(?:auth|access|id|refresh)[_-]?)?token|consumer[_-]?(?:id|key|secret)|sign(?:ed|ature)?|auth(?:entication|orization)?|jsessionid|phpsessid|asp\.net(?:[_-]|-)sessionid|sid|jwt)(?:\s*=([^;&]+)|"\s*:\s*("[^"]+"|\d+))|bearer\s+([a-z0-9\._\-]+)|token\s*:\s*([a-z0-9]{13})|gh[opsu]_([0-9a-zA-Z]{36})|ey[I-L][\w=-]+\.(ey[I-L][\w=-]+(?:\.[\w.+\/=-]+)?)|[\-]{5}BEGIN[a-z\s]+PRIVATE\sKEY[\-]{5}([^\-]+)[\-]{5}END[a-z\s]+PRIVATE\sKEY|ssh-rsa\s*([a-z0-9\/\.+]{100,})`
|
|
143
134
|
const runtimeId = uuid()
|
|
144
135
|
|
|
145
136
|
function maybeFile (filepath) {
|
|
@@ -222,8 +213,9 @@ function propagationStyle (key, option) {
|
|
|
222
213
|
// Otherwise, fallback to env var parsing
|
|
223
214
|
const envKey = `DD_TRACE_PROPAGATION_STYLE_${key.toUpperCase()}`
|
|
224
215
|
|
|
225
|
-
const envVar =
|
|
226
|
-
getEnvironmentVariable('DD_TRACE_PROPAGATION_STYLE')
|
|
216
|
+
const envVar = getEnvironmentVariable(envKey) ??
|
|
217
|
+
getEnvironmentVariable('DD_TRACE_PROPAGATION_STYLE') ??
|
|
218
|
+
getEnvironmentVariable('OTEL_PROPAGATORS')
|
|
227
219
|
if (envVar !== undefined) {
|
|
228
220
|
return envVar.split(',')
|
|
229
221
|
.filter(v => v !== '')
|
|
@@ -277,7 +269,7 @@ class Config {
|
|
|
277
269
|
this.stableConfig?.fleetEntries?.DD_TRACE_DEBUG,
|
|
278
270
|
this.stableConfig?.localEntries?.DD_TRACE_DEBUG
|
|
279
271
|
)
|
|
280
|
-
this.logger =
|
|
272
|
+
this.logger = options.logger ?? logConfig.logger
|
|
281
273
|
this.logLevel = log.getLogLevel(
|
|
282
274
|
options.logLevel,
|
|
283
275
|
this.stableConfig?.fleetEntries?.DD_TRACE_LOG_LEVEL,
|
|
@@ -323,39 +315,27 @@ class Config {
|
|
|
323
315
|
}
|
|
324
316
|
}
|
|
325
317
|
|
|
326
|
-
const DD_INSTRUMENTATION_INSTALL_ID =
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
)
|
|
330
|
-
const DD_INSTRUMENTATION_INSTALL_TIME = coalesce(
|
|
331
|
-
getEnvironmentVariable('DD_INSTRUMENTATION_INSTALL_TIME'),
|
|
332
|
-
null
|
|
333
|
-
)
|
|
334
|
-
const DD_INSTRUMENTATION_INSTALL_TYPE = coalesce(
|
|
335
|
-
getEnvironmentVariable('DD_INSTRUMENTATION_INSTALL_TYPE'),
|
|
336
|
-
null
|
|
337
|
-
)
|
|
318
|
+
const DD_INSTRUMENTATION_INSTALL_ID = getEnvironmentVariable('DD_INSTRUMENTATION_INSTALL_ID') ?? null
|
|
319
|
+
const DD_INSTRUMENTATION_INSTALL_TIME = getEnvironmentVariable('DD_INSTRUMENTATION_INSTALL_TIME') ?? null
|
|
320
|
+
const DD_INSTRUMENTATION_INSTALL_TYPE = getEnvironmentVariable('DD_INSTRUMENTATION_INSTALL_TYPE') ?? null
|
|
338
321
|
|
|
339
322
|
const DD_TRACE_CLOUD_REQUEST_PAYLOAD_TAGGING = splitJSONPathRules(
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
))
|
|
323
|
+
getEnvironmentVariable('DD_TRACE_CLOUD_REQUEST_PAYLOAD_TAGGING') ??
|
|
324
|
+
options.cloudPayloadTagging?.request ??
|
|
325
|
+
''
|
|
326
|
+
)
|
|
345
327
|
|
|
346
328
|
const DD_TRACE_CLOUD_RESPONSE_PAYLOAD_TAGGING = splitJSONPathRules(
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
''
|
|
351
|
-
))
|
|
352
|
-
|
|
353
|
-
const DD_TRACE_CLOUD_PAYLOAD_TAGGING_MAX_DEPTH = coalesce(
|
|
354
|
-
getEnvironmentVariable('DD_TRACE_CLOUD_PAYLOAD_TAGGING_MAX_DEPTH'),
|
|
355
|
-
options.cloudPayloadTagging?.maxDepth,
|
|
356
|
-
10
|
|
329
|
+
getEnvironmentVariable('DD_TRACE_CLOUD_RESPONSE_PAYLOAD_TAGGING') ??
|
|
330
|
+
options.cloudPayloadTagging?.response ??
|
|
331
|
+
''
|
|
357
332
|
)
|
|
358
333
|
|
|
334
|
+
const DD_TRACE_CLOUD_PAYLOAD_TAGGING_MAX_DEPTH = maybeInt(
|
|
335
|
+
getEnvironmentVariable('DD_TRACE_CLOUD_PAYLOAD_TAGGING_MAX_DEPTH') ??
|
|
336
|
+
options.cloudPayloadTagging?.maxDepth
|
|
337
|
+
) ?? 10
|
|
338
|
+
|
|
359
339
|
// TODO: refactor
|
|
360
340
|
this.apiKey = DD_API_KEY
|
|
361
341
|
|
|
@@ -399,20 +379,14 @@ class Config {
|
|
|
399
379
|
|
|
400
380
|
if (this.gitMetadataEnabled) {
|
|
401
381
|
this.repositoryUrl = removeUserSensitiveInfo(
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
this.tags[GIT_REPOSITORY_URL]
|
|
405
|
-
)
|
|
382
|
+
getEnvironmentVariable('DD_GIT_REPOSITORY_URL') ??
|
|
383
|
+
this.tags[GIT_REPOSITORY_URL]
|
|
406
384
|
)
|
|
407
|
-
this.commitSHA =
|
|
408
|
-
getEnvironmentVariable('DD_GIT_COMMIT_SHA'),
|
|
385
|
+
this.commitSHA = getEnvironmentVariable('DD_GIT_COMMIT_SHA') ??
|
|
409
386
|
this.tags[GIT_COMMIT_SHA]
|
|
410
|
-
)
|
|
411
387
|
if (!this.repositoryUrl || !this.commitSHA) {
|
|
412
|
-
const DD_GIT_PROPERTIES_FILE =
|
|
413
|
-
getEnvironmentVariable('DD_GIT_PROPERTIES_FILE'),
|
|
388
|
+
const DD_GIT_PROPERTIES_FILE = getEnvironmentVariable('DD_GIT_PROPERTIES_FILE') ??
|
|
414
389
|
`${process.cwd()}/git.properties`
|
|
415
|
-
)
|
|
416
390
|
let gitPropertiesString
|
|
417
391
|
try {
|
|
418
392
|
gitPropertiesString = fs.readFileSync(DD_GIT_PROPERTIES_FILE, 'utf8')
|
|
@@ -450,11 +424,8 @@ class Config {
|
|
|
450
424
|
|
|
451
425
|
_getDefaultPropagationStyle (options) {
|
|
452
426
|
// TODO: Remove the experimental env vars as a major?
|
|
453
|
-
const DD_TRACE_B3_ENABLED =
|
|
454
|
-
|
|
455
|
-
getEnvironmentVariable('DD_TRACE_EXPERIMENTAL_B3_ENABLED'),
|
|
456
|
-
false
|
|
457
|
-
)
|
|
427
|
+
const DD_TRACE_B3_ENABLED = options.experimental?.b3 ??
|
|
428
|
+
getEnvironmentVariable('DD_TRACE_EXPERIMENTAL_B3_ENABLED')
|
|
458
429
|
const defaultPropagationStyle = ['datadog', 'tracecontext']
|
|
459
430
|
if (isTrue(DD_TRACE_B3_ENABLED)) {
|
|
460
431
|
defaultPropagationStyle.push('b3', 'b3 single header')
|
|
@@ -468,180 +439,7 @@ class Config {
|
|
|
468
439
|
|
|
469
440
|
// for _merge to work, every config value must have a default value
|
|
470
441
|
_applyDefaults () {
|
|
471
|
-
|
|
472
|
-
AWS_LAMBDA_FUNCTION_NAME,
|
|
473
|
-
FUNCTION_NAME,
|
|
474
|
-
K_SERVICE,
|
|
475
|
-
WEBSITE_SITE_NAME
|
|
476
|
-
} = getEnvironmentVariables()
|
|
477
|
-
|
|
478
|
-
const service = AWS_LAMBDA_FUNCTION_NAME ||
|
|
479
|
-
FUNCTION_NAME || // Google Cloud Function Name set by deprecated runtimes
|
|
480
|
-
K_SERVICE || // Google Cloud Function Name set by newer runtimes
|
|
481
|
-
WEBSITE_SITE_NAME || // set by Azure Functions
|
|
482
|
-
pkg.name ||
|
|
483
|
-
'node'
|
|
484
|
-
|
|
485
|
-
const defaults = setHiddenProperty(this, '_defaults', {})
|
|
486
|
-
|
|
487
|
-
defaults.apmTracingEnabled = true
|
|
488
|
-
defaults['appsec.apiSecurity.enabled'] = true
|
|
489
|
-
defaults['appsec.apiSecurity.sampleDelay'] = 30
|
|
490
|
-
defaults['appsec.apiSecurity.endpointCollectionEnabled'] = true
|
|
491
|
-
defaults['appsec.apiSecurity.endpointCollectionMessageLimit'] = 300
|
|
492
|
-
defaults['appsec.blockedTemplateGraphql'] = undefined
|
|
493
|
-
defaults['appsec.blockedTemplateHtml'] = undefined
|
|
494
|
-
defaults['appsec.blockedTemplateJson'] = undefined
|
|
495
|
-
defaults['appsec.enabled'] = undefined
|
|
496
|
-
defaults['appsec.eventTracking.mode'] = 'identification'
|
|
497
|
-
defaults['appsec.extendedHeadersCollection.enabled'] = false
|
|
498
|
-
defaults['appsec.extendedHeadersCollection.redaction'] = true
|
|
499
|
-
defaults['appsec.extendedHeadersCollection.maxHeaders'] = 50
|
|
500
|
-
defaults['appsec.obfuscatorKeyRegex'] = defaultWafObfuscatorKeyRegex
|
|
501
|
-
defaults['appsec.obfuscatorValueRegex'] = defaultWafObfuscatorValueRegex
|
|
502
|
-
defaults['appsec.rasp.enabled'] = true
|
|
503
|
-
defaults['appsec.rasp.bodyCollection'] = false
|
|
504
|
-
defaults['appsec.rateLimit'] = 100
|
|
505
|
-
defaults['appsec.rules'] = undefined
|
|
506
|
-
defaults['appsec.sca.enabled'] = null
|
|
507
|
-
defaults['appsec.stackTrace.enabled'] = true
|
|
508
|
-
defaults['appsec.stackTrace.maxDepth'] = 32
|
|
509
|
-
defaults['appsec.stackTrace.maxStackTraces'] = 2
|
|
510
|
-
defaults['appsec.wafTimeout'] = 5e3 // µs
|
|
511
|
-
defaults.baggageMaxBytes = 8192
|
|
512
|
-
defaults.baggageMaxItems = 64
|
|
513
|
-
defaults.baggageTagKeys = 'user.id,session.id,account.id'
|
|
514
|
-
defaults.ciVisibilityTestSessionName = ''
|
|
515
|
-
defaults.clientIpEnabled = false
|
|
516
|
-
defaults.clientIpHeader = null
|
|
517
|
-
defaults['crashtracking.enabled'] = true
|
|
518
|
-
defaults['codeOriginForSpans.enabled'] = true
|
|
519
|
-
defaults['codeOriginForSpans.experimental.exit_spans.enabled'] = false
|
|
520
|
-
defaults.dbmPropagationMode = 'disabled'
|
|
521
|
-
defaults['dogstatsd.hostname'] = '127.0.0.1'
|
|
522
|
-
defaults['dogstatsd.port'] = '8125'
|
|
523
|
-
defaults.dsmEnabled = false
|
|
524
|
-
defaults['dynamicInstrumentation.enabled'] = false
|
|
525
|
-
defaults['dynamicInstrumentation.probeFile'] = undefined
|
|
526
|
-
defaults['dynamicInstrumentation.redactedIdentifiers'] = []
|
|
527
|
-
defaults['dynamicInstrumentation.redactionExcludedIdentifiers'] = []
|
|
528
|
-
defaults['dynamicInstrumentation.uploadIntervalSeconds'] = 1
|
|
529
|
-
defaults.env = undefined
|
|
530
|
-
defaults['experimental.enableGetRumData'] = false
|
|
531
|
-
defaults['experimental.exporter'] = undefined
|
|
532
|
-
defaults.flushInterval = 2000
|
|
533
|
-
defaults.flushMinSpans = 1000
|
|
534
|
-
defaults.gitMetadataEnabled = true
|
|
535
|
-
defaults.graphqlErrorExtensions = []
|
|
536
|
-
defaults['grpc.client.error.statuses'] = GRPC_CLIENT_ERROR_STATUSES
|
|
537
|
-
defaults['grpc.server.error.statuses'] = GRPC_SERVER_ERROR_STATUSES
|
|
538
|
-
defaults.headerTags = []
|
|
539
|
-
defaults['heapSnapshot.count'] = 0
|
|
540
|
-
defaults['heapSnapshot.destination'] = ''
|
|
541
|
-
defaults['heapSnapshot.interval'] = 3600
|
|
542
|
-
defaults.hostname = '127.0.0.1'
|
|
543
|
-
defaults['iast.dbRowsToTaint'] = 1
|
|
544
|
-
defaults['iast.deduplicationEnabled'] = true
|
|
545
|
-
defaults['iast.enabled'] = false
|
|
546
|
-
defaults['iast.maxConcurrentRequests'] = 2
|
|
547
|
-
defaults['iast.maxContextOperations'] = 2
|
|
548
|
-
defaults['iast.redactionEnabled'] = true
|
|
549
|
-
defaults['iast.redactionNamePattern'] = null
|
|
550
|
-
defaults['iast.redactionValuePattern'] = null
|
|
551
|
-
defaults['iast.requestSampling'] = 30
|
|
552
|
-
defaults['iast.securityControlsConfiguration'] = null
|
|
553
|
-
defaults['iast.telemetryVerbosity'] = 'INFORMATION'
|
|
554
|
-
defaults['iast.stackTrace.enabled'] = true
|
|
555
|
-
defaults.injectionEnabled = []
|
|
556
|
-
defaults.instrumentationSource = 'manual'
|
|
557
|
-
defaults.injectForce = null
|
|
558
|
-
defaults.isAzureFunction = false
|
|
559
|
-
defaults.isCiVisibility = false
|
|
560
|
-
defaults.isEarlyFlakeDetectionEnabled = false
|
|
561
|
-
defaults.isFlakyTestRetriesEnabled = false
|
|
562
|
-
defaults.flakyTestRetriesCount = 5
|
|
563
|
-
defaults.isGCPFunction = false
|
|
564
|
-
defaults.isGitUploadEnabled = false
|
|
565
|
-
defaults.isIntelligentTestRunnerEnabled = false
|
|
566
|
-
defaults.isManualApiEnabled = false
|
|
567
|
-
defaults['langchain.spanCharLimit'] = 128
|
|
568
|
-
defaults['langchain.spanPromptCompletionSampleRate'] = 1
|
|
569
|
-
defaults['llmobs.agentlessEnabled'] = undefined
|
|
570
|
-
defaults['llmobs.enabled'] = false
|
|
571
|
-
defaults['llmobs.mlApp'] = undefined
|
|
572
|
-
defaults.ciVisibilityTestSessionName = ''
|
|
573
|
-
defaults.ciVisAgentlessLogSubmissionEnabled = false
|
|
574
|
-
defaults.legacyBaggageEnabled = true
|
|
575
|
-
defaults.isTestDynamicInstrumentationEnabled = false
|
|
576
|
-
defaults.isServiceUserProvided = false
|
|
577
|
-
defaults.testManagementAttemptToFixRetries = 20
|
|
578
|
-
defaults.isTestManagementEnabled = false
|
|
579
|
-
defaults.isImpactedTestsEnabled = false
|
|
580
|
-
defaults.logInjection = true
|
|
581
|
-
defaults.lookup = undefined
|
|
582
|
-
defaults.inferredProxyServicesEnabled = false
|
|
583
|
-
defaults.memcachedCommandEnabled = false
|
|
584
|
-
defaults.middlewareTracingEnabled = true
|
|
585
|
-
defaults.openAiLogsEnabled = false
|
|
586
|
-
defaults['openai.spanCharLimit'] = 128
|
|
587
|
-
defaults.peerServiceMapping = {}
|
|
588
|
-
defaults.plugins = true
|
|
589
|
-
defaults.port = '8126'
|
|
590
|
-
defaults['profiling.enabled'] = undefined
|
|
591
|
-
defaults['profiling.exporters'] = 'agent'
|
|
592
|
-
defaults['profiling.sourceMap'] = true
|
|
593
|
-
defaults['profiling.longLivedThreshold'] = undefined
|
|
594
|
-
defaults.protocolVersion = '0.4'
|
|
595
|
-
defaults.queryStringObfuscation = qsRegex
|
|
596
|
-
defaults['remoteConfig.enabled'] = true
|
|
597
|
-
defaults['remoteConfig.pollInterval'] = 5 // seconds
|
|
598
|
-
defaults.reportHostname = false
|
|
599
|
-
defaults['runtimeMetrics.enabled'] = false
|
|
600
|
-
defaults['runtimeMetrics.eventLoop'] = true
|
|
601
|
-
defaults['runtimeMetrics.gc'] = true
|
|
602
|
-
defaults.runtimeMetricsRuntimeId = false
|
|
603
|
-
defaults.sampleRate = undefined
|
|
604
|
-
defaults['sampler.rateLimit'] = 100
|
|
605
|
-
defaults['sampler.rules'] = []
|
|
606
|
-
defaults['sampler.spanSamplingRules'] = []
|
|
607
|
-
defaults.scope = undefined
|
|
608
|
-
defaults.service = service
|
|
609
|
-
defaults.serviceMapping = {}
|
|
610
|
-
defaults.site = 'datadoghq.com'
|
|
611
|
-
defaults.spanAttributeSchema = 'v0'
|
|
612
|
-
defaults.spanComputePeerService = false
|
|
613
|
-
defaults.spanLeakDebug = 0
|
|
614
|
-
defaults.spanRemoveIntegrationFromService = false
|
|
615
|
-
defaults.startupLogs = false
|
|
616
|
-
defaults['stats.enabled'] = false
|
|
617
|
-
defaults.tags = {}
|
|
618
|
-
defaults.tagsHeaderMaxLength = 512
|
|
619
|
-
defaults['telemetry.debug'] = false
|
|
620
|
-
defaults['telemetry.dependencyCollection'] = true
|
|
621
|
-
defaults['telemetry.enabled'] = true
|
|
622
|
-
defaults['telemetry.heartbeatInterval'] = 60_000
|
|
623
|
-
defaults['telemetry.logCollection'] = true
|
|
624
|
-
defaults['telemetry.metrics'] = true
|
|
625
|
-
defaults.traceEnabled = true
|
|
626
|
-
defaults.traceId128BitGenerationEnabled = true
|
|
627
|
-
defaults.traceId128BitLoggingEnabled = true
|
|
628
|
-
defaults.tracePropagationExtractFirst = false
|
|
629
|
-
defaults.tracePropagationBehaviorExtract = 'continue'
|
|
630
|
-
defaults['tracePropagationStyle.inject'] = ['datadog', 'tracecontext', 'baggage']
|
|
631
|
-
defaults['tracePropagationStyle.extract'] = ['datadog', 'tracecontext', 'baggage']
|
|
632
|
-
defaults['tracePropagationStyle.otelPropagators'] = false
|
|
633
|
-
defaults.traceWebsocketMessagesEnabled = true
|
|
634
|
-
defaults.traceWebsocketMessagesInheritSampling = true
|
|
635
|
-
defaults.traceWebsocketMessagesSeparateTraces = true
|
|
636
|
-
defaults.tracing = true
|
|
637
|
-
defaults.url = undefined
|
|
638
|
-
defaults.version = pkg.version
|
|
639
|
-
defaults.instrumentation_config_id = undefined
|
|
640
|
-
defaults['vertexai.spanCharLimit'] = 128
|
|
641
|
-
defaults['vertexai.spanPromptCompletionSampleRate'] = 1
|
|
642
|
-
defaults['trace.aws.addSpanPointers'] = true
|
|
643
|
-
defaults['trace.dynamoDb.tablePrimaryKeys'] = undefined
|
|
644
|
-
defaults['trace.nativeSpanEvents'] = false
|
|
442
|
+
setHiddenProperty(this, '_defaults', defaults)
|
|
645
443
|
}
|
|
646
444
|
|
|
647
445
|
_applyLocalStableConfig () {
|
|
@@ -844,10 +642,12 @@ class Config {
|
|
|
844
642
|
tagger.add(tags, DD_TRACE_TAGS)
|
|
845
643
|
tagger.add(tags, DD_TRACE_GLOBAL_TAGS)
|
|
846
644
|
|
|
847
|
-
this._setBoolean(
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
645
|
+
this._setBoolean(
|
|
646
|
+
env,
|
|
647
|
+
'apmTracingEnabled',
|
|
648
|
+
DD_APM_TRACING_ENABLED ??
|
|
649
|
+
(DD_EXPERIMENTAL_APPSEC_STANDALONE_ENABLED && isFalse(DD_EXPERIMENTAL_APPSEC_STANDALONE_ENABLED))
|
|
650
|
+
)
|
|
851
651
|
this._setBoolean(env, 'appsec.apiSecurity.enabled', DD_API_SECURITY_ENABLED && isTrue(DD_API_SECURITY_ENABLED))
|
|
852
652
|
env['appsec.apiSecurity.sampleDelay'] = maybeFloat(DD_API_SECURITY_SAMPLE_DELAY)
|
|
853
653
|
this._setBoolean(env, 'appsec.apiSecurity.endpointCollectionEnabled',
|
|
@@ -890,10 +690,7 @@ class Config {
|
|
|
890
690
|
env.baggageTagKeys = DD_TRACE_BAGGAGE_TAG_KEYS
|
|
891
691
|
this._setBoolean(env, 'clientIpEnabled', DD_TRACE_CLIENT_IP_ENABLED)
|
|
892
692
|
this._setString(env, 'clientIpHeader', DD_TRACE_CLIENT_IP_HEADER?.toLowerCase())
|
|
893
|
-
this._setBoolean(env, 'crashtracking.enabled',
|
|
894
|
-
DD_CRASHTRACKING_ENABLED,
|
|
895
|
-
!this._isInServerlessEnvironment()
|
|
896
|
-
))
|
|
693
|
+
this._setBoolean(env, 'crashtracking.enabled', DD_CRASHTRACKING_ENABLED ?? !this._isInServerlessEnvironment())
|
|
897
694
|
this._setBoolean(env, 'codeOriginForSpans.enabled', DD_CODE_ORIGIN_FOR_SPANS_ENABLED)
|
|
898
695
|
this._setBoolean(
|
|
899
696
|
env,
|
|
@@ -973,10 +770,8 @@ class Config {
|
|
|
973
770
|
}
|
|
974
771
|
this._setString(env, 'port', DD_TRACE_AGENT_PORT)
|
|
975
772
|
const profilingEnabled = normalizeProfilingEnabledValue(
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
this._isInServerlessEnvironment() ? 'false' : undefined
|
|
979
|
-
)
|
|
773
|
+
DD_PROFILING_ENABLED ??
|
|
774
|
+
(this._isInServerlessEnvironment() ? 'false' : undefined)
|
|
980
775
|
)
|
|
981
776
|
this._setString(env, 'profiling.enabled', profilingEnabled)
|
|
982
777
|
this._setString(env, 'profiling.exporters', DD_PROFILING_EXPORTERS)
|
|
@@ -988,10 +783,7 @@ class Config {
|
|
|
988
783
|
|
|
989
784
|
this._setString(env, 'protocolVersion', DD_TRACE_AGENT_PROTOCOL_VERSION)
|
|
990
785
|
this._setString(env, 'queryStringObfuscation', DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP)
|
|
991
|
-
this._setBoolean(env, 'remoteConfig.enabled',
|
|
992
|
-
DD_REMOTE_CONFIGURATION_ENABLED,
|
|
993
|
-
!this._isInServerlessEnvironment()
|
|
994
|
-
))
|
|
786
|
+
this._setBoolean(env, 'remoteConfig.enabled', DD_REMOTE_CONFIGURATION_ENABLED ?? !this._isInServerlessEnvironment())
|
|
995
787
|
env['remoteConfig.pollInterval'] = maybeFloat(DD_REMOTE_CONFIG_POLL_INTERVAL_SECONDS)
|
|
996
788
|
this._envUnprocessed['remoteConfig.pollInterval'] = DD_REMOTE_CONFIG_POLL_INTERVAL_SECONDS
|
|
997
789
|
this._setBoolean(env, 'reportHostname', DD_TRACE_REPORT_HOSTNAME)
|
|
@@ -1004,10 +796,10 @@ class Config {
|
|
|
1004
796
|
this._setBoolean(env, 'runtimeMetrics.eventLoop', DD_RUNTIME_METRICS_EVENT_LOOP_ENABLED)
|
|
1005
797
|
this._setBoolean(env, 'runtimeMetrics.gc', DD_RUNTIME_METRICS_GC_ENABLED)
|
|
1006
798
|
this._setBoolean(env, 'runtimeMetricsRuntimeId', DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED)
|
|
1007
|
-
this._setArray(env, 'sampler.spanSamplingRules', reformatSpanSamplingRules(
|
|
1008
|
-
maybeJsonFile(DD_SPAN_SAMPLING_RULES_FILE)
|
|
799
|
+
this._setArray(env, 'sampler.spanSamplingRules', reformatSpanSamplingRules(
|
|
800
|
+
maybeJsonFile(DD_SPAN_SAMPLING_RULES_FILE) ??
|
|
1009
801
|
safeJsonParse(DD_SPAN_SAMPLING_RULES)
|
|
1010
|
-
))
|
|
802
|
+
))
|
|
1011
803
|
this._setUnit(env, 'sampleRate', DD_TRACE_SAMPLE_RATE ||
|
|
1012
804
|
getFromOtelSamplerMap(OTEL_TRACES_SAMPLER, OTEL_TRACES_SAMPLER_ARG))
|
|
1013
805
|
env['sampler.rateLimit'] = DD_TRACE_RATE_LIMIT
|
|
@@ -1031,10 +823,8 @@ class Config {
|
|
|
1031
823
|
this._setBoolean(env, 'startupLogs', DD_TRACE_STARTUP_LOGS)
|
|
1032
824
|
this._setTags(env, 'tags', tags)
|
|
1033
825
|
env.tagsHeaderMaxLength = DD_TRACE_X_DATADOG_TAGS_MAX_LENGTH
|
|
1034
|
-
this._setBoolean(env, 'telemetry.enabled',
|
|
1035
|
-
|
|
1036
|
-
!(this._isInServerlessEnvironment() || JEST_WORKER_ID)
|
|
1037
|
-
))
|
|
826
|
+
this._setBoolean(env, 'telemetry.enabled', DD_INSTRUMENTATION_TELEMETRY_ENABLED ??
|
|
827
|
+
!(this._isInServerlessEnvironment() || JEST_WORKER_ID))
|
|
1038
828
|
this._setString(env, 'instrumentation_config_id', DD_INSTRUMENTATION_CONFIG_ID)
|
|
1039
829
|
this._setBoolean(env, 'telemetry.debug', DD_TELEMETRY_DEBUG)
|
|
1040
830
|
this._setBoolean(env, 'telemetry.dependencyCollection', DD_TELEMETRY_DEPENDENCY_COLLECTION_ENABLED)
|
|
@@ -1079,10 +869,9 @@ class Config {
|
|
|
1079
869
|
|
|
1080
870
|
tagger.add(tags, options.tags)
|
|
1081
871
|
|
|
1082
|
-
this._setBoolean(opts, 'apmTracingEnabled',
|
|
1083
|
-
options.
|
|
1084
|
-
|
|
1085
|
-
))
|
|
872
|
+
this._setBoolean(opts, 'apmTracingEnabled', options.apmTracingEnabled ??
|
|
873
|
+
(options.experimental?.appsec?.standalone && !options.experimental.appsec.standalone.enabled)
|
|
874
|
+
)
|
|
1086
875
|
this._setBoolean(opts, 'appsec.apiSecurity.enabled', options.appsec?.apiSecurity?.enabled)
|
|
1087
876
|
this._setBoolean(opts, 'appsec.apiSecurity.endpointCollectionEnabled',
|
|
1088
877
|
options.appsec?.apiSecurity?.endpointCollectionEnabled)
|
|
@@ -1156,7 +945,6 @@ class Config {
|
|
|
1156
945
|
this._setString(opts, 'env', options.env || tags.env)
|
|
1157
946
|
this._setBoolean(opts, 'experimental.enableGetRumData', options.experimental?.enableGetRumData)
|
|
1158
947
|
this._setString(opts, 'experimental.exporter', options.experimental?.exporter)
|
|
1159
|
-
this._setBoolean(opts, 'runtimeMetricsRuntimeId', options.runtimeMetricsRuntimeId)
|
|
1160
948
|
opts.flushInterval = maybeInt(options.flushInterval)
|
|
1161
949
|
this._optsUnprocessed.flushInterval = options.flushInterval
|
|
1162
950
|
opts.flushMinSpans = maybeInt(options.flushMinSpans)
|
|
@@ -1208,9 +996,8 @@ class Config {
|
|
|
1208
996
|
this._setBoolean(opts, 'runtimeMetrics.gc', options.runtimeMetrics?.gc)
|
|
1209
997
|
this._setBoolean(opts, 'runtimeMetricsRuntimeId', options.runtimeMetricsRuntimeId)
|
|
1210
998
|
this._setArray(opts, 'sampler.spanSamplingRules', reformatSpanSamplingRules(options.spanSamplingRules))
|
|
1211
|
-
this._setUnit(opts, 'sampleRate',
|
|
1212
|
-
|
|
1213
|
-
opts['sampler.rateLimit'] = coalesce(options.rateLimit, ingestion.rateLimit)
|
|
999
|
+
this._setUnit(opts, 'sampleRate', options.sampleRate ?? options.ingestion.sampleRate)
|
|
1000
|
+
opts['sampler.rateLimit'] = maybeInt(options.rateLimit ?? options.ingestion.rateLimit)
|
|
1214
1001
|
this._setSamplingRule(opts, 'sampler.rules', options.samplingRules)
|
|
1215
1002
|
this._setString(opts, 'service', options.service || tags.service)
|
|
1216
1003
|
opts.serviceMapping = options.serviceMapping
|
|
@@ -1243,17 +1030,11 @@ class Config {
|
|
|
1243
1030
|
}
|
|
1244
1031
|
|
|
1245
1032
|
_isCiVisibility () {
|
|
1246
|
-
return
|
|
1247
|
-
this._optionsArg.isCiVisibility,
|
|
1248
|
-
this._defaults.isCiVisibility
|
|
1249
|
-
)
|
|
1033
|
+
return this._optionsArg.isCiVisibility ?? this._defaults.isCiVisibility
|
|
1250
1034
|
}
|
|
1251
1035
|
|
|
1252
1036
|
_isCiVisibilityItrEnabled () {
|
|
1253
|
-
return
|
|
1254
|
-
getEnvironmentVariable('DD_CIVISIBILITY_ITR_ENABLED'),
|
|
1255
|
-
true
|
|
1256
|
-
)
|
|
1037
|
+
return getEnvironmentVariable('DD_CIVISIBILITY_ITR_ENABLED') ?? true
|
|
1257
1038
|
}
|
|
1258
1039
|
|
|
1259
1040
|
_getHostname () {
|
|
@@ -1261,30 +1042,24 @@ class Config {
|
|
|
1261
1042
|
const url = DD_CIVISIBILITY_AGENTLESS_URL
|
|
1262
1043
|
? new URL(DD_CIVISIBILITY_AGENTLESS_URL)
|
|
1263
1044
|
: getAgentUrl(this._getTraceAgentUrl(), this._optionsArg)
|
|
1264
|
-
const DD_AGENT_HOST =
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
)
|
|
1269
|
-
return DD_AGENT_HOST || (url && url.hostname)
|
|
1045
|
+
const DD_AGENT_HOST = this._optionsArg.hostname ??
|
|
1046
|
+
getEnvironmentVariable('DD_AGENT_HOST') ??
|
|
1047
|
+
defaults.hostname
|
|
1048
|
+
return DD_AGENT_HOST || url?.hostname
|
|
1270
1049
|
}
|
|
1271
1050
|
|
|
1272
1051
|
_getSpanComputePeerService () {
|
|
1273
1052
|
const DD_TRACE_SPAN_ATTRIBUTE_SCHEMA = validateNamingVersion(
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
getEnvironmentVariable('DD_TRACE_SPAN_ATTRIBUTE_SCHEMA')
|
|
1277
|
-
)
|
|
1053
|
+
this._optionsArg.spanAttributeSchema ??
|
|
1054
|
+
getEnvironmentVariable('DD_TRACE_SPAN_ATTRIBUTE_SCHEMA')
|
|
1278
1055
|
)
|
|
1279
1056
|
|
|
1280
1057
|
const peerServiceSet = (
|
|
1281
1058
|
this._optionsArg.hasOwnProperty('spanComputePeerService') ||
|
|
1282
1059
|
getEnvironmentVariables().hasOwnProperty('DD_TRACE_PEER_SERVICE_DEFAULTS_ENABLED')
|
|
1283
1060
|
)
|
|
1284
|
-
const peerServiceValue =
|
|
1285
|
-
this._optionsArg.spanComputePeerService,
|
|
1061
|
+
const peerServiceValue = this._optionsArg.spanComputePeerService ??
|
|
1286
1062
|
getEnvironmentVariable('DD_TRACE_PEER_SERVICE_DEFAULTS_ENABLED')
|
|
1287
|
-
)
|
|
1288
1063
|
|
|
1289
1064
|
const spanComputePeerService = (
|
|
1290
1065
|
DD_TRACE_SPAN_ATTRIBUTE_SCHEMA === 'v0'
|
|
@@ -1298,36 +1073,28 @@ class Config {
|
|
|
1298
1073
|
}
|
|
1299
1074
|
|
|
1300
1075
|
_isCiVisibilityGitUploadEnabled () {
|
|
1301
|
-
return
|
|
1302
|
-
getEnvironmentVariable('DD_CIVISIBILITY_GIT_UPLOAD_ENABLED'),
|
|
1303
|
-
true
|
|
1304
|
-
)
|
|
1076
|
+
return getEnvironmentVariable('DD_CIVISIBILITY_GIT_UPLOAD_ENABLED') ?? true
|
|
1305
1077
|
}
|
|
1306
1078
|
|
|
1307
1079
|
_isCiVisibilityManualApiEnabled () {
|
|
1308
|
-
return
|
|
1309
|
-
getEnvironmentVariable('DD_CIVISIBILITY_MANUAL_API_ENABLED'),
|
|
1310
|
-
true
|
|
1311
|
-
)
|
|
1080
|
+
return getEnvironmentVariable('DD_CIVISIBILITY_MANUAL_API_ENABLED') ?? true
|
|
1312
1081
|
}
|
|
1313
1082
|
|
|
1314
1083
|
_isTraceStatsComputationEnabled () {
|
|
1315
1084
|
const apmTracingEnabled = this._options.apmTracingEnabled !== false &&
|
|
1316
1085
|
this._env.apmTracingEnabled !== false
|
|
1317
1086
|
|
|
1318
|
-
return apmTracingEnabled &&
|
|
1319
|
-
this._optionsArg.stats
|
|
1320
|
-
getEnvironmentVariable('DD_TRACE_STATS_COMPUTATION_ENABLED')
|
|
1321
|
-
getIsGCPFunction() || getIsAzureFunction()
|
|
1087
|
+
return apmTracingEnabled && (
|
|
1088
|
+
this._optionsArg.stats ??
|
|
1089
|
+
getEnvironmentVariable('DD_TRACE_STATS_COMPUTATION_ENABLED') ??
|
|
1090
|
+
(getIsGCPFunction() || getIsAzureFunction())
|
|
1322
1091
|
)
|
|
1323
1092
|
}
|
|
1324
1093
|
|
|
1325
1094
|
_getTraceAgentUrl () {
|
|
1326
|
-
return
|
|
1327
|
-
|
|
1328
|
-
getEnvironmentVariable('DD_TRACE_AGENT_URL'),
|
|
1095
|
+
return this._optionsArg.url ??
|
|
1096
|
+
getEnvironmentVariable('DD_TRACE_AGENT_URL') ??
|
|
1329
1097
|
null
|
|
1330
|
-
)
|
|
1331
1098
|
}
|
|
1332
1099
|
|
|
1333
1100
|
// handles values calculated from a mixture of options and env vars
|
|
@@ -1351,11 +1118,9 @@ class Config {
|
|
|
1351
1118
|
? new URL(DD_CIVISIBILITY_AGENTLESS_URL)
|
|
1352
1119
|
: getAgentUrl(this._getTraceAgentUrl(), this._optionsArg)
|
|
1353
1120
|
if (this._isCiVisibility()) {
|
|
1354
|
-
this._setBoolean(calc, 'isEarlyFlakeDetectionEnabled',
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
coalesce(DD_CIVISIBILITY_FLAKY_RETRY_ENABLED, true))
|
|
1358
|
-
calc.flakyTestRetriesCount = coalesce(maybeInt(DD_CIVISIBILITY_FLAKY_RETRY_COUNT), 5)
|
|
1121
|
+
this._setBoolean(calc, 'isEarlyFlakeDetectionEnabled', DD_CIVISIBILITY_EARLY_FLAKE_DETECTION_ENABLED ?? true)
|
|
1122
|
+
this._setBoolean(calc, 'isFlakyTestRetriesEnabled', DD_CIVISIBILITY_FLAKY_RETRY_ENABLED ?? true)
|
|
1123
|
+
calc.flakyTestRetriesCount = maybeInt(DD_CIVISIBILITY_FLAKY_RETRY_COUNT) ?? 5
|
|
1359
1124
|
this._setBoolean(calc, 'isIntelligentTestRunnerEnabled', isTrue(this._isCiVisibilityItrEnabled()))
|
|
1360
1125
|
this._setBoolean(calc, 'isManualApiEnabled', !isFalse(this._isCiVisibilityManualApiEnabled()))
|
|
1361
1126
|
this._setString(calc, 'ciVisibilityTestSessionName', DD_TEST_SESSION_NAME)
|
|
@@ -1363,7 +1128,7 @@ class Config {
|
|
|
1363
1128
|
this._setBoolean(calc, 'isTestDynamicInstrumentationEnabled', !isFalse(DD_TEST_FAILED_TEST_REPLAY_ENABLED))
|
|
1364
1129
|
this._setBoolean(calc, 'isServiceUserProvided', !!this._env.service)
|
|
1365
1130
|
this._setBoolean(calc, 'isTestManagementEnabled', !isFalse(DD_TEST_MANAGEMENT_ENABLED))
|
|
1366
|
-
calc.testManagementAttemptToFixRetries =
|
|
1131
|
+
calc.testManagementAttemptToFixRetries = maybeInt(DD_TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES) ?? 20
|
|
1367
1132
|
this._setBoolean(calc, 'isImpactedTestsEnabled', !isFalse(DD_CIVISIBILITY_IMPACTED_TESTS_DETECTION_ENABLED))
|
|
1368
1133
|
}
|
|
1369
1134
|
calc['dogstatsd.hostname'] = this._getHostname()
|