dd-trace 5.67.0 → 5.69.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 +6 -4
- 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 +240 -3
- package/initialize.mjs +1 -1
- package/package.json +17 -11
- package/packages/datadog-core/src/storage.js +14 -13
- package/packages/datadog-esbuild/index.js +118 -26
- 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 +15 -5
- 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-confluentinc-kafka-javascript/src/index.js +6 -0
- package/packages/datadog-plugin-cucumber/src/index.js +4 -56
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +6 -3
- 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 +38 -12
- 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/aiguard/client.js +25 -0
- package/packages/dd-trace/src/aiguard/noop.js +9 -0
- package/packages/dd-trace/src/aiguard/sdk.js +173 -0
- package/packages/dd-trace/src/aiguard/tags.js +11 -0
- package/packages/dd-trace/src/appsec/iast/path-line.js +21 -4
- package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +6 -3
- package/packages/dd-trace/src/appsec/stack_trace.js +20 -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-helper.js +8 -1
- package/packages/dd-trace/src/config.js +92 -304
- package/packages/dd-trace/src/config_defaults.js +191 -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/index.js +23 -1
- 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 +15 -4
- package/packages/dd-trace/src/llmobs/plugins/ai/util.js +20 -7
- 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 +27 -16
- 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/proxy.js +4 -0
- 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 +19 -5
- package/packages/dd-trace/src/payload-tagging/config/index.js +16 -0
- package/packages/dd-trace/src/payload-tagging/index.js +26 -15
- package/packages/dd-trace/src/payload-tagging/tagging.js +17 -8
- package/packages/dd-trace/src/pkg.js +3 -1
- 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/composite.js +3 -0
- package/packages/dd-trace/src/plugins/index.js +2 -0
- package/packages/dd-trace/src/plugins/plugin.js +67 -0
- package/packages/dd-trace/src/plugins/util/git-cache.js +129 -0
- package/packages/dd-trace/src/plugins/util/git.js +41 -27
- package/packages/dd-trace/src/plugins/util/test.js +56 -27
- package/packages/dd-trace/src/plugins/util/web.js +1 -1
- package/packages/dd-trace/src/priority_sampler.js +70 -46
- 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/proxy.js +15 -0
- package/packages/dd-trace/src/rate_limiter.js +26 -1
- 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/sampling_rule.js +124 -2
- package/packages/dd-trace/src/span_sampler.js +19 -0
- package/packages/dd-trace/src/standalone/product.js +9 -0
- package/packages/dd-trace/src/standalone/tracesource.js +16 -1
- package/packages/dd-trace/src/standalone/tracesource_priority_sampler.js +13 -0
- package/packages/dd-trace/src/startup-log.js +21 -2
- package/packages/dd-trace/src/supported-configurations.json +9 -0
- package/packages/dd-trace/src/telemetry/logs/index.js +2 -2
- package/packages/dd-trace/src/util.js +1 -1
- package/register.js +1 -1
- package/version.js +4 -2
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
const path = require('path')
|
|
4
4
|
const process = require('process')
|
|
5
5
|
const { ddBasePath } = require('../../util')
|
|
6
|
+
const { getOriginalPathAndLineFromSourceMap } = require('./taint-tracking/rewriter')
|
|
6
7
|
const pathLine = {
|
|
7
8
|
getNodeModulesPaths,
|
|
8
9
|
getRelativePath,
|
|
@@ -30,8 +31,24 @@ function getNonDDCallSiteFrames (callSiteFrames, externallyExcludedPaths) {
|
|
|
30
31
|
const result = []
|
|
31
32
|
|
|
32
33
|
for (const callsite of callSiteFrames) {
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
let filepath = callsite.file
|
|
35
|
+
|
|
36
|
+
if (globalThis.__DD_ESBUILD_IAST_WITH_SM) {
|
|
37
|
+
const callsiteLocation = {
|
|
38
|
+
path: getRelativePath(filepath),
|
|
39
|
+
line: callsite.line,
|
|
40
|
+
column: callsite.column
|
|
41
|
+
}
|
|
42
|
+
const { path: originalPath, line, column } = getOriginalPathAndLineFromSourceMap(callsiteLocation)
|
|
43
|
+
callsite.path = filepath = originalPath
|
|
44
|
+
callsite.line = line
|
|
45
|
+
callsite.column = column
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (
|
|
49
|
+
!isExcluded(callsite, externallyExcludedPaths) &&
|
|
50
|
+
(!filepath.includes(pathLine.ddBasePath) || globalThis.__DD_ESBUILD_IAST_WITH_NO_SM)
|
|
51
|
+
) {
|
|
35
52
|
callsite.path = getRelativePath(filepath)
|
|
36
53
|
callsite.isInternal = !path.isAbsolute(filepath)
|
|
37
54
|
|
|
@@ -43,12 +60,12 @@ function getNonDDCallSiteFrames (callSiteFrames, externallyExcludedPaths) {
|
|
|
43
60
|
}
|
|
44
61
|
|
|
45
62
|
function getRelativePath (filepath) {
|
|
46
|
-
return path.relative(process.cwd(), filepath)
|
|
63
|
+
return filepath && path.relative(process.cwd(), filepath)
|
|
47
64
|
}
|
|
48
65
|
|
|
49
66
|
function isExcluded (callsite, externallyExcludedPaths) {
|
|
50
67
|
if (callsite.isNative) return true
|
|
51
|
-
const filename = callsite.file
|
|
68
|
+
const filename = globalThis.__DD_ESBUILD_IAST_WITH_SM ? callsite.path : callsite.file
|
|
52
69
|
if (!filename) {
|
|
53
70
|
return true
|
|
54
71
|
}
|
|
@@ -15,7 +15,7 @@ const validTypes = new Set([INPUT_VALIDATOR_TYPE, SANITIZER_TYPE])
|
|
|
15
15
|
function parse (securityControlsConfiguration) {
|
|
16
16
|
const controls = new Map()
|
|
17
17
|
|
|
18
|
-
securityControlsConfiguration?.
|
|
18
|
+
securityControlsConfiguration?.replaceAll(/[\r\n\t\v\f]*/g, '')
|
|
19
19
|
.split(SECURITY_CONTROL_DELIMITER)
|
|
20
20
|
.map(parseControl)
|
|
21
21
|
.filter(control => !!control)
|
|
@@ -44,7 +44,7 @@ function setGetOriginalPathAndLineFromSourceMapFunction (chainSourceMap, { getOr
|
|
|
44
44
|
? (path, line, column) => {
|
|
45
45
|
// if --enable-source-maps is present stacktraces of the rewritten files contain the original path, file and
|
|
46
46
|
// column because the sourcemap chaining is done during the rewriting process so we can skip it
|
|
47
|
-
return isPrivateModule(path) && !isDdTrace(path)
|
|
47
|
+
return !globalThis.__DD_ESBUILD_IAST_WITH_SM && isPrivateModule(path) && !isDdTrace(path)
|
|
48
48
|
? { path, line, column }
|
|
49
49
|
: getOriginalPathAndLineFromSourceMap(path, line, column)
|
|
50
50
|
}
|
|
@@ -170,7 +170,10 @@ function enableRewriter (telemetryVerbosity) {
|
|
|
170
170
|
const rewriter = getRewriter(telemetryVerbosity)
|
|
171
171
|
if (rewriter) {
|
|
172
172
|
shimPrepareStackTrace()
|
|
173
|
-
|
|
173
|
+
if (!globalThis.__DD_ESBUILD_IAST_WITH_SM && !globalThis.__DD_ESBUILD_IAST_WITH_NO_SM) {
|
|
174
|
+
// Avoid rewriting twice when application has been bundled
|
|
175
|
+
shimmer.wrap(Module.prototype, '_compile', compileMethod => getCompileMethodFn(compileMethod))
|
|
176
|
+
}
|
|
174
177
|
}
|
|
175
178
|
}
|
|
176
179
|
|
|
@@ -264,5 +267,5 @@ function enable (configArg) {
|
|
|
264
267
|
}
|
|
265
268
|
|
|
266
269
|
module.exports = {
|
|
267
|
-
enable, disable, getOriginalPathAndLineFromSourceMap
|
|
270
|
+
enable, disable, getOriginalPathAndLineFromSourceMap, getRewriter
|
|
268
271
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const { ddBasePath } = require('../util')
|
|
4
|
+
const { getOriginalPathAndLineFromSourceMap } = require('./iast/taint-tracking/rewriter')
|
|
4
5
|
|
|
5
6
|
const LIBRARY_FRAMES_BUFFER = 20
|
|
6
7
|
|
|
@@ -32,7 +33,25 @@ function getCallSiteList (maxDepth = 100, constructorOpt) {
|
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
function filterOutFramesFromLibrary (callSiteList) {
|
|
35
|
-
return callSiteList.filter(callSite =>
|
|
36
|
+
return callSiteList.filter(callSite => {
|
|
37
|
+
if (globalThis.__DD_ESBUILD_IAST_WITH_NO_SM) {
|
|
38
|
+
// bundled and no SourceMap, not possible to discriminate if the frame comes from dd-trace code or not
|
|
39
|
+
return true
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (globalThis.__DD_ESBUILD_IAST_WITH_SM) {
|
|
43
|
+
// bundled with SourceMap, get original file and line to discriminate if comes from dd-trace or not
|
|
44
|
+
const callSiteLocation = {
|
|
45
|
+
path: callSite.getFileName(),
|
|
46
|
+
line: callSite.getLineNumber(),
|
|
47
|
+
column: callSite.getColumnNumber()
|
|
48
|
+
}
|
|
49
|
+
const { path } = getOriginalPathAndLineFromSourceMap(callSiteLocation)
|
|
50
|
+
return !path?.startsWith(ddBasePath)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return !callSite.getFileName()?.startsWith(ddBasePath)
|
|
54
|
+
})
|
|
36
55
|
}
|
|
37
56
|
|
|
38
57
|
function getCallsiteFrames (maxDepth = 32, constructorOpt = getCallsiteFrames, callSiteListGetter = getCallSiteList) {
|
|
@@ -96,7 +96,7 @@ function incrementWafInit (wafVersion, rulesVersion, success) {
|
|
|
96
96
|
appsecMetrics.count('waf.init', { ...versionsTags, success }).inc()
|
|
97
97
|
|
|
98
98
|
if (!success) {
|
|
99
|
-
appsecMetrics.count('waf.config_errors', versionsTags).inc()
|
|
99
|
+
appsecMetrics.count('waf.config_errors', { ...versionsTags, action: 'init' }).inc()
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
|
|
@@ -107,7 +107,7 @@ function incrementWafUpdates (wafVersion, rulesVersion, success) {
|
|
|
107
107
|
|
|
108
108
|
function incrementWafConfigErrors (wafVersion, rulesVersion) {
|
|
109
109
|
const versionsTags = getVersionsTags(wafVersion, rulesVersion)
|
|
110
|
-
appsecMetrics.count('waf.config_errors', versionsTags).inc()
|
|
110
|
+
appsecMetrics.count('waf.config_errors', { ...versionsTags, action: 'update' }).inc()
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
function incrementWafRequests (store) {
|
|
@@ -287,11 +287,11 @@ class CiVisibilityExporter extends AgentInfoExporter {
|
|
|
287
287
|
this._export(formattedCoverage, this._coverageWriter, '_coverageTimer')
|
|
288
288
|
}
|
|
289
289
|
|
|
290
|
-
formatLogMessage (
|
|
290
|
+
formatLogMessage (testEnvironmentMetadata, logMessage) {
|
|
291
291
|
const {
|
|
292
292
|
[GIT_REPOSITORY_URL]: gitRepositoryUrl,
|
|
293
293
|
[GIT_COMMIT_SHA]: gitCommitSha
|
|
294
|
-
} =
|
|
294
|
+
} = testEnvironmentMetadata
|
|
295
295
|
|
|
296
296
|
const { service, env, version } = this._config
|
|
297
297
|
|
|
@@ -315,14 +315,14 @@ class CiVisibilityExporter extends AgentInfoExporter {
|
|
|
315
315
|
}
|
|
316
316
|
|
|
317
317
|
// DI logs
|
|
318
|
-
exportDiLogs (
|
|
318
|
+
exportDiLogs (testEnvironmentMetadata, logMessage) {
|
|
319
319
|
// TODO: could we lose logs if it's not initialized?
|
|
320
320
|
if (!this._config.isTestDynamicInstrumentationEnabled || !this._isInitialized || !this._canForwardLogs) {
|
|
321
321
|
return
|
|
322
322
|
}
|
|
323
323
|
|
|
324
324
|
this._export(
|
|
325
|
-
this.formatLogMessage(
|
|
325
|
+
this.formatLogMessage(testEnvironmentMetadata, logMessage),
|
|
326
326
|
this._logsWriter,
|
|
327
327
|
'_logsTimer'
|
|
328
328
|
)
|
|
@@ -7,7 +7,9 @@ const {
|
|
|
7
7
|
CUCUMBER_WORKER_TRACE_PAYLOAD_CODE,
|
|
8
8
|
MOCHA_WORKER_TRACE_PAYLOAD_CODE,
|
|
9
9
|
JEST_WORKER_LOGS_PAYLOAD_CODE,
|
|
10
|
-
PLAYWRIGHT_WORKER_TRACE_PAYLOAD_CODE
|
|
10
|
+
PLAYWRIGHT_WORKER_TRACE_PAYLOAD_CODE,
|
|
11
|
+
VITEST_WORKER_TRACE_PAYLOAD_CODE,
|
|
12
|
+
VITEST_WORKER_LOGS_PAYLOAD_CODE
|
|
11
13
|
} = require('../../../plugins/util/test')
|
|
12
14
|
const { getEnvironmentVariable } = require('../../../config-helper')
|
|
13
15
|
|
|
@@ -24,6 +26,9 @@ function getInterprocessTraceCode () {
|
|
|
24
26
|
if (getEnvironmentVariable('DD_PLAYWRIGHT_WORKER')) {
|
|
25
27
|
return PLAYWRIGHT_WORKER_TRACE_PAYLOAD_CODE
|
|
26
28
|
}
|
|
29
|
+
if (getEnvironmentVariable('TINYPOOL_WORKER_ID')) {
|
|
30
|
+
return VITEST_WORKER_TRACE_PAYLOAD_CODE
|
|
31
|
+
}
|
|
27
32
|
return null
|
|
28
33
|
}
|
|
29
34
|
|
|
@@ -39,6 +44,9 @@ function getInterprocessLogsCode () {
|
|
|
39
44
|
if (getEnvironmentVariable('JEST_WORKER_ID')) {
|
|
40
45
|
return JEST_WORKER_LOGS_PAYLOAD_CODE
|
|
41
46
|
}
|
|
47
|
+
if (getEnvironmentVariable('TINYPOOL_WORKER_ID')) {
|
|
48
|
+
return VITEST_WORKER_LOGS_PAYLOAD_CODE
|
|
49
|
+
}
|
|
42
50
|
return null
|
|
43
51
|
}
|
|
44
52
|
|
|
@@ -66,8 +74,8 @@ class TestWorkerCiVisibilityExporter {
|
|
|
66
74
|
this._coverageWriter.append(formattedCoverage)
|
|
67
75
|
}
|
|
68
76
|
|
|
69
|
-
exportDiLogs (
|
|
70
|
-
this._logsWriter.append({
|
|
77
|
+
exportDiLogs (testEnvironmentMetadata, logMessage) {
|
|
78
|
+
this._logsWriter.append({ testEnvironmentMetadata, logMessage })
|
|
71
79
|
}
|
|
72
80
|
|
|
73
81
|
// TODO: add to other writers
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
const { JSONEncoder } = require('../../encode/json-encoder')
|
|
3
|
+
const { getEnvironmentVariable } = require('../../../config-helper')
|
|
3
4
|
|
|
4
5
|
class Writer {
|
|
5
6
|
constructor (interprocessCode) {
|
|
@@ -34,9 +35,17 @@ class Writer {
|
|
|
34
35
|
// See cucumber code:
|
|
35
36
|
// https://github.com/cucumber/cucumber-js/blob/5ce371870b677fe3d1a14915dc535688946f734c/src/runtime/parallel/run_worker.ts#L13
|
|
36
37
|
if (process.send) { // it only works if process.send is available
|
|
37
|
-
|
|
38
|
+
const isVitestWorker = !!getEnvironmentVariable('TINYPOOL_WORKER_ID')
|
|
39
|
+
|
|
40
|
+
const payload = isVitestWorker
|
|
41
|
+
? { __tinypool_worker_message__: true, interprocessCode: this._interprocessCode, data }
|
|
42
|
+
: [this._interprocessCode, data]
|
|
43
|
+
|
|
44
|
+
process.send(payload, () => {
|
|
38
45
|
onDone()
|
|
39
46
|
})
|
|
47
|
+
} else {
|
|
48
|
+
onDone()
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
}
|
|
@@ -5,6 +5,13 @@
|
|
|
5
5
|
const { deprecate } = require('util')
|
|
6
6
|
const { supportedConfigurations, aliases, deprecations } = require('./supported-configurations.json')
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Types for environment variable handling.
|
|
10
|
+
*
|
|
11
|
+
* @typedef {keyof typeof supportedConfigurations} SupportedEnvKey
|
|
12
|
+
* @typedef {Partial<typeof process.env> & Partial<Record<SupportedEnvKey, string|undefined>>} TracerEnv
|
|
13
|
+
*/
|
|
14
|
+
|
|
8
15
|
const aliasToCanonical = {}
|
|
9
16
|
for (const canonical of Object.keys(aliases)) {
|
|
10
17
|
for (const alias of aliases[canonical]) {
|
|
@@ -32,7 +39,7 @@ module.exports = {
|
|
|
32
39
|
* Returns the environment variables that are supported by the tracer
|
|
33
40
|
* (including all non-Datadog/OTEL specific environment variables)
|
|
34
41
|
*
|
|
35
|
-
* @returns {
|
|
42
|
+
* @returns {TracerEnv} The environment variables
|
|
36
43
|
*/
|
|
37
44
|
getEnvironmentVariables () {
|
|
38
45
|
const configs = {}
|