dd-trace 5.4.0 → 5.6.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/CONTRIBUTING.md +98 -0
- package/README.md +8 -99
- package/ci/cypress/after-run.js +1 -0
- package/ci/cypress/after-spec.js +1 -0
- package/index.d.ts +1498 -1488
- package/package.json +3 -3
- package/packages/datadog-core/src/utils/src/get.js +11 -0
- package/packages/datadog-core/src/utils/src/has.js +14 -0
- package/packages/datadog-core/src/utils/src/set.js +16 -0
- package/packages/datadog-instrumentations/src/amqplib.js +1 -1
- package/packages/datadog-instrumentations/src/cucumber.js +157 -42
- package/packages/datadog-instrumentations/src/grpc/server.js +3 -1
- package/packages/datadog-instrumentations/src/jest.js +80 -40
- package/packages/datadog-instrumentations/src/mocha.js +4 -1
- package/packages/datadog-instrumentations/src/mongodb-core.js +34 -3
- package/packages/datadog-instrumentations/src/playwright.js +78 -16
- package/packages/datadog-plugin-amqplib/src/consumer.js +8 -4
- package/packages/datadog-plugin-amqplib/src/producer.js +3 -4
- package/packages/datadog-plugin-aws-sdk/src/base.js +3 -2
- package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +60 -57
- package/packages/datadog-plugin-aws-sdk/src/services/sns.js +42 -22
- package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +64 -30
- package/packages/datadog-plugin-cucumber/src/index.js +25 -9
- package/packages/datadog-plugin-cypress/src/after-run.js +3 -0
- package/packages/datadog-plugin-cypress/src/after-spec.js +3 -0
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +625 -0
- package/packages/datadog-plugin-cypress/src/plugin.js +6 -549
- package/packages/datadog-plugin-cypress/src/support.js +50 -3
- package/packages/datadog-plugin-graphql/src/index.js +1 -1
- package/packages/datadog-plugin-graphql/src/resolve.js +10 -8
- package/packages/datadog-plugin-grpc/src/util.js +1 -1
- package/packages/datadog-plugin-jest/src/index.js +11 -2
- package/packages/datadog-plugin-kafkajs/src/consumer.js +4 -3
- package/packages/datadog-plugin-kafkajs/src/producer.js +3 -5
- package/packages/datadog-plugin-playwright/src/index.js +34 -3
- package/packages/datadog-plugin-rhea/src/consumer.js +8 -3
- package/packages/datadog-plugin-rhea/src/producer.js +3 -4
- package/packages/dd-trace/src/appsec/iast/index.js +10 -0
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +18 -5
- package/packages/dd-trace/src/appsec/recommended.json +67 -27
- package/packages/dd-trace/src/appsec/remote_config/index.js +1 -1
- package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +1 -3
- package/packages/dd-trace/src/config.js +451 -459
- package/packages/dd-trace/src/data_streams_context.js +1 -1
- package/packages/dd-trace/src/datastreams/pathway.js +58 -1
- package/packages/dd-trace/src/datastreams/processor.js +3 -5
- package/packages/dd-trace/src/format.js +0 -1
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +2 -2
- package/packages/dd-trace/src/opentracing/span.js +4 -4
- package/packages/dd-trace/src/plugins/util/test.js +2 -0
- package/packages/dd-trace/src/plugins/util/web.js +1 -1
- package/packages/dd-trace/src/profiling/exporters/agent.js +77 -32
- package/packages/dd-trace/src/telemetry/index.js +22 -34
- package/packages/dd-trace/src/tracer.js +3 -3
- package/register.js +4 -0
- /package/packages/{utils → datadog-core/src/utils}/src/kebabcase.js +0 -0
- /package/packages/{utils → datadog-core/src/utils}/src/pick.js +0 -0
- /package/packages/{utils → datadog-core/src/utils}/src/uniq.js +0 -0
|
@@ -15,7 +15,10 @@ const {
|
|
|
15
15
|
TEST_ITR_FORCED_RUN,
|
|
16
16
|
TEST_CODE_OWNERS,
|
|
17
17
|
ITR_CORRELATION_ID,
|
|
18
|
-
TEST_SOURCE_FILE
|
|
18
|
+
TEST_SOURCE_FILE,
|
|
19
|
+
TEST_EARLY_FLAKE_IS_ENABLED,
|
|
20
|
+
TEST_IS_NEW,
|
|
21
|
+
TEST_EARLY_FLAKE_IS_RETRY
|
|
19
22
|
} = require('../../dd-trace/src/plugins/util/test')
|
|
20
23
|
const { RESOURCE_NAME } = require('../../../ext/tags')
|
|
21
24
|
const { COMPONENT, ERROR_MESSAGE } = require('../../dd-trace/src/constants')
|
|
@@ -46,7 +49,8 @@ class CucumberPlugin extends CiPlugin {
|
|
|
46
49
|
numSkippedSuites,
|
|
47
50
|
testCodeCoverageLinesTotal,
|
|
48
51
|
hasUnskippableSuites,
|
|
49
|
-
hasForcedToRunSuites
|
|
52
|
+
hasForcedToRunSuites,
|
|
53
|
+
isEarlyFlakeDetectionEnabled
|
|
50
54
|
}) => {
|
|
51
55
|
const { isSuitesSkippingEnabled, isCodeCoverageEnabled } = this.libraryConfig || {}
|
|
52
56
|
addIntelligentTestRunnerSpanTags(
|
|
@@ -63,6 +67,9 @@ class CucumberPlugin extends CiPlugin {
|
|
|
63
67
|
hasForcedToRunSuites
|
|
64
68
|
}
|
|
65
69
|
)
|
|
70
|
+
if (isEarlyFlakeDetectionEnabled) {
|
|
71
|
+
this.testSessionSpan.setTag(TEST_EARLY_FLAKE_IS_ENABLED, 'true')
|
|
72
|
+
}
|
|
66
73
|
|
|
67
74
|
this.testSessionSpan.setTag(TEST_STATUS, status)
|
|
68
75
|
this.testModuleSpan.setTag(TEST_STATUS, status)
|
|
@@ -141,7 +148,12 @@ class CucumberPlugin extends CiPlugin {
|
|
|
141
148
|
const store = storage.getStore()
|
|
142
149
|
const testSuite = getTestSuitePath(testFileAbsolutePath, this.sourceRoot)
|
|
143
150
|
const testSourceFile = getTestSuitePath(testFileAbsolutePath, this.repositoryRoot)
|
|
144
|
-
|
|
151
|
+
|
|
152
|
+
const extraTags = {
|
|
153
|
+
[TEST_SOURCE_START]: testSourceLine,
|
|
154
|
+
[TEST_SOURCE_FILE]: testSourceFile
|
|
155
|
+
}
|
|
156
|
+
const testSpan = this.startTestSpan(testName, testSuite, extraTags)
|
|
145
157
|
|
|
146
158
|
this.enter(testSpan, store)
|
|
147
159
|
})
|
|
@@ -160,12 +172,19 @@ class CucumberPlugin extends CiPlugin {
|
|
|
160
172
|
this.enter(span, store)
|
|
161
173
|
})
|
|
162
174
|
|
|
163
|
-
this.addSub('ci:cucumber:test:finish', ({ isStep, status, skipReason, errorMessage }) => {
|
|
175
|
+
this.addSub('ci:cucumber:test:finish', ({ isStep, status, skipReason, errorMessage, isNew, isEfdRetry }) => {
|
|
164
176
|
const span = storage.getStore().span
|
|
165
177
|
const statusTag = isStep ? 'step.status' : TEST_STATUS
|
|
166
178
|
|
|
167
179
|
span.setTag(statusTag, status)
|
|
168
180
|
|
|
181
|
+
if (isNew) {
|
|
182
|
+
span.setTag(TEST_IS_NEW, 'true')
|
|
183
|
+
if (isEfdRetry) {
|
|
184
|
+
span.setTag(TEST_EARLY_FLAKE_IS_RETRY, 'true')
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
169
188
|
if (skipReason) {
|
|
170
189
|
span.setTag(TEST_SKIP_REASON, skipReason)
|
|
171
190
|
}
|
|
@@ -193,15 +212,12 @@ class CucumberPlugin extends CiPlugin {
|
|
|
193
212
|
})
|
|
194
213
|
}
|
|
195
214
|
|
|
196
|
-
startTestSpan (testName, testSuite,
|
|
215
|
+
startTestSpan (testName, testSuite, extraTags) {
|
|
197
216
|
return super.startTestSpan(
|
|
198
217
|
testName,
|
|
199
218
|
testSuite,
|
|
200
219
|
this.testSuiteSpan,
|
|
201
|
-
|
|
202
|
-
[TEST_SOURCE_START]: testSourceLine,
|
|
203
|
-
[TEST_SOURCE_FILE]: testSourceFile
|
|
204
|
-
}
|
|
220
|
+
extraTags
|
|
205
221
|
)
|
|
206
222
|
}
|
|
207
223
|
}
|