dd-trace 5.110.0 → 5.111.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/README.md +13 -8
- package/ci/init.js +21 -2
- package/ci/vitest-no-worker-init-setup.mjs +430 -0
- package/ext/tags.js +2 -0
- package/index.d.ts +13 -0
- package/initialize.mjs +5 -6
- package/loader-hook.mjs +76 -55
- package/package.json +9 -9
- package/packages/datadog-instrumentations/src/fs.js +8 -6
- package/packages/datadog-instrumentations/src/graphql.js +26 -495
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/graphql.js +201 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -0
- package/packages/datadog-instrumentations/src/mongoose.js +14 -2
- package/packages/datadog-instrumentations/src/vitest-main-no-worker-init.js +1293 -0
- package/packages/datadog-instrumentations/src/vitest-main.js +1567 -0
- package/packages/datadog-instrumentations/src/vitest-util.js +249 -0
- package/packages/datadog-instrumentations/src/vitest-worker.js +753 -0
- package/packages/datadog-instrumentations/src/vitest.js +11 -1855
- package/packages/datadog-plugin-aws-durable-execution-sdk-js/src/client.js +2 -2
- package/packages/datadog-plugin-aws-durable-execution-sdk-js/src/context.js +18 -10
- package/packages/datadog-plugin-aws-durable-execution-sdk-js/src/util.js +47 -11
- package/packages/datadog-plugin-cucumber/src/index.js +1 -1
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +10 -4
- package/packages/datadog-plugin-cypress/src/support.js +45 -1
- package/packages/datadog-plugin-express/src/code_origin.js +1 -1
- package/packages/datadog-plugin-fastify/src/code_origin.js +1 -1
- package/packages/datadog-plugin-graphql/src/execute.js +627 -11
- package/packages/datadog-plugin-graphql/src/index.js +20 -8
- package/packages/datadog-plugin-graphql/src/parse.js +24 -4
- package/packages/datadog-plugin-graphql/src/validate.js +16 -5
- package/packages/datadog-plugin-http/src/index.js +6 -8
- package/packages/datadog-plugin-jest/src/index.js +1 -1
- package/packages/datadog-plugin-mocha/src/index.js +1 -1
- package/packages/datadog-plugin-openai/src/services.js +2 -2
- package/packages/datadog-plugin-playwright/src/index.js +1 -1
- package/packages/datadog-plugin-vitest/src/index.js +69 -63
- package/packages/datadog-shimmer/src/shimmer.js +37 -16
- package/packages/dd-trace/src/aiguard/sdk.js +2 -2
- package/packages/dd-trace/src/appsec/api_security/sampler.js +3 -3
- package/packages/dd-trace/src/appsec/channels.js +3 -1
- package/packages/dd-trace/src/appsec/downstream_requests.js +4 -4
- package/packages/dd-trace/src/appsec/graphql.js +5 -5
- package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +26 -19
- package/packages/dd-trace/src/appsec/iast/security-controls/index.js +2 -2
- package/packages/dd-trace/src/appsec/iast/telemetry/index.js +2 -1
- package/packages/dd-trace/src/appsec/index.js +10 -1
- package/packages/dd-trace/src/appsec/lambda.js +135 -0
- package/packages/dd-trace/src/appsec/reporter.js +49 -10
- package/packages/dd-trace/src/appsec/telemetry/index.js +1 -1
- package/packages/dd-trace/src/appsec/waf/index.js +16 -4
- package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +4 -4
- package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +21 -6
- package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +2 -2
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +1 -1
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +1 -1
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +3 -2
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +1 -1
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +55 -13
- package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +2 -2
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +17 -0
- package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +47 -26
- package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +2 -2
- package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +64 -53
- package/packages/dd-trace/src/ci-visibility/requests/upload-coverage-report.js +3 -3
- package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +23 -5
- package/packages/dd-trace/src/ci-visibility/test-optimization-http-cache-schema.js +128 -0
- package/packages/dd-trace/src/ci-visibility/test-optimization-http-cache.js +287 -0
- package/packages/dd-trace/src/config/defaults.js +3 -2
- package/packages/dd-trace/src/config/generated-config-types.d.ts +61 -57
- package/packages/dd-trace/src/config/helper.js +1 -0
- package/packages/dd-trace/src/config/index.js +35 -22
- package/packages/dd-trace/src/config/major-overrides.js +4 -2
- package/packages/dd-trace/src/config/remote_config.js +1 -1
- package/packages/dd-trace/src/config/supported-configurations.json +90 -56
- package/packages/dd-trace/src/constants.js +7 -0
- package/packages/dd-trace/src/datastreams/processor.js +11 -3
- package/packages/dd-trace/src/exporters/agent/index.js +1 -1
- package/packages/dd-trace/src/exporters/agentless/writer.js +4 -4
- package/packages/dd-trace/src/llmobs/index.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/base.js +4 -4
- package/packages/dd-trace/src/llmobs/plugins/langgraph/index.js +1 -1
- package/packages/dd-trace/src/llmobs/sdk.js +3 -3
- package/packages/dd-trace/src/llmobs/span_processor.js +1 -1
- package/packages/dd-trace/src/llmobs/tagger.js +3 -3
- package/packages/dd-trace/src/llmobs/writers/base.js +1 -1
- package/packages/dd-trace/src/opentelemetry/metrics/index.js +54 -5
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_span_stats_exporter.js +40 -0
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_span_stats_transformer.js +169 -0
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +38 -39
- package/packages/dd-trace/src/opentelemetry/trace/index.js +4 -0
- package/packages/dd-trace/src/opentelemetry/tracer_provider.js +1 -1
- package/packages/dd-trace/src/opentracing/tracer.js +6 -1
- package/packages/dd-trace/src/plugin_manager.js +7 -7
- package/packages/dd-trace/src/plugins/ci_plugin.js +12 -3
- package/packages/dd-trace/src/plugins/util/llm.js +6 -1
- package/packages/dd-trace/src/plugins/util/test.js +11 -9
- package/packages/dd-trace/src/profiling/exporter_cli.js +2 -2
- package/packages/dd-trace/src/profiling/exporters/event_serializer.js +3 -3
- package/packages/dd-trace/src/profiling/profilers/wall.js +1 -1
- package/packages/dd-trace/src/proxy.js +8 -8
- package/packages/dd-trace/src/span_processor.js +5 -6
- package/packages/dd-trace/src/span_stats.js +96 -78
- package/packages/dd-trace/src/startup-log.js +2 -1
- package/packages/dd-trace/src/telemetry/dependencies.js +1 -1
- package/packages/dd-trace/src/telemetry/endpoints.js +6 -4
- package/packages/dd-trace/src/telemetry/index.js +2 -2
- package/packages/dd-trace/src/telemetry/logs/index.js +1 -1
- package/packages/dd-trace/src/telemetry/send-data.js +8 -8
- package/packages/dd-trace/src/telemetry/session-propagation.js +1 -1
- package/packages/dd-trace/src/telemetry/telemetry.js +9 -9
- 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/vendor/dist/shell-quote/index.js +1 -1
- package/packages/datadog-plugin-graphql/src/resolve.js +0 -170
|
@@ -111,7 +111,6 @@
|
|
|
111
111
|
"aliases": [
|
|
112
112
|
"DATADOG_API_KEY"
|
|
113
113
|
],
|
|
114
|
-
"internalPropertyName": "apiKey",
|
|
115
114
|
"sensitive": true
|
|
116
115
|
}
|
|
117
116
|
],
|
|
@@ -119,6 +118,7 @@
|
|
|
119
118
|
{
|
|
120
119
|
"implementation": "A",
|
|
121
120
|
"type": "boolean",
|
|
121
|
+
"namespace": "appsec",
|
|
122
122
|
"configurationNames": [
|
|
123
123
|
"appsec.apiSecurity.enabled",
|
|
124
124
|
"experimental.appsec.apiSecurity.enabled"
|
|
@@ -133,6 +133,7 @@
|
|
|
133
133
|
{
|
|
134
134
|
"implementation": "A",
|
|
135
135
|
"type": "boolean",
|
|
136
|
+
"namespace": "appsec",
|
|
136
137
|
"configurationNames": [
|
|
137
138
|
"appsec.apiSecurity.endpointCollectionEnabled",
|
|
138
139
|
"experimental.appsec.apiSecurity.endpointCollectionEnabled"
|
|
@@ -144,6 +145,7 @@
|
|
|
144
145
|
{
|
|
145
146
|
"implementation": "A",
|
|
146
147
|
"type": "int",
|
|
148
|
+
"namespace": "appsec",
|
|
147
149
|
"configurationNames": [
|
|
148
150
|
"appsec.apiSecurity.endpointCollectionMessageLimit",
|
|
149
151
|
"experimental.appsec.apiSecurity.endpointCollectionMessageLimit"
|
|
@@ -155,7 +157,7 @@
|
|
|
155
157
|
{
|
|
156
158
|
"implementation": "A",
|
|
157
159
|
"type": "decimal",
|
|
158
|
-
"
|
|
160
|
+
"namespace": "appsec",
|
|
159
161
|
"default": "0.5"
|
|
160
162
|
}
|
|
161
163
|
],
|
|
@@ -163,7 +165,7 @@
|
|
|
163
165
|
{
|
|
164
166
|
"implementation": "A",
|
|
165
167
|
"type": "int",
|
|
166
|
-
"
|
|
168
|
+
"namespace": "appsec",
|
|
167
169
|
"default": "1"
|
|
168
170
|
}
|
|
169
171
|
],
|
|
@@ -171,7 +173,7 @@
|
|
|
171
173
|
{
|
|
172
174
|
"implementation": "A",
|
|
173
175
|
"type": "int",
|
|
174
|
-
"
|
|
176
|
+
"namespace": "appsec",
|
|
175
177
|
"default": "10485760"
|
|
176
178
|
}
|
|
177
179
|
],
|
|
@@ -180,7 +182,7 @@
|
|
|
180
182
|
"implementation": "A",
|
|
181
183
|
"type": "decimal",
|
|
182
184
|
"default": "30",
|
|
183
|
-
"
|
|
185
|
+
"namespace": "appsec"
|
|
184
186
|
}
|
|
185
187
|
],
|
|
186
188
|
"DD_APM_FLUSH_DEADLINE_MILLISECONDS": [
|
|
@@ -392,7 +394,7 @@
|
|
|
392
394
|
"implementation": "B",
|
|
393
395
|
"type": "boolean",
|
|
394
396
|
"default": null,
|
|
395
|
-
"
|
|
397
|
+
"namespace": "appsec"
|
|
396
398
|
}
|
|
397
399
|
],
|
|
398
400
|
"DD_APPSEC_STACK_TRACE_ENABLED": [
|
|
@@ -447,7 +449,8 @@
|
|
|
447
449
|
{
|
|
448
450
|
"implementation": "A",
|
|
449
451
|
"type": "boolean",
|
|
450
|
-
"default": "false"
|
|
452
|
+
"default": "false",
|
|
453
|
+
"namespace": "testOptimization"
|
|
451
454
|
}
|
|
452
455
|
],
|
|
453
456
|
"DD_CIVISIBILITY_AGENTLESS_URL": [
|
|
@@ -455,28 +458,32 @@
|
|
|
455
458
|
"implementation": "A",
|
|
456
459
|
"type": "string",
|
|
457
460
|
"transform": "toURL",
|
|
458
|
-
"default": null
|
|
461
|
+
"default": null,
|
|
462
|
+
"namespace": "testOptimization"
|
|
459
463
|
}
|
|
460
464
|
],
|
|
461
465
|
"DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER": [
|
|
462
466
|
{
|
|
463
467
|
"implementation": "A",
|
|
464
468
|
"type": "string",
|
|
465
|
-
"default": null
|
|
469
|
+
"default": null,
|
|
470
|
+
"namespace": "testOptimization"
|
|
466
471
|
}
|
|
467
472
|
],
|
|
468
473
|
"DD_CIVISIBILITY_DANGEROUSLY_FORCE_COVERAGE": [
|
|
469
474
|
{
|
|
470
475
|
"implementation": "A",
|
|
471
476
|
"type": "boolean",
|
|
472
|
-
"default": "false"
|
|
477
|
+
"default": "false",
|
|
478
|
+
"namespace": "testOptimization"
|
|
473
479
|
}
|
|
474
480
|
],
|
|
475
481
|
"DD_CIVISIBILITY_DANGEROUSLY_FORCE_TEST_SKIPPING": [
|
|
476
482
|
{
|
|
477
483
|
"implementation": "A",
|
|
478
484
|
"type": "boolean",
|
|
479
|
-
"default": "false"
|
|
485
|
+
"default": "false",
|
|
486
|
+
"namespace": "testOptimization"
|
|
480
487
|
}
|
|
481
488
|
],
|
|
482
489
|
"DD_CIVISIBILITY_EARLY_FLAKE_DETECTION_ENABLED": [
|
|
@@ -484,14 +491,15 @@
|
|
|
484
491
|
"implementation": "B",
|
|
485
492
|
"type": "boolean",
|
|
486
493
|
"default": "true",
|
|
487
|
-
"
|
|
494
|
+
"namespace": "testOptimization"
|
|
488
495
|
}
|
|
489
496
|
],
|
|
490
497
|
"DD_CIVISIBILITY_ENABLED": [
|
|
491
498
|
{
|
|
492
499
|
"implementation": "A",
|
|
493
500
|
"type": "boolean",
|
|
494
|
-
"default": "false"
|
|
501
|
+
"default": "false",
|
|
502
|
+
"namespace": "testOptimization"
|
|
495
503
|
}
|
|
496
504
|
],
|
|
497
505
|
"DD_CIVISIBILITY_FLAKY_RETRY_COUNT": [
|
|
@@ -499,7 +507,7 @@
|
|
|
499
507
|
"implementation": "A",
|
|
500
508
|
"type": "int",
|
|
501
509
|
"default": "5",
|
|
502
|
-
"
|
|
510
|
+
"namespace": "testOptimization"
|
|
503
511
|
}
|
|
504
512
|
],
|
|
505
513
|
"DD_CIVISIBILITY_FLAKY_RETRY_ENABLED": [
|
|
@@ -507,14 +515,15 @@
|
|
|
507
515
|
"implementation": "A",
|
|
508
516
|
"type": "boolean",
|
|
509
517
|
"default": "true",
|
|
510
|
-
"
|
|
518
|
+
"namespace": "testOptimization"
|
|
511
519
|
}
|
|
512
520
|
],
|
|
513
521
|
"DD_CIVISIBILITY_GIT_UNSHALLOW_ENABLED": [
|
|
514
522
|
{
|
|
515
523
|
"implementation": "A",
|
|
516
524
|
"type": "boolean",
|
|
517
|
-
"default": "true"
|
|
525
|
+
"default": "true",
|
|
526
|
+
"namespace": "testOptimization"
|
|
518
527
|
}
|
|
519
528
|
],
|
|
520
529
|
"DD_CIVISIBILITY_GIT_UPLOAD_ENABLED": [
|
|
@@ -522,7 +531,7 @@
|
|
|
522
531
|
"implementation": "A",
|
|
523
532
|
"type": "boolean",
|
|
524
533
|
"default": "true",
|
|
525
|
-
"
|
|
534
|
+
"namespace": "testOptimization"
|
|
526
535
|
}
|
|
527
536
|
],
|
|
528
537
|
"DD_CIVISIBILITY_IMPACTED_TESTS_DETECTION_ENABLED": [
|
|
@@ -530,7 +539,7 @@
|
|
|
530
539
|
"implementation": "A",
|
|
531
540
|
"type": "boolean",
|
|
532
541
|
"default": "true",
|
|
533
|
-
"
|
|
542
|
+
"namespace": "testOptimization"
|
|
534
543
|
}
|
|
535
544
|
],
|
|
536
545
|
"DD_CIVISIBILITY_ITR_ENABLED": [
|
|
@@ -538,7 +547,7 @@
|
|
|
538
547
|
"implementation": "A",
|
|
539
548
|
"type": "boolean",
|
|
540
549
|
"default": "true",
|
|
541
|
-
"
|
|
550
|
+
"namespace": "testOptimization"
|
|
542
551
|
}
|
|
543
552
|
],
|
|
544
553
|
"DD_ENABLE_LAGE_PACKAGE_NAME": [
|
|
@@ -552,35 +561,40 @@
|
|
|
552
561
|
{
|
|
553
562
|
"implementation": "A",
|
|
554
563
|
"type": "boolean",
|
|
555
|
-
"default": "true"
|
|
564
|
+
"default": "true",
|
|
565
|
+
"namespace": "testOptimization"
|
|
556
566
|
}
|
|
557
567
|
],
|
|
558
568
|
"DD_CIVISIBILITY_RUM_FLUSH_WAIT_MILLIS": [
|
|
559
569
|
{
|
|
560
570
|
"implementation": "A",
|
|
561
571
|
"type": "int",
|
|
562
|
-
"default": "500"
|
|
572
|
+
"default": "500",
|
|
573
|
+
"namespace": "testOptimization"
|
|
563
574
|
}
|
|
564
575
|
],
|
|
565
576
|
"DD_CIVISIBILITY_TEST_COMMAND": [
|
|
566
577
|
{
|
|
567
578
|
"implementation": "A",
|
|
568
579
|
"type": "string",
|
|
569
|
-
"default": null
|
|
580
|
+
"default": null,
|
|
581
|
+
"namespace": "testOptimization"
|
|
570
582
|
}
|
|
571
583
|
],
|
|
572
584
|
"DD_CIVISIBILITY_TEST_MODULE_ID": [
|
|
573
585
|
{
|
|
574
586
|
"implementation": "A",
|
|
575
587
|
"type": "string",
|
|
576
|
-
"default": null
|
|
588
|
+
"default": null,
|
|
589
|
+
"namespace": "testOptimization"
|
|
577
590
|
}
|
|
578
591
|
],
|
|
579
592
|
"DD_CIVISIBILITY_TEST_SESSION_ID": [
|
|
580
593
|
{
|
|
581
594
|
"implementation": "A",
|
|
582
595
|
"type": "string",
|
|
583
|
-
"default": null
|
|
596
|
+
"default": null,
|
|
597
|
+
"namespace": "testOptimization"
|
|
584
598
|
}
|
|
585
599
|
],
|
|
586
600
|
"DD_CODE_ORIGIN_FOR_SPANS_ENABLED": [
|
|
@@ -824,6 +838,13 @@
|
|
|
824
838
|
"default": "false"
|
|
825
839
|
}
|
|
826
840
|
],
|
|
841
|
+
"DD_EXPERIMENTAL_TEST_OPT_VITEST_NO_WORKER_INIT": [
|
|
842
|
+
{
|
|
843
|
+
"implementation": "A",
|
|
844
|
+
"type": "boolean",
|
|
845
|
+
"default": null
|
|
846
|
+
}
|
|
847
|
+
],
|
|
827
848
|
"DD_EXPERIMENTAL_TEST_REQUESTS_FS_CACHE": [
|
|
828
849
|
{
|
|
829
850
|
"implementation": "A",
|
|
@@ -1094,7 +1115,7 @@
|
|
|
1094
1115
|
{
|
|
1095
1116
|
"implementation": "B",
|
|
1096
1117
|
"type": "string",
|
|
1097
|
-
"
|
|
1118
|
+
"namespace": "iast",
|
|
1098
1119
|
"default": null
|
|
1099
1120
|
}
|
|
1100
1121
|
],
|
|
@@ -1170,7 +1191,7 @@
|
|
|
1170
1191
|
"aliases": [
|
|
1171
1192
|
"DD_TRACE_TELEMETRY_ENABLED"
|
|
1172
1193
|
],
|
|
1173
|
-
"
|
|
1194
|
+
"namespace": "telemetry"
|
|
1174
1195
|
}
|
|
1175
1196
|
],
|
|
1176
1197
|
"DD_INTERNAL_PROFILING_LONG_LIVED_THRESHOLD": [
|
|
@@ -1199,7 +1220,7 @@
|
|
|
1199
1220
|
"implementation": "A",
|
|
1200
1221
|
"type": "int",
|
|
1201
1222
|
"default": "128",
|
|
1202
|
-
"
|
|
1223
|
+
"namespace": "langchain"
|
|
1203
1224
|
}
|
|
1204
1225
|
],
|
|
1205
1226
|
"DD_LANGCHAIN_SPAN_PROMPT_COMPLETION_SAMPLE_RATE": [
|
|
@@ -1207,7 +1228,7 @@
|
|
|
1207
1228
|
"implementation": "A",
|
|
1208
1229
|
"type": "decimal",
|
|
1209
1230
|
"default": "1",
|
|
1210
|
-
"
|
|
1231
|
+
"namespace": "langchain"
|
|
1211
1232
|
}
|
|
1212
1233
|
],
|
|
1213
1234
|
"DD_LLMOBS_AGENTLESS_ENABLED": [
|
|
@@ -1225,7 +1246,7 @@
|
|
|
1225
1246
|
"implementation": "A",
|
|
1226
1247
|
"type": "boolean",
|
|
1227
1248
|
"default": "false",
|
|
1228
|
-
"
|
|
1249
|
+
"namespace": "llmobs"
|
|
1229
1250
|
}
|
|
1230
1251
|
],
|
|
1231
1252
|
"DD_LLMOBS_ML_APP": [
|
|
@@ -1323,7 +1344,7 @@
|
|
|
1323
1344
|
"implementation": "A",
|
|
1324
1345
|
"type": "int",
|
|
1325
1346
|
"default": "128",
|
|
1326
|
-
"
|
|
1347
|
+
"namespace": "openai"
|
|
1327
1348
|
}
|
|
1328
1349
|
],
|
|
1329
1350
|
"DD_PIPELINE_EXECUTION_ID": [
|
|
@@ -1416,7 +1437,7 @@
|
|
|
1416
1437
|
{
|
|
1417
1438
|
"implementation": "B",
|
|
1418
1439
|
"type": "string",
|
|
1419
|
-
"
|
|
1440
|
+
"namespace": "profiling",
|
|
1420
1441
|
"configurationNames": [
|
|
1421
1442
|
"profiling"
|
|
1422
1443
|
],
|
|
@@ -1578,7 +1599,7 @@
|
|
|
1578
1599
|
"aliases": [
|
|
1579
1600
|
"DD_REMOTE_CONFIG_ENABLED"
|
|
1580
1601
|
],
|
|
1581
|
-
"
|
|
1602
|
+
"namespace": "remoteConfig"
|
|
1582
1603
|
}
|
|
1583
1604
|
],
|
|
1584
1605
|
"DD_REMOTE_CONFIG_POLL_INTERVAL_SECONDS": [
|
|
@@ -1740,7 +1761,7 @@
|
|
|
1740
1761
|
"implementation": "A",
|
|
1741
1762
|
"type": "boolean",
|
|
1742
1763
|
"default": "false",
|
|
1743
|
-
"
|
|
1764
|
+
"namespace": "telemetry"
|
|
1744
1765
|
}
|
|
1745
1766
|
],
|
|
1746
1767
|
"DD_TELEMETRY_DEPENDENCY_COLLECTION_ENABLED": [
|
|
@@ -1748,7 +1769,7 @@
|
|
|
1748
1769
|
"implementation": "A",
|
|
1749
1770
|
"type": "boolean",
|
|
1750
1771
|
"default": "true",
|
|
1751
|
-
"
|
|
1772
|
+
"namespace": "telemetry"
|
|
1752
1773
|
}
|
|
1753
1774
|
],
|
|
1754
1775
|
"DD_TELEMETRY_FORWARDER_PATH": [
|
|
@@ -1763,7 +1784,7 @@
|
|
|
1763
1784
|
"implementation": "A",
|
|
1764
1785
|
"type": "int",
|
|
1765
1786
|
"default": "86400",
|
|
1766
|
-
"
|
|
1787
|
+
"namespace": "telemetry"
|
|
1767
1788
|
}
|
|
1768
1789
|
],
|
|
1769
1790
|
"DD_TELEMETRY_HEARTBEAT_INTERVAL": [
|
|
@@ -1771,7 +1792,7 @@
|
|
|
1771
1792
|
"implementation": "B",
|
|
1772
1793
|
"type": "decimal",
|
|
1773
1794
|
"default": "60.0",
|
|
1774
|
-
"
|
|
1795
|
+
"namespace": "telemetry"
|
|
1775
1796
|
}
|
|
1776
1797
|
],
|
|
1777
1798
|
"DD_TELEMETRY_LOG_COLLECTION_ENABLED": [
|
|
@@ -1779,7 +1800,7 @@
|
|
|
1779
1800
|
"implementation": "A",
|
|
1780
1801
|
"type": "boolean",
|
|
1781
1802
|
"default": "true",
|
|
1782
|
-
"
|
|
1803
|
+
"namespace": "telemetry"
|
|
1783
1804
|
}
|
|
1784
1805
|
],
|
|
1785
1806
|
"DD_TELEMETRY_METRICS_ENABLED": [
|
|
@@ -1787,7 +1808,7 @@
|
|
|
1787
1808
|
"implementation": "A",
|
|
1788
1809
|
"type": "boolean",
|
|
1789
1810
|
"default": "true",
|
|
1790
|
-
"
|
|
1811
|
+
"namespace": "telemetry"
|
|
1791
1812
|
}
|
|
1792
1813
|
],
|
|
1793
1814
|
"DD_TEST_FAILED_TEST_REPLAY_ENABLED": [
|
|
@@ -1795,21 +1816,23 @@
|
|
|
1795
1816
|
"implementation": "A",
|
|
1796
1817
|
"type": "boolean",
|
|
1797
1818
|
"default": "true",
|
|
1798
|
-
"
|
|
1819
|
+
"namespace": "testOptimization"
|
|
1799
1820
|
}
|
|
1800
1821
|
],
|
|
1801
1822
|
"DD_TEST_FLEET_CONFIG_PATH": [
|
|
1802
1823
|
{
|
|
1803
1824
|
"implementation": "A",
|
|
1804
1825
|
"type": "string",
|
|
1805
|
-
"default": null
|
|
1826
|
+
"default": null,
|
|
1827
|
+
"namespace": "testOptimization"
|
|
1806
1828
|
}
|
|
1807
1829
|
],
|
|
1808
1830
|
"DD_TEST_LOCAL_CONFIG_PATH": [
|
|
1809
1831
|
{
|
|
1810
1832
|
"implementation": "A",
|
|
1811
1833
|
"type": "string",
|
|
1812
|
-
"default": null
|
|
1834
|
+
"default": null,
|
|
1835
|
+
"namespace": "testOptimization"
|
|
1813
1836
|
}
|
|
1814
1837
|
],
|
|
1815
1838
|
"DD_TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES": [
|
|
@@ -1817,7 +1840,7 @@
|
|
|
1817
1840
|
"implementation": "C",
|
|
1818
1841
|
"type": "int",
|
|
1819
1842
|
"default": "20",
|
|
1820
|
-
"
|
|
1843
|
+
"namespace": "testOptimization"
|
|
1821
1844
|
}
|
|
1822
1845
|
],
|
|
1823
1846
|
"DD_TEST_MANAGEMENT_ENABLED": [
|
|
@@ -1825,7 +1848,7 @@
|
|
|
1825
1848
|
"implementation": "A",
|
|
1826
1849
|
"type": "boolean",
|
|
1827
1850
|
"default": "true",
|
|
1828
|
-
"
|
|
1851
|
+
"namespace": "testOptimization"
|
|
1829
1852
|
}
|
|
1830
1853
|
],
|
|
1831
1854
|
"DD_TEST_SESSION_NAME": [
|
|
@@ -2557,8 +2580,7 @@
|
|
|
2557
2580
|
{
|
|
2558
2581
|
"implementation": "A",
|
|
2559
2582
|
"type": "boolean",
|
|
2560
|
-
"default": "true"
|
|
2561
|
-
"internalPropertyName": "tracing"
|
|
2583
|
+
"default": "true"
|
|
2562
2584
|
}
|
|
2563
2585
|
],
|
|
2564
2586
|
"DD_TRACE_ENCODING_DEBUG": [
|
|
@@ -3115,6 +3137,14 @@
|
|
|
3115
3137
|
"default": "true"
|
|
3116
3138
|
}
|
|
3117
3139
|
],
|
|
3140
|
+
"_DD_TRACE_METRICS_OTEL_FLUSH_INTERVAL": [
|
|
3141
|
+
{
|
|
3142
|
+
"implementation": "A",
|
|
3143
|
+
"type": "int",
|
|
3144
|
+
"default": "10000",
|
|
3145
|
+
"allowed": "[1-9]\\d*"
|
|
3146
|
+
}
|
|
3147
|
+
],
|
|
3118
3148
|
"DD_TRACE_MICROGATEWAY_CORE_ENABLED": [
|
|
3119
3149
|
{
|
|
3120
3150
|
"implementation": "A",
|
|
@@ -3292,8 +3322,7 @@
|
|
|
3292
3322
|
{
|
|
3293
3323
|
"implementation": "F",
|
|
3294
3324
|
"type": "string",
|
|
3295
|
-
"default": "(?: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,}"
|
|
3296
|
-
"internalPropertyName": "queryStringObfuscation"
|
|
3325
|
+
"default": "(?: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,}"
|
|
3297
3326
|
}
|
|
3298
3327
|
],
|
|
3299
3328
|
"DD_TRACE_OPENAI_ENABLED": [
|
|
@@ -3331,14 +3360,14 @@
|
|
|
3331
3360
|
"default": "true"
|
|
3332
3361
|
}
|
|
3333
3362
|
],
|
|
3334
|
-
"
|
|
3363
|
+
"DD_TRACE_OTEL_ENABLED": [
|
|
3335
3364
|
{
|
|
3336
3365
|
"implementation": "A",
|
|
3337
3366
|
"type": "boolean",
|
|
3338
3367
|
"default": "false"
|
|
3339
3368
|
}
|
|
3340
3369
|
],
|
|
3341
|
-
"
|
|
3370
|
+
"DD_TRACE_OTEL_SEMANTICS_ENABLED": [
|
|
3342
3371
|
{
|
|
3343
3372
|
"implementation": "A",
|
|
3344
3373
|
"type": "boolean",
|
|
@@ -3633,8 +3662,7 @@
|
|
|
3633
3662
|
{
|
|
3634
3663
|
"implementation": "A",
|
|
3635
3664
|
"type": "boolean",
|
|
3636
|
-
"default": "false"
|
|
3637
|
-
"internalPropertyName": "resourceRenamingEnabled"
|
|
3665
|
+
"default": "false"
|
|
3638
3666
|
}
|
|
3639
3667
|
],
|
|
3640
3668
|
"DD_TRACE_RESTIFY_ENABLED": [
|
|
@@ -3685,8 +3713,7 @@
|
|
|
3685
3713
|
{
|
|
3686
3714
|
"implementation": "A",
|
|
3687
3715
|
"type": "string",
|
|
3688
|
-
"default": null
|
|
3689
|
-
"internalPropertyName": "scope"
|
|
3716
|
+
"default": null
|
|
3690
3717
|
}
|
|
3691
3718
|
],
|
|
3692
3719
|
"DD_TRACE_SELENIUM_ENABLED": [
|
|
@@ -3764,7 +3791,7 @@
|
|
|
3764
3791
|
{
|
|
3765
3792
|
"implementation": "A",
|
|
3766
3793
|
"type": "boolean",
|
|
3767
|
-
"
|
|
3794
|
+
"namespace": "stats",
|
|
3768
3795
|
"configurationNames": [
|
|
3769
3796
|
"stats"
|
|
3770
3797
|
],
|
|
@@ -3910,7 +3937,7 @@
|
|
|
3910
3937
|
"implementation": "A",
|
|
3911
3938
|
"type": "int",
|
|
3912
3939
|
"default": "128",
|
|
3913
|
-
"
|
|
3940
|
+
"namespace": "vertexai"
|
|
3914
3941
|
}
|
|
3915
3942
|
],
|
|
3916
3943
|
"DD_VERTEXAI_SPAN_PROMPT_COMPLETION_SAMPLE_RATE": [
|
|
@@ -3918,7 +3945,7 @@
|
|
|
3918
3945
|
"implementation": "A",
|
|
3919
3946
|
"type": "decimal",
|
|
3920
3947
|
"default": "1",
|
|
3921
|
-
"
|
|
3948
|
+
"namespace": "vertexai"
|
|
3922
3949
|
}
|
|
3923
3950
|
],
|
|
3924
3951
|
"DD_VITEST_WORKER": [
|
|
@@ -4182,6 +4209,13 @@
|
|
|
4182
4209
|
"default": null,
|
|
4183
4210
|
"allowed": "\\d+(\\.\\d+)?"
|
|
4184
4211
|
}
|
|
4212
|
+
],
|
|
4213
|
+
"OTEL_TRACES_SPAN_METRICS_ENABLED": [
|
|
4214
|
+
{
|
|
4215
|
+
"implementation": "A",
|
|
4216
|
+
"type": "boolean",
|
|
4217
|
+
"default": null
|
|
4218
|
+
}
|
|
4185
4219
|
]
|
|
4186
4220
|
}
|
|
4187
4221
|
}
|
|
@@ -61,4 +61,11 @@ module.exports = {
|
|
|
61
61
|
UPSTREAM: 'span-pointer-up',
|
|
62
62
|
DOWNSTREAM: 'span-pointer-down',
|
|
63
63
|
}),
|
|
64
|
+
// https://github.com/grpc/grpc/blob/master/doc/statuscodes.md
|
|
65
|
+
GRPC_STATUS_NAMES: [
|
|
66
|
+
'OK', 'CANCELLED', 'UNKNOWN', 'INVALID_ARGUMENT', 'DEADLINE_EXCEEDED',
|
|
67
|
+
'NOT_FOUND', 'ALREADY_EXISTS', 'PERMISSION_DENIED', 'RESOURCE_EXHAUSTED',
|
|
68
|
+
'FAILED_PRECONDITION', 'ABORTED', 'OUT_OF_RANGE', 'UNIMPLEMENTED',
|
|
69
|
+
'INTERNAL', 'UNAVAILABLE', 'DATA_LOSS', 'UNAUTHENTICATED',
|
|
70
|
+
],
|
|
64
71
|
}
|
|
@@ -235,7 +235,11 @@ class DataStreamsProcessor {
|
|
|
235
235
|
this._schemaSamplers = {}
|
|
236
236
|
this._checkpointRegistry = new CheckpointRegistry()
|
|
237
237
|
|
|
238
|
-
|
|
238
|
+
// `flushInterval === 0` is the "flush on write" sentinel the trace exporter already honors
|
|
239
|
+
// (agent exporter `export()`); a background timer of `0` would instead fire on every event-loop
|
|
240
|
+
// tick, decoupled from when checkpoints are recorded, and a single tick landing while the agent
|
|
241
|
+
// is unreachable drops the bucket for good (it is cleared on serialize). Push on record instead.
|
|
242
|
+
if (this.enabled && flushInterval !== 0) {
|
|
239
243
|
this.timer = setInterval(this.onInterval.bind(this), flushInterval)
|
|
240
244
|
this.timer.unref?.()
|
|
241
245
|
}
|
|
@@ -282,6 +286,7 @@ class DataStreamsProcessor {
|
|
|
282
286
|
// StatsPoint already converted the 8-byte Buffer hash to a uint64 BigInt.
|
|
283
287
|
span.setTag(PATHWAY_HASH, statsPoint.hash.toString())
|
|
284
288
|
}
|
|
289
|
+
if (this.flushInterval === 0) this.onInterval()
|
|
285
290
|
}
|
|
286
291
|
|
|
287
292
|
setCheckpoint (edgeTags, span, ctx, payloadSize = 0) {
|
|
@@ -356,8 +361,9 @@ class DataStreamsProcessor {
|
|
|
356
361
|
|
|
357
362
|
recordOffset ({ timestamp, ...backlogData }) {
|
|
358
363
|
if (!this.enabled) return
|
|
359
|
-
|
|
360
|
-
|
|
364
|
+
const backlog = this.bucketFromTimestamp(timestamp).forBacklog(backlogData)
|
|
365
|
+
if (this.flushInterval === 0) this.onInterval()
|
|
366
|
+
return backlog
|
|
361
367
|
}
|
|
362
368
|
|
|
363
369
|
setOffset (offsetObj) {
|
|
@@ -401,6 +407,8 @@ class DataStreamsProcessor {
|
|
|
401
407
|
// Number() cast is safe here: 10s bucket granularity tolerates ~0.5ns precision loss
|
|
402
408
|
this.bucketFromTimestamp(Number(timestampNs)).addTransaction(entry)
|
|
403
409
|
|
|
410
|
+
if (this.flushInterval === 0) this.onInterval()
|
|
411
|
+
|
|
404
412
|
if (span) {
|
|
405
413
|
span.setTag(DSM_TRANSACTION_ID, transactionId)
|
|
406
414
|
span.setTag(DSM_TRANSACTION_CHECKPOINT, checkpointName)
|
|
@@ -13,7 +13,7 @@ class AgentExporter {
|
|
|
13
13
|
this._url = config.url
|
|
14
14
|
|
|
15
15
|
const headers = {}
|
|
16
|
-
if (stats.
|
|
16
|
+
if (stats.DD_TRACE_STATS_COMPUTATION_ENABLED || apmTracingEnabled === false) {
|
|
17
17
|
headers['Datadog-Client-Computed-Stats'] = 'yes'
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -40,7 +40,7 @@ class AgentlessWriter extends BaseWriter {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
if (!getConfig().
|
|
43
|
+
if (!getConfig().DD_API_KEY) {
|
|
44
44
|
this.#apiKeyMissing = true
|
|
45
45
|
log.error('DD_API_KEY is required for agentless trace intake. Set DD_API_KEY. Traces will not be sent.')
|
|
46
46
|
}
|
|
@@ -109,8 +109,8 @@ class AgentlessWriter extends BaseWriter {
|
|
|
109
109
|
return
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
const
|
|
113
|
-
if (!
|
|
112
|
+
const { DD_API_KEY } = getConfig()
|
|
113
|
+
if (!DD_API_KEY) {
|
|
114
114
|
if (!this.#apiKeyMissing) {
|
|
115
115
|
this.#apiKeyMissing = true
|
|
116
116
|
log.error('DD_API_KEY is required for agentless trace intake. Set DD_API_KEY. Traces will not be sent.')
|
|
@@ -126,7 +126,7 @@ class AgentlessWriter extends BaseWriter {
|
|
|
126
126
|
method: 'POST',
|
|
127
127
|
headers: {
|
|
128
128
|
'Content-Type': 'application/json',
|
|
129
|
-
'dd-api-key':
|
|
129
|
+
'dd-api-key': DD_API_KEY,
|
|
130
130
|
'X-Datadog-Trace-Count': String(count),
|
|
131
131
|
'Datadog-Meta-Lang': 'nodejs',
|
|
132
132
|
'Datadog-Meta-Lang-Version': process.version,
|
|
@@ -75,7 +75,7 @@ function enable (config) {
|
|
|
75
75
|
injectCh.subscribe(handleLLMObsInjection)
|
|
76
76
|
|
|
77
77
|
setAgentStrategy(config, useAgentless => {
|
|
78
|
-
if (useAgentless && !(config.
|
|
78
|
+
if (useAgentless && !(config.DD_API_KEY && config.site)) {
|
|
79
79
|
if (DD_MAJOR < 6 || !config?.startupLogs) {
|
|
80
80
|
// eslint-disable-next-line no-console
|
|
81
81
|
console.error(INCOMPATIBLE_INITIALIZATION)
|
|
@@ -25,7 +25,7 @@ class LLMObsPlugin extends TracingPlugin {
|
|
|
25
25
|
start (ctx) {
|
|
26
26
|
// even though llmobs span events won't be enqueued if llmobs is disabled
|
|
27
27
|
// we should avoid doing any computations here (these listeners aren't disabled)
|
|
28
|
-
const enabled = this._tracerConfig.llmobs.
|
|
28
|
+
const enabled = this._tracerConfig.llmobs.DD_LLMOBS_ENABLED
|
|
29
29
|
if (!enabled) return
|
|
30
30
|
|
|
31
31
|
const parentStore = llmobsStorage.getStore()
|
|
@@ -52,7 +52,7 @@ class LLMObsPlugin extends TracingPlugin {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
end (ctx) {
|
|
55
|
-
const enabled = this._tracerConfig.llmobs.
|
|
55
|
+
const enabled = this._tracerConfig.llmobs.DD_LLMOBS_ENABLED
|
|
56
56
|
if (!enabled) return
|
|
57
57
|
|
|
58
58
|
// only attempt to restore the context if the current span was an LLMObs span
|
|
@@ -67,7 +67,7 @@ class LLMObsPlugin extends TracingPlugin {
|
|
|
67
67
|
asyncEnd (ctx) {
|
|
68
68
|
// even though llmobs span events won't be enqueued if llmobs is disabled
|
|
69
69
|
// we should avoid doing any computations here (these listeners aren't disabled)
|
|
70
|
-
const enabled = this._tracerConfig.llmobs.
|
|
70
|
+
const enabled = this._tracerConfig.llmobs.DD_LLMOBS_ENABLED
|
|
71
71
|
if (!enabled) return
|
|
72
72
|
|
|
73
73
|
const apmStore = ctx.currentStore
|
|
@@ -85,7 +85,7 @@ class LLMObsPlugin extends TracingPlugin {
|
|
|
85
85
|
|
|
86
86
|
configure (config) {
|
|
87
87
|
// we do not want to enable any LLMObs plugins if it is disabled on the tracer
|
|
88
|
-
const llmobsEnabled = this._tracerConfig.llmobs.
|
|
88
|
+
const llmobsEnabled = this._tracerConfig.llmobs.DD_LLMOBS_ENABLED
|
|
89
89
|
if (llmobsEnabled === false) {
|
|
90
90
|
config = typeof config === 'boolean' ? false : { ...config, enabled: false } // override to false
|
|
91
91
|
}
|
|
@@ -14,7 +14,7 @@ class PregelStreamLLMObsPlugin extends LLMObsPlugin {
|
|
|
14
14
|
getLLMObsSpanRegisterOptions (ctx) {
|
|
15
15
|
const name = ctx.self.name || 'LangGraph'
|
|
16
16
|
|
|
17
|
-
const enabled = this._tracerConfig.llmobs.
|
|
17
|
+
const enabled = this._tracerConfig.llmobs.DD_LLMOBS_ENABLED
|
|
18
18
|
if (!enabled) return
|
|
19
19
|
|
|
20
20
|
const span = ctx.currentStore?.span
|