dd-trace 6.13.0 → 6.14.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 +3 -1
- package/ci/init.js +8 -3
- package/ci/test-optimization-validation/ci-package-scripts.js +2 -2
- package/ci/test-optimization-validation/ci-remediation.js +6 -6
- package/ci/test-optimization-validation/command-blocker.js +7 -5
- package/ci/test-optimization-validation/framework-adapters/cucumber.js +1 -1
- package/ci/test-optimization-validation/framework-adapters/vitest.js +3 -3
- package/ci/test-optimization-validation/package-check.js +1 -1
- package/ci/test-optimization-validation/report-writer.js +7 -5
- package/ci/vitest-no-worker-init-runner-setup.mjs +8 -0
- package/ci/vitest-no-worker-init-setup.mjs +13 -13
- package/ci/vitest-no-worker-init-v5-setup.mjs +4 -0
- package/package.json +13 -10
- package/packages/datadog-esbuild/index.js +3 -1
- package/packages/datadog-instrumentations/src/cypress-config.js +19 -17
- package/packages/datadog-instrumentations/src/fs.js +24 -20
- package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +2 -2
- package/packages/datadog-instrumentations/src/graphql.js +16 -16
- package/packages/datadog-instrumentations/src/helpers/graphql-jit-runtime.js +504 -0
- package/packages/datadog-instrumentations/src/helpers/hooks.js +2 -0
- package/packages/datadog-instrumentations/src/helpers/pool-acquire.js +265 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/compiler.js +1 -2
- package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +95 -30
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/ai.js +0 -25
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/graphql-jit.js +83 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/graphql.js +85 -1
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/mercurius.js +30 -12
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/playwright.js +13 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/webdriverio.js +251 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/targets.json +11 -1
- package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +562 -27
- package/packages/datadog-instrumentations/src/jest.js +25 -20
- package/packages/datadog-instrumentations/src/knex.js +76 -0
- package/packages/datadog-instrumentations/src/mariadb.js +6 -0
- package/packages/datadog-instrumentations/src/mocha/common.js +59 -2
- package/packages/datadog-instrumentations/src/mocha/main.js +25 -15
- package/packages/datadog-instrumentations/src/mocha/utils.js +2 -1
- package/packages/datadog-instrumentations/src/mocha/webdriverio-protocol.js +98 -0
- package/packages/datadog-instrumentations/src/mocha/worker.js +12 -8
- package/packages/datadog-instrumentations/src/net.js +14 -17
- package/packages/datadog-instrumentations/src/next.js +212 -62
- package/packages/datadog-instrumentations/src/openai.js +42 -40
- package/packages/datadog-instrumentations/src/pg.js +15 -0
- package/packages/datadog-instrumentations/src/playwright.js +109 -13
- package/packages/datadog-instrumentations/src/rum-browser-scripts.js +40 -0
- package/packages/datadog-instrumentations/src/sequelize.js +94 -2
- package/packages/datadog-instrumentations/src/undici.js +53 -4
- package/packages/datadog-instrumentations/src/vitest-main-no-worker-init.js +37 -3
- package/packages/datadog-instrumentations/src/vitest-main.js +92 -9
- package/packages/datadog-instrumentations/src/vitest-worker.js +71 -14
- package/packages/datadog-instrumentations/src/webdriverio.js +965 -6
- package/packages/datadog-plugin-amqp10/src/consumer.js +3 -1
- package/packages/datadog-plugin-amqp10/src/producer.js +3 -1
- package/packages/datadog-plugin-amqp10/src/util.js +2 -1
- package/packages/datadog-plugin-avsc/src/schema_iterator.js +6 -1
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +16 -5
- package/packages/datadog-plugin-cassandra-driver/src/index.js +8 -3
- package/packages/datadog-plugin-cucumber/src/index.js +0 -2
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +262 -48
- package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +4 -1
- package/packages/datadog-plugin-graphql/src/execute.js +998 -196
- package/packages/datadog-plugin-graphql/src/index.js +27 -7
- package/packages/datadog-plugin-graphql/src/jit.js +136 -0
- package/packages/datadog-plugin-graphql/src/request.js +18 -27
- package/packages/datadog-plugin-graphql/src/resolve-error.js +108 -0
- package/packages/datadog-plugin-graphql/src/tools/signature.js +1 -2
- package/packages/datadog-plugin-graphql/src/tools/transforms.js +45 -3
- package/packages/datadog-plugin-graphql/src/utils.js +208 -120
- package/packages/datadog-plugin-graphql/src/validate.js +10 -23
- package/packages/datadog-plugin-jest/src/index.js +0 -6
- package/packages/datadog-plugin-langchain/src/tracing.js +7 -0
- package/packages/datadog-plugin-mocha/src/index.js +403 -75
- package/packages/datadog-plugin-mongodb-core/src/query.js +6 -0
- package/packages/datadog-plugin-mysql/src/index.js +41 -15
- package/packages/datadog-plugin-net/src/tcp.js +3 -1
- package/packages/datadog-plugin-next/src/index.js +63 -29
- package/packages/datadog-plugin-playwright/src/index.js +167 -27
- package/packages/datadog-plugin-undici/src/index.js +27 -41
- package/packages/datadog-plugin-vitest/src/index.js +6 -12
- package/packages/dd-trace/src/aiguard/evaluation.js +2 -1
- package/packages/dd-trace/src/aiguard/messages/anthropic.js +8 -1
- package/packages/dd-trace/src/aiguard/messages/openai.js +8 -1
- package/packages/dd-trace/src/aiguard/messages/vercel-ai.js +20 -6
- package/packages/dd-trace/src/appsec/api_security/index.js +23 -6
- package/packages/dd-trace/src/appsec/api_security/sampler.js +99 -40
- package/packages/dd-trace/src/appsec/graphql.js +6 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +3 -3
- package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +2 -1
- package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +8 -2
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +11 -36
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/url-sensitive-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/lambda.js +44 -26
- package/packages/dd-trace/src/ci-visibility/encode/json-encoder.js +32 -2
- package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +8 -8
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +6 -4
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +20 -4
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/request-tracker.js +5 -173
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +7 -6
- package/packages/dd-trace/src/ci-visibility/exporters/agents.js +54 -0
- package/packages/dd-trace/src/ci-visibility/exporters/ci-validation/writer.js +1 -2
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +394 -225
- package/packages/dd-trace/src/ci-visibility/exporters/limits.js +9 -0
- package/packages/dd-trace/src/ci-visibility/exporters/request.js +323 -31
- package/packages/dd-trace/src/ci-visibility/exporters/settings-cache-key.js +42 -0
- package/packages/dd-trace/src/ci-visibility/final-flush.js +2 -1
- package/packages/dd-trace/src/ci-visibility/requests/fs-cache.js +57 -18
- package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +0 -3
- package/packages/dd-trace/src/ci-visibility/requests/upload-test-screenshot.js +164 -71
- package/packages/dd-trace/src/ci-visibility/requests/video-request.js +176 -0
- package/packages/dd-trace/src/ci-visibility/telemetry.js +10 -7
- package/packages/dd-trace/src/ci-visibility/test-video.js +61 -0
- package/packages/dd-trace/src/config/generated-config-types.d.ts +4 -0
- package/packages/dd-trace/src/config/index.js +73 -13
- package/packages/dd-trace/src/config/parsers.js +11 -1
- package/packages/dd-trace/src/config/stable.js +3 -3
- package/packages/dd-trace/src/config/supported-configurations.json +20 -2
- package/packages/dd-trace/src/crashtracking/crashtracker.js +82 -18
- package/packages/dd-trace/src/debugger/config.js +12 -1
- package/packages/dd-trace/src/debugger/constants.js +1 -0
- package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +2 -1
- package/packages/dd-trace/src/debugger/devtools_client/request-options.js +33 -0
- package/packages/dd-trace/src/debugger/devtools_client/send.js +7 -40
- package/packages/dd-trace/src/debugger/devtools_client/status.js +11 -6
- package/packages/dd-trace/src/debugger/devtools_client/tags.js +41 -0
- package/packages/dd-trace/src/debugger/index.js +23 -3
- package/packages/dd-trace/src/dogstatsd.js +510 -76
- package/packages/dd-trace/src/encode/0.4-cross-payload.js +170 -0
- package/packages/dd-trace/src/encode/0.4.js +5 -5
- package/packages/dd-trace/src/encode/agentless-ci-visibility.js +9 -8
- package/packages/dd-trace/src/evp_proxy/direct.js +27 -23
- package/packages/dd-trace/src/exporters/agent/index.js +2 -1
- package/packages/dd-trace/src/exporters/agent/writer.js +24 -7
- package/packages/dd-trace/src/exporters/agentless/index.js +7 -9
- package/packages/dd-trace/src/exporters/agentless/writer.js +100 -118
- package/packages/dd-trace/src/exporters/common/agents.js +28 -6
- package/packages/dd-trace/src/exporters/common/buffering-exporter.js +2 -2
- package/packages/dd-trace/src/exporters/common/final-flush-request-tracker.js +191 -0
- package/packages/dd-trace/src/exporters/common/request.js +31 -11
- package/packages/dd-trace/src/exporters/common/url.js +40 -1
- package/packages/dd-trace/src/exporters/common/writer.js +9 -7
- package/packages/dd-trace/src/flush.js +6 -3
- package/packages/dd-trace/src/id.js +14 -0
- package/packages/dd-trace/src/index.js +5 -2
- package/packages/dd-trace/src/llmobs/experiments/dataset.js +2 -1
- package/packages/dd-trace/src/llmobs/index.js +32 -32
- package/packages/dd-trace/src/llmobs/plugins/ai/ddTelemetry.js +22 -71
- package/packages/dd-trace/src/llmobs/plugins/ai/vercelTelemetry.js +23 -13
- package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +7 -0
- package/packages/dd-trace/src/llmobs/util.js +0 -33
- package/packages/dd-trace/src/llmobs/writers/base.js +49 -32
- package/packages/dd-trace/src/log/index.js +7 -1
- package/packages/dd-trace/src/{ci-visibility/log-submission → log-submission}/log-submission-plugin.js +48 -19
- package/packages/dd-trace/src/openfeature/writers/base.js +14 -12
- package/packages/dd-trace/src/openfeature/writers/util.js +1 -1
- package/packages/dd-trace/src/opentelemetry/logs/index.js +5 -24
- package/packages/dd-trace/src/opentelemetry/logs/otlp_http_log_exporter.js +14 -4
- package/packages/dd-trace/src/opentelemetry/metrics/index.js +15 -22
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_http_metric_exporter.js +14 -4
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_span_stats_exporter.js +10 -0
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +19 -4
- package/packages/dd-trace/src/opentelemetry/resource-attributes.js +55 -0
- package/packages/dd-trace/src/opentelemetry/trace/index.js +6 -1
- package/packages/dd-trace/src/opentelemetry/trace/otlp_http_trace_exporter.js +10 -0
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +93 -18
- package/packages/dd-trace/src/payload-tagging/index.js +2 -1
- package/packages/dd-trace/src/plugins/ci_plugin.js +1 -6
- package/packages/dd-trace/src/plugins/tracing.js +12 -10
- package/packages/dd-trace/src/plugins/util/ci.js +3 -1
- package/packages/dd-trace/src/plugins/util/inferred_proxy.js +16 -15
- package/packages/dd-trace/src/plugins/util/test.js +83 -20
- package/packages/dd-trace/src/plugins/util/url.js +2 -2
- package/packages/dd-trace/src/plugins/util/web.js +4 -9
- package/packages/dd-trace/src/profiling/config.js +1 -0
- package/packages/dd-trace/src/profiling/oom.js +7 -2
- package/packages/dd-trace/src/profiling/profiler.js +23 -13
- package/packages/dd-trace/src/profiling/profilers/space.js +38 -11
- package/packages/dd-trace/src/profiling/webspan-utils.js +7 -4
- package/packages/dd-trace/src/proxy.js +75 -5
- package/packages/dd-trace/src/remote_config/index.js +319 -101
- package/packages/dd-trace/src/remote_config/scheduler.js +37 -12
- package/packages/dd-trace/src/runtime_metrics/client.js +37 -8
- package/packages/dd-trace/src/runtime_metrics/otlp_runtime_metrics.js +5 -1
- package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +5 -1
- package/packages/dd-trace/src/sampling_rule.js +36 -9
- package/packages/dd-trace/src/serverless/telemetry-delivery-tracker.js +4 -8
- package/packages/dd-trace/src/serverless/vercel.js +53 -20
- package/packages/dd-trace/src/serverless.js +10 -3
- package/packages/dd-trace/src/service-naming/schemas/util.js +1 -1
- package/packages/dd-trace/src/span_stats.js +24 -28
- package/packages/dd-trace/src/startup-log.js +3 -2
- package/packages/dd-trace/src/telemetry/agentless-url.js +28 -0
- package/packages/dd-trace/src/telemetry/send-data.js +18 -16
- package/packages/dd-trace/src/telemetry/session-propagation.js +3 -2
- package/packages/dd-trace/src/tracer.js +4 -5
- package/packages/dd-trace/src/tracer_metadata.js +11 -3
- package/vendor/dist/@datadog/sketches-js/index.js +1 -1
- package/vendor/dist/protobufjs/index.js +1 -1
- package/vendor/dist/protobufjs/minimal/index.js +1 -1
- package/packages/datadog-instrumentations/src/playwright-browser-scripts.js +0 -27
- package/packages/dd-trace/src/encode/agentless-json.js +0 -210
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
const instrumentations = [
|
|
4
4
|
{
|
|
5
5
|
module: {
|
|
6
6
|
name: 'graphql',
|
|
@@ -25,6 +25,54 @@ module.exports = [
|
|
|
25
25
|
},
|
|
26
26
|
channelName: 'apm:graphql:execute',
|
|
27
27
|
},
|
|
28
|
+
{
|
|
29
|
+
module: {
|
|
30
|
+
name: 'graphql',
|
|
31
|
+
versionRange: '>=0.10 <16',
|
|
32
|
+
filePath: 'execution/execute.js',
|
|
33
|
+
},
|
|
34
|
+
functionQuery: {
|
|
35
|
+
functionName: 'asErrorInstance',
|
|
36
|
+
kind: 'Sync',
|
|
37
|
+
},
|
|
38
|
+
channelName: 'apm:graphql:resolve:error',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
module: {
|
|
42
|
+
name: 'graphql',
|
|
43
|
+
versionRange: '>=0.10 <16',
|
|
44
|
+
filePath: 'execution/execute.mjs',
|
|
45
|
+
},
|
|
46
|
+
functionQuery: {
|
|
47
|
+
functionName: 'asErrorInstance',
|
|
48
|
+
kind: 'Sync',
|
|
49
|
+
},
|
|
50
|
+
channelName: 'apm:graphql:resolve:error',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
module: {
|
|
54
|
+
name: 'graphql',
|
|
55
|
+
versionRange: '>=0.10',
|
|
56
|
+
filePath: 'error/locatedError.js',
|
|
57
|
+
},
|
|
58
|
+
functionQuery: {
|
|
59
|
+
functionName: 'locatedError',
|
|
60
|
+
kind: 'Sync',
|
|
61
|
+
},
|
|
62
|
+
channelName: 'apm:graphql:resolve:error',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
module: {
|
|
66
|
+
name: 'graphql',
|
|
67
|
+
versionRange: '>=0.10',
|
|
68
|
+
filePath: 'error/locatedError.mjs',
|
|
69
|
+
},
|
|
70
|
+
functionQuery: {
|
|
71
|
+
functionName: 'locatedError',
|
|
72
|
+
kind: 'Sync',
|
|
73
|
+
},
|
|
74
|
+
channelName: 'apm:graphql:resolve:error',
|
|
75
|
+
},
|
|
28
76
|
{
|
|
29
77
|
module: {
|
|
30
78
|
name: 'graphql',
|
|
@@ -102,6 +150,30 @@ module.exports = [
|
|
|
102
150
|
},
|
|
103
151
|
channelName: 'apm:graphql:execute',
|
|
104
152
|
},
|
|
153
|
+
{
|
|
154
|
+
module: {
|
|
155
|
+
name: '@graphql-tools/executor',
|
|
156
|
+
versionRange: '>=0.0.14',
|
|
157
|
+
filePath: 'cjs/execution/execute.js',
|
|
158
|
+
},
|
|
159
|
+
functionQuery: {
|
|
160
|
+
functionName: 'handleFieldError',
|
|
161
|
+
kind: 'Sync',
|
|
162
|
+
},
|
|
163
|
+
channelName: 'apm:graphql:resolve:error',
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
module: {
|
|
167
|
+
name: '@graphql-tools/executor',
|
|
168
|
+
versionRange: '>=0.0.14',
|
|
169
|
+
filePath: 'esm/execution/execute.js',
|
|
170
|
+
},
|
|
171
|
+
functionQuery: {
|
|
172
|
+
functionName: 'handleFieldError',
|
|
173
|
+
kind: 'Sync',
|
|
174
|
+
},
|
|
175
|
+
channelName: 'apm:graphql:resolve:error',
|
|
176
|
+
},
|
|
105
177
|
{
|
|
106
178
|
module: {
|
|
107
179
|
name: '@graphql-tools/executor',
|
|
@@ -199,3 +271,15 @@ module.exports = [
|
|
|
199
271
|
channelName: 'dd:graphql:utilities:load',
|
|
200
272
|
},
|
|
201
273
|
]
|
|
274
|
+
|
|
275
|
+
const fastPathInstrumentations = []
|
|
276
|
+
for (const instrumentation of instrumentations) {
|
|
277
|
+
if (instrumentation.functionQuery?.functionName === '__module_export__') continue
|
|
278
|
+
|
|
279
|
+
fastPathInstrumentations.push({
|
|
280
|
+
...instrumentation,
|
|
281
|
+
transform: 'configureGraphqlFastPath',
|
|
282
|
+
})
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
module.exports = [...instrumentations, ...fastPathInstrumentations]
|
package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/mercurius.js
CHANGED
|
@@ -5,27 +5,45 @@
|
|
|
5
5
|
// the per-request entry point). Wrapping that one function gives a single
|
|
6
6
|
// top-level span per operation regardless of how the query reaches mercurius
|
|
7
7
|
// — HTTP POST/GET, batched queries, or a programmatic `app.graphql()` call —
|
|
8
|
-
// and regardless of whether the query runs through graphql's `execute`
|
|
9
|
-
//
|
|
8
|
+
// and regardless of whether the query runs through graphql's `execute` or its
|
|
9
|
+
// JIT-compiled equivalent.
|
|
10
10
|
//
|
|
11
11
|
// The function name and signature `(source, context, variables, operationName)`
|
|
12
|
-
// are stable across the supported major range (verified against
|
|
12
|
+
// are stable across the supported major range (verified against 13.x and 16.x),
|
|
13
13
|
// so a `functionName` match needs no per-version file paths.
|
|
14
|
+
const FASTIFY_GRAPHQL_CONTEXT = 'FunctionDeclaration[id.name="fastifyGraphQl"]:has(Identifier[name="opts"]) ' +
|
|
15
|
+
'VariableDeclarator[id.name="__apm$ctx"] > ObjectExpression'
|
|
16
|
+
const moduleDefinition = {
|
|
17
|
+
// Floor at 13: it is the oldest major whose fastify-plugin peer (^4)
|
|
18
|
+
// accepts fastify 4, which installs and runs on the oldest supported Node
|
|
19
|
+
// (18). 15+ requires Node 20 and fastify 5, covered on the latest-Node CI
|
|
20
|
+
// leg. The `fastifyGraphQl` funnel is unchanged across this whole range.
|
|
21
|
+
name: 'mercurius',
|
|
22
|
+
versionRange: '>=13',
|
|
23
|
+
filePath: 'index.js',
|
|
24
|
+
}
|
|
25
|
+
|
|
14
26
|
module.exports = [
|
|
15
27
|
{
|
|
16
|
-
module:
|
|
17
|
-
// Floor at 13: it is the oldest major whose fastify-plugin peer (^4)
|
|
18
|
-
// accepts fastify 4, which installs and runs on the oldest supported Node
|
|
19
|
-
// (18). 15+ requires Node 20 and fastify 5, covered on the latest-Node CI
|
|
20
|
-
// leg. The `fastifyGraphQl` funnel is unchanged across this whole range.
|
|
21
|
-
name: 'mercurius',
|
|
22
|
-
versionRange: '>=13',
|
|
23
|
-
filePath: 'index.js',
|
|
24
|
-
},
|
|
28
|
+
module: moduleDefinition,
|
|
25
29
|
functionQuery: {
|
|
26
30
|
functionName: 'fastifyGraphQl',
|
|
27
31
|
kind: 'Async',
|
|
28
32
|
},
|
|
29
33
|
channelName: 'apm:graphql:request',
|
|
30
34
|
},
|
|
35
|
+
{
|
|
36
|
+
module: moduleDefinition,
|
|
37
|
+
astQuery: FASTIFY_GRAPHQL_CONTEXT,
|
|
38
|
+
transform: 'configureMercuriusRequest',
|
|
39
|
+
channelName: 'apm:graphql:request',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
module: moduleDefinition,
|
|
43
|
+
functionQuery: {
|
|
44
|
+
functionName: 'fastifyGraphQl',
|
|
45
|
+
},
|
|
46
|
+
transform: 'configureGraphqlFastPath',
|
|
47
|
+
channelName: 'apm:graphql:request',
|
|
48
|
+
},
|
|
31
49
|
]
|
package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/playwright.js
CHANGED
|
@@ -3,6 +3,19 @@
|
|
|
3
3
|
// Playwright keeps several hook targets in private local classes/functions.
|
|
4
4
|
// Keep these rewrites limited to bundled internals that addHook cannot wrap.
|
|
5
5
|
module.exports = [
|
|
6
|
+
{
|
|
7
|
+
module: {
|
|
8
|
+
name: 'playwright',
|
|
9
|
+
versionRange: '>=1.38.0',
|
|
10
|
+
filePath: 'lib/index.js',
|
|
11
|
+
},
|
|
12
|
+
astQuery: 'CallExpression[callee.object.name="videos"][callee.property.name="map"] > ' +
|
|
13
|
+
'ArrowFunctionExpression[async]',
|
|
14
|
+
functionQuery: {
|
|
15
|
+
kind: 'Async',
|
|
16
|
+
},
|
|
17
|
+
channelName: 'saveAutomaticVideo',
|
|
18
|
+
},
|
|
6
19
|
{
|
|
7
20
|
module: {
|
|
8
21
|
name: 'playwright',
|
package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/webdriverio.js
CHANGED
|
@@ -54,6 +54,41 @@ module.exports = [
|
|
|
54
54
|
channelName: 'LocalRunner_shutdown',
|
|
55
55
|
transform: 'waitForAsyncEnd',
|
|
56
56
|
},
|
|
57
|
+
{
|
|
58
|
+
module: {
|
|
59
|
+
name: '@wdio/runner',
|
|
60
|
+
versionRange: '>=9.0.0',
|
|
61
|
+
filePath: 'build/index.js',
|
|
62
|
+
},
|
|
63
|
+
functionQuery: {
|
|
64
|
+
className: 'Runner',
|
|
65
|
+
methodName: 'run',
|
|
66
|
+
kind: 'Async',
|
|
67
|
+
},
|
|
68
|
+
channelName: 'Runner_run',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
module: {
|
|
72
|
+
name: '@wdio/runner',
|
|
73
|
+
versionRange: '>=9.0.0',
|
|
74
|
+
filePath: 'build/index.js',
|
|
75
|
+
},
|
|
76
|
+
astQuery: 'VariableDeclarator[id.name="Runner"] > ClassExpression > ClassBody > ' +
|
|
77
|
+
'MethodDefinition[key.name="run"] IfStatement[test.operator="!"]' +
|
|
78
|
+
'[test.argument.object.name="args"][test.argument.property.name="watch"], ' +
|
|
79
|
+
'ClassDeclaration[id.name="Runner"] > ClassBody > MethodDefinition[key.name="run"] ' +
|
|
80
|
+
'IfStatement[test.operator="!"][test.argument.object.name="args"][test.argument.property.name="watch"], ' +
|
|
81
|
+
'VariableDeclarator[id.name="Runner"] > ClassExpression > ClassBody > ' +
|
|
82
|
+
'MethodDefinition[key.name="run"] IfStatement[test.object.type="ThisExpression"]' +
|
|
83
|
+
'[test.property.name="_sigintWasCalled"], ' +
|
|
84
|
+
'ClassDeclaration[id.name="Runner"] > ClassBody > MethodDefinition[key.name="run"] ' +
|
|
85
|
+
'IfStatement[test.object.type="ThisExpression"][test.property.name="_sigintWasCalled"]',
|
|
86
|
+
channelName: 'Runner_run',
|
|
87
|
+
transform: 'awaitContextCallback',
|
|
88
|
+
transformOptions: {
|
|
89
|
+
callbackName: 'rumCleanupCallback',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
57
92
|
{
|
|
58
93
|
module: {
|
|
59
94
|
name: '@wdio/runner',
|
|
@@ -188,6 +223,182 @@ module.exports = [
|
|
|
188
223
|
},
|
|
189
224
|
channelName: 'JasmineReporter_suiteDone',
|
|
190
225
|
},
|
|
226
|
+
{
|
|
227
|
+
module: {
|
|
228
|
+
name: 'webdriver',
|
|
229
|
+
versionRange: '>=9.0.0',
|
|
230
|
+
filePath: 'build/index.js',
|
|
231
|
+
},
|
|
232
|
+
astQuery: 'FunctionDeclaration[id.name="command_default"]',
|
|
233
|
+
functionQuery: {
|
|
234
|
+
kind: 'Sync',
|
|
235
|
+
},
|
|
236
|
+
channelName: 'command',
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
module: {
|
|
240
|
+
name: 'webdriver',
|
|
241
|
+
versionRange: '>=9.0.0',
|
|
242
|
+
filePath: 'build/index.js',
|
|
243
|
+
},
|
|
244
|
+
astQuery: 'FunctionDeclaration[id.name="initiateBidi"]',
|
|
245
|
+
functionQuery: {
|
|
246
|
+
kind: 'Sync',
|
|
247
|
+
},
|
|
248
|
+
channelName: 'initiateBidi',
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
module: {
|
|
252
|
+
name: 'webdriver',
|
|
253
|
+
versionRange: '>=9.0.0',
|
|
254
|
+
filePath: 'build/node.js',
|
|
255
|
+
},
|
|
256
|
+
astQuery: 'FunctionDeclaration[id.name="command_default"]',
|
|
257
|
+
functionQuery: {
|
|
258
|
+
kind: 'Sync',
|
|
259
|
+
},
|
|
260
|
+
channelName: 'command',
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
module: {
|
|
264
|
+
name: 'webdriver',
|
|
265
|
+
versionRange: '>=9.0.0',
|
|
266
|
+
filePath: 'build/node.js',
|
|
267
|
+
},
|
|
268
|
+
astQuery: 'FunctionDeclaration[id.name="initiateBidi"]',
|
|
269
|
+
functionQuery: {
|
|
270
|
+
kind: 'Sync',
|
|
271
|
+
},
|
|
272
|
+
channelName: 'initiateBidi',
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
module: {
|
|
276
|
+
name: 'webdriverio',
|
|
277
|
+
versionRange: '>=9.0.0',
|
|
278
|
+
filePath: 'build/index.js',
|
|
279
|
+
},
|
|
280
|
+
astQuery: 'FunctionDeclaration[async][id.name=/^url[0-9]*$/]',
|
|
281
|
+
functionQuery: {
|
|
282
|
+
kind: 'Async',
|
|
283
|
+
},
|
|
284
|
+
channelName: 'url',
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
module: {
|
|
288
|
+
name: 'webdriverio',
|
|
289
|
+
versionRange: '>=9.0.0',
|
|
290
|
+
filePath: 'build/index.js',
|
|
291
|
+
},
|
|
292
|
+
astQuery: 'FunctionDeclaration[async][id.name=/^url[0-9]*$/] ReturnStatement > ' +
|
|
293
|
+
'CallExpression[callee.object.name="promise"][callee.property.name="then"]',
|
|
294
|
+
channelName: 'url',
|
|
295
|
+
transform: 'waitForAsyncEnd',
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
module: {
|
|
299
|
+
name: 'webdriverio',
|
|
300
|
+
versionRange: '>=9.0.0',
|
|
301
|
+
filePath: 'build/node.js',
|
|
302
|
+
},
|
|
303
|
+
astQuery: 'FunctionDeclaration[async][id.name=/^url[0-9]*$/]',
|
|
304
|
+
functionQuery: {
|
|
305
|
+
kind: 'Async',
|
|
306
|
+
},
|
|
307
|
+
channelName: 'url',
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
module: {
|
|
311
|
+
name: 'webdriverio',
|
|
312
|
+
versionRange: '>=9.0.0',
|
|
313
|
+
filePath: 'build/node.js',
|
|
314
|
+
},
|
|
315
|
+
astQuery: 'FunctionDeclaration[async][id.name=/^url[0-9]*$/] ReturnStatement > ' +
|
|
316
|
+
'CallExpression[callee.object.name="promise"][callee.property.name="then"]',
|
|
317
|
+
channelName: 'url',
|
|
318
|
+
transform: 'waitForAsyncEnd',
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
module: {
|
|
322
|
+
name: 'webdriverio',
|
|
323
|
+
versionRange: '>=9.0.0',
|
|
324
|
+
filePath: 'build/index.js',
|
|
325
|
+
},
|
|
326
|
+
astQuery: 'FunctionDeclaration[async=true][id.name=/^newWindow[0-9]*$/]',
|
|
327
|
+
functionQuery: {
|
|
328
|
+
kind: 'Async',
|
|
329
|
+
},
|
|
330
|
+
channelName: 'newWindow',
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
module: {
|
|
334
|
+
name: 'webdriverio',
|
|
335
|
+
versionRange: '>=9.0.0',
|
|
336
|
+
filePath: 'build/index.js',
|
|
337
|
+
},
|
|
338
|
+
astQuery: 'FunctionDeclaration[id.name=/^newWindow[0-9]*$/] ' +
|
|
339
|
+
'IfStatement[test.object.type="ThisExpression"][test.property.name="isBidi"], ' +
|
|
340
|
+
'FunctionDeclaration[id.name=/^newWindow[0-9]*$/] ' +
|
|
341
|
+
'IfStatement[test.operator="&&"][test.left.object.type="ThisExpression"]' +
|
|
342
|
+
'[test.left.property.name="isBidi"]',
|
|
343
|
+
channelName: 'newWindow',
|
|
344
|
+
transform: 'awaitContextCallback',
|
|
345
|
+
transformOptions: {
|
|
346
|
+
callbackName: 'rumPreloadCallback',
|
|
347
|
+
callbackThis: true,
|
|
348
|
+
},
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
module: {
|
|
352
|
+
name: 'webdriverio',
|
|
353
|
+
versionRange: '>=9.0.0',
|
|
354
|
+
filePath: 'build/index.js',
|
|
355
|
+
},
|
|
356
|
+
astQuery: 'FunctionDeclaration[async][id.name=/^newWindow[0-9]*$/] ReturnStatement > ' +
|
|
357
|
+
'CallExpression[callee.object.name="promise"][callee.property.name="then"]',
|
|
358
|
+
channelName: 'newWindow',
|
|
359
|
+
transform: 'waitForAsyncEnd',
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
module: {
|
|
363
|
+
name: 'webdriverio',
|
|
364
|
+
versionRange: '>=9.0.0',
|
|
365
|
+
filePath: 'build/node.js',
|
|
366
|
+
},
|
|
367
|
+
astQuery: 'FunctionDeclaration[async=true][id.name=/^newWindow[0-9]*$/]',
|
|
368
|
+
functionQuery: {
|
|
369
|
+
kind: 'Async',
|
|
370
|
+
},
|
|
371
|
+
channelName: 'newWindow',
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
module: {
|
|
375
|
+
name: 'webdriverio',
|
|
376
|
+
versionRange: '>=9.0.0',
|
|
377
|
+
filePath: 'build/node.js',
|
|
378
|
+
},
|
|
379
|
+
astQuery: 'FunctionDeclaration[id.name=/^newWindow[0-9]*$/] ' +
|
|
380
|
+
'IfStatement[test.object.type="ThisExpression"][test.property.name="isBidi"], ' +
|
|
381
|
+
'FunctionDeclaration[id.name=/^newWindow[0-9]*$/] ' +
|
|
382
|
+
'IfStatement[test.operator="&&"][test.left.object.type="ThisExpression"]' +
|
|
383
|
+
'[test.left.property.name="isBidi"]',
|
|
384
|
+
channelName: 'newWindow',
|
|
385
|
+
transform: 'awaitContextCallback',
|
|
386
|
+
transformOptions: {
|
|
387
|
+
callbackName: 'rumPreloadCallback',
|
|
388
|
+
callbackThis: true,
|
|
389
|
+
},
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
module: {
|
|
393
|
+
name: 'webdriverio',
|
|
394
|
+
versionRange: '>=9.0.0',
|
|
395
|
+
filePath: 'build/node.js',
|
|
396
|
+
},
|
|
397
|
+
astQuery: 'FunctionDeclaration[async][id.name=/^newWindow[0-9]*$/] ReturnStatement > ' +
|
|
398
|
+
'CallExpression[callee.object.name="promise"][callee.property.name="then"]',
|
|
399
|
+
channelName: 'newWindow',
|
|
400
|
+
transform: 'waitForAsyncEnd',
|
|
401
|
+
},
|
|
191
402
|
{
|
|
192
403
|
module: {
|
|
193
404
|
name: '@wdio/utils',
|
|
@@ -200,6 +411,30 @@ module.exports = [
|
|
|
200
411
|
},
|
|
201
412
|
channelName: 'testFrameworkFnWrapper',
|
|
202
413
|
},
|
|
414
|
+
{
|
|
415
|
+
module: {
|
|
416
|
+
name: '@wdio/utils',
|
|
417
|
+
versionRange: '>=9.0.0',
|
|
418
|
+
filePath: 'build/index.js',
|
|
419
|
+
},
|
|
420
|
+
astQuery: 'VariableDeclarator[id.name="testFrameworkFnWrapper"] > FunctionExpression ReturnStatement > ' +
|
|
421
|
+
'CallExpression[callee.object.name="promise"][callee.property.name="then"]',
|
|
422
|
+
channelName: 'testFrameworkFnWrapper',
|
|
423
|
+
transform: 'waitForAsyncEnd',
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
module: {
|
|
427
|
+
name: '@wdio/utils',
|
|
428
|
+
versionRange: '>=9.0.0',
|
|
429
|
+
filePath: 'build/index.js',
|
|
430
|
+
},
|
|
431
|
+
astQuery: 'VariableDeclarator[id.name="testFrameworkFnWrapper"] > FunctionExpression TryStatement',
|
|
432
|
+
channelName: 'testFrameworkFnWrapper',
|
|
433
|
+
transform: 'awaitContextCallbackAtFunctionStart',
|
|
434
|
+
transformOptions: {
|
|
435
|
+
callbackName: 'rumCleanupCallback',
|
|
436
|
+
},
|
|
437
|
+
},
|
|
203
438
|
{
|
|
204
439
|
module: {
|
|
205
440
|
name: '@wdio/utils',
|
|
@@ -212,6 +447,22 @@ module.exports = [
|
|
|
212
447
|
},
|
|
213
448
|
channelName: 'executeAsync',
|
|
214
449
|
},
|
|
450
|
+
{
|
|
451
|
+
module: {
|
|
452
|
+
name: '@wdio/utils',
|
|
453
|
+
versionRange: '>=9.0.0',
|
|
454
|
+
filePath: 'build/index.js',
|
|
455
|
+
},
|
|
456
|
+
astQuery: 'FunctionDeclaration[id.name="executeAsync"] CatchClause ' +
|
|
457
|
+
'IfStatement[test.operator=">"][test.left.object.name="retries"]' +
|
|
458
|
+
'[test.left.property.name="limit"][test.right.object.name="retries"]' +
|
|
459
|
+
'[test.right.property.name="attempts"]',
|
|
460
|
+
channelName: 'executeAsync',
|
|
461
|
+
transform: 'awaitContextCallbackAtTryStart',
|
|
462
|
+
transformOptions: {
|
|
463
|
+
callbackName: 'rumStartCallback',
|
|
464
|
+
},
|
|
465
|
+
},
|
|
215
466
|
{
|
|
216
467
|
module: {
|
|
217
468
|
name: '@wdio/utils',
|
|
@@ -43,6 +43,12 @@
|
|
|
43
43
|
"bullmq/dist/esm/classes/flow-producer.js": "bullmq",
|
|
44
44
|
"bullmq/dist/esm/classes/queue.js": "bullmq",
|
|
45
45
|
"bullmq/dist/esm/classes/worker.js": "bullmq",
|
|
46
|
+
"graphql-jit/dist/cjs/execution.js": "graphql-jit",
|
|
47
|
+
"graphql-jit/dist/esm/execution.js": "graphql-jit",
|
|
48
|
+
"graphql-jit/dist/execution.js": "graphql-jit",
|
|
49
|
+
"graphql-jit/dist/execution.mjs": "graphql-jit",
|
|
50
|
+
"graphql/error/locatedError.js": "graphql",
|
|
51
|
+
"graphql/error/locatedError.mjs": "graphql",
|
|
46
52
|
"graphql/execution/execute.js": "graphql",
|
|
47
53
|
"graphql/execution/execute.mjs": "graphql",
|
|
48
54
|
"graphql/language/parser.js": "graphql",
|
|
@@ -59,5 +65,9 @@
|
|
|
59
65
|
"mercurius/index.js": "mercurius",
|
|
60
66
|
"playwright-core/lib/coreBundle.js": "playwright-core",
|
|
61
67
|
"playwright/lib/index.js": "playwright",
|
|
62
|
-
"playwright/lib/runner/index.js": "playwright"
|
|
68
|
+
"playwright/lib/runner/index.js": "playwright",
|
|
69
|
+
"webdriver/build/index.js": "webdriver",
|
|
70
|
+
"webdriver/build/node.js": "webdriver",
|
|
71
|
+
"webdriverio/build/index.js": "webdriverio",
|
|
72
|
+
"webdriverio/build/node.js": "webdriverio"
|
|
63
73
|
}
|