dd-trace 6.0.0-pre-be5ecaf → 6.0.0-pre-b4cfa7f
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 +7 -12
- package/README.md +10 -15
- package/ci/cypress/plugin.js +8 -0
- package/ci/cypress/polyfills.js +23 -0
- package/ci/init.js +15 -6
- package/ext/exporters.d.ts +2 -1
- package/ext/exporters.js +2 -1
- package/index.d.ts +194 -39
- package/init.js +4 -1
- package/initialize.mjs +13 -10
- package/package.json +57 -59
- package/packages/datadog-code-origin/index.js +22 -4
- package/packages/datadog-core/src/storage.js +4 -3
- package/packages/datadog-core/src/utils/src/kebabcase.js +4 -6
- package/packages/datadog-core/src/utils/src/parse-tags.js +1 -1
- package/packages/datadog-core/src/utils/src/pick.js +2 -2
- package/packages/datadog-core/src/utils/src/set.js +9 -11
- package/packages/datadog-core/src/utils/src/uniq.js +1 -1
- package/packages/datadog-esbuild/index.js +7 -4
- package/packages/datadog-instrumentations/src/amqp10.js +19 -17
- package/packages/datadog-instrumentations/src/amqplib.js +57 -37
- package/packages/datadog-instrumentations/src/apollo-server-core.js +1 -1
- package/packages/datadog-instrumentations/src/apollo-server.js +1 -1
- package/packages/datadog-instrumentations/src/apollo.js +2 -2
- package/packages/datadog-instrumentations/src/aws-sdk.js +2 -2
- package/packages/datadog-instrumentations/src/cassandra-driver.js +10 -10
- package/packages/datadog-instrumentations/src/child_process.js +3 -3
- package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +420 -0
- package/packages/datadog-instrumentations/src/cookie-parser.js +1 -1
- package/packages/datadog-instrumentations/src/couchbase.js +8 -10
- package/packages/datadog-instrumentations/src/cucumber.js +221 -136
- package/packages/datadog-instrumentations/src/cypress.js +2 -1
- package/packages/datadog-instrumentations/src/dd-trace-api.js +7 -0
- package/packages/datadog-instrumentations/src/dns.js +20 -18
- package/packages/datadog-instrumentations/src/elasticsearch.js +9 -10
- package/packages/datadog-instrumentations/src/express-session.js +41 -0
- package/packages/datadog-instrumentations/src/express.js +2 -6
- package/packages/datadog-instrumentations/src/fastify.js +37 -11
- package/packages/datadog-instrumentations/src/fetch.js +27 -6
- package/packages/datadog-instrumentations/src/fs.js +44 -52
- package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +35 -43
- package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +102 -0
- package/packages/datadog-instrumentations/src/graphql.js +7 -10
- package/packages/datadog-instrumentations/src/grpc/client.js +11 -23
- package/packages/datadog-instrumentations/src/grpc/server.js +7 -20
- package/packages/datadog-instrumentations/src/hapi.js +10 -11
- package/packages/datadog-instrumentations/src/{check_require_cache.js → helpers/check-require-cache.js} +2 -2
- package/packages/datadog-instrumentations/src/helpers/extract-package-and-module-path.js +42 -0
- package/packages/datadog-instrumentations/src/helpers/fetch.js +10 -6
- package/packages/datadog-instrumentations/src/helpers/hook.js +2 -3
- package/packages/datadog-instrumentations/src/helpers/hooks.js +9 -5
- package/packages/datadog-instrumentations/src/helpers/instrument.js +1 -41
- package/packages/datadog-instrumentations/src/helpers/register.js +78 -22
- package/packages/datadog-instrumentations/src/http/client.js +21 -21
- package/packages/datadog-instrumentations/src/iovalkey.js +51 -0
- package/packages/datadog-instrumentations/src/jest.js +749 -468
- package/packages/datadog-instrumentations/src/kafkajs.js +65 -44
- package/packages/datadog-instrumentations/src/knex.js +4 -4
- package/packages/datadog-instrumentations/src/koa.js +2 -3
- package/packages/datadog-instrumentations/src/langchain.js +57 -42
- package/packages/datadog-instrumentations/src/ldapjs.js +3 -4
- package/packages/datadog-instrumentations/src/mariadb.js +65 -62
- package/packages/datadog-instrumentations/src/mocha/main.js +206 -139
- package/packages/datadog-instrumentations/src/mocha/utils.js +219 -116
- package/packages/datadog-instrumentations/src/mocha/worker.js +16 -9
- package/packages/datadog-instrumentations/src/mocha.js +3 -1
- package/packages/datadog-instrumentations/src/mongodb-core.js +1 -1
- package/packages/datadog-instrumentations/src/mysql.js +30 -37
- package/packages/datadog-instrumentations/src/mysql2.js +55 -47
- package/packages/datadog-instrumentations/src/net.js +28 -30
- package/packages/datadog-instrumentations/src/next.js +7 -14
- package/packages/datadog-instrumentations/src/nyc.js +5 -3
- package/packages/datadog-instrumentations/src/openai.js +137 -115
- package/packages/datadog-instrumentations/src/oracledb.js +1 -1
- package/packages/datadog-instrumentations/src/orchestrion-config/index.js +54 -0
- package/packages/datadog-instrumentations/src/otel-sdk-trace.js +4 -3
- package/packages/datadog-instrumentations/src/pg.js +18 -12
- package/packages/datadog-instrumentations/src/playwright.js +570 -142
- package/packages/datadog-instrumentations/src/protobufjs.js +3 -4
- package/packages/datadog-instrumentations/src/redis.js +4 -4
- package/packages/datadog-instrumentations/src/restify.js +9 -13
- package/packages/datadog-instrumentations/src/rhea.js +42 -54
- package/packages/datadog-instrumentations/src/router.js +32 -39
- package/packages/datadog-instrumentations/src/tedious.js +12 -10
- package/packages/datadog-instrumentations/src/url.js +9 -17
- package/packages/datadog-instrumentations/src/vitest.js +291 -142
- package/packages/datadog-plugin-amqp10/src/consumer.js +7 -3
- package/packages/datadog-plugin-amqp10/src/producer.js +7 -3
- package/packages/datadog-plugin-amqplib/src/client.js +6 -2
- package/packages/datadog-plugin-amqplib/src/consumer.js +8 -4
- package/packages/datadog-plugin-amqplib/src/producer.js +8 -5
- package/packages/datadog-plugin-amqplib/src/util.js +1 -1
- package/packages/datadog-plugin-apollo/src/gateway/request.js +5 -6
- package/packages/datadog-plugin-apollo/src/gateway/validate.js +2 -3
- package/packages/datadog-plugin-avsc/src/schema_iterator.js +13 -13
- package/packages/datadog-plugin-aws-sdk/src/base.js +20 -11
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +2 -2
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +13 -13
- package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +3 -5
- package/packages/datadog-plugin-aws-sdk/src/services/dynamodb.js +35 -50
- package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +2 -2
- package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +11 -15
- package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +4 -6
- package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +3 -5
- package/packages/datadog-plugin-aws-sdk/src/services/s3.js +3 -5
- package/packages/datadog-plugin-aws-sdk/src/services/sns.js +3 -5
- package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +12 -17
- package/packages/datadog-plugin-aws-sdk/src/services/stepfunctions.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/util.js +5 -6
- package/packages/datadog-plugin-azure-functions/src/index.js +5 -4
- package/packages/datadog-plugin-cassandra-driver/src/index.js +1 -1
- package/packages/datadog-plugin-child_process/src/index.js +4 -4
- package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +23 -23
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/batch-consumer.js +11 -0
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/consumer.js +11 -0
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +19 -0
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/producer.js +11 -0
- package/packages/datadog-plugin-cucumber/src/index.js +134 -25
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +200 -59
- package/packages/datadog-plugin-cypress/src/plugin.js +21 -1
- package/packages/datadog-plugin-cypress/src/support.js +60 -12
- package/packages/datadog-plugin-dd-trace-api/src/index.js +2 -1
- package/packages/datadog-plugin-dns/src/lookup.js +10 -5
- package/packages/datadog-plugin-dns/src/lookup_service.js +6 -2
- package/packages/datadog-plugin-dns/src/resolve.js +5 -2
- package/packages/datadog-plugin-dns/src/reverse.js +6 -2
- package/packages/datadog-plugin-elasticsearch/src/index.js +1 -1
- package/packages/datadog-plugin-express/src/code_origin.js +30 -0
- package/packages/datadog-plugin-express/src/index.js +10 -12
- package/packages/datadog-plugin-express/src/tracing.js +19 -0
- package/packages/datadog-plugin-fs/src/index.js +9 -2
- package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +7 -3
- package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +13 -8
- package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +7 -4
- package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +17 -0
- package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +203 -0
- package/packages/datadog-plugin-google-cloud-vertexai/src/utils.js +19 -0
- package/packages/datadog-plugin-graphql/src/execute.js +2 -2
- package/packages/datadog-plugin-graphql/src/index.js +10 -8
- package/packages/datadog-plugin-graphql/src/parse.js +1 -3
- package/packages/datadog-plugin-graphql/src/resolve.js +19 -12
- package/packages/datadog-plugin-graphql/src/tools/index.js +1 -0
- package/packages/datadog-plugin-graphql/src/tools/signature.js +1 -0
- package/packages/datadog-plugin-graphql/src/tools/transforms.js +1 -0
- package/packages/datadog-plugin-grpc/src/client.js +2 -2
- package/packages/datadog-plugin-grpc/src/util.js +2 -2
- package/packages/datadog-plugin-http/src/client.js +26 -14
- package/packages/datadog-plugin-http2/src/client.js +27 -25
- package/packages/datadog-plugin-iovalkey/src/index.js +18 -0
- package/packages/datadog-plugin-jest/src/index.js +99 -35
- package/packages/datadog-plugin-jest/src/util.js +8 -8
- package/packages/datadog-plugin-kafkajs/src/batch-consumer.js +6 -3
- package/packages/datadog-plugin-kafkajs/src/consumer.js +26 -28
- package/packages/datadog-plugin-kafkajs/src/producer.js +23 -10
- package/packages/datadog-plugin-kafkajs/src/utils.js +27 -0
- package/packages/datadog-plugin-langchain/src/handlers/chain.js +7 -7
- package/packages/datadog-plugin-langchain/src/handlers/embedding.js +6 -3
- package/packages/datadog-plugin-langchain/src/handlers/language_models/chat_model.js +6 -4
- package/packages/datadog-plugin-langchain/src/handlers/language_models/llm.js +5 -4
- package/packages/datadog-plugin-langchain/src/index.js +17 -12
- package/packages/datadog-plugin-langchain/src/tracing.js +77 -16
- package/packages/datadog-plugin-mariadb/src/index.js +3 -9
- package/packages/datadog-plugin-mocha/src/index.js +147 -55
- package/packages/datadog-plugin-mongodb-core/src/index.js +40 -14
- package/packages/datadog-plugin-mysql/src/index.js +22 -9
- package/packages/datadog-plugin-mysql2/src/index.js +16 -0
- package/packages/datadog-plugin-net/src/ipc.js +6 -4
- package/packages/datadog-plugin-net/src/tcp.js +16 -10
- package/packages/datadog-plugin-next/src/index.js +7 -6
- package/packages/datadog-plugin-openai/src/services.js +6 -10
- package/packages/datadog-plugin-openai/src/tracing.js +133 -96
- package/packages/datadog-plugin-oracledb/src/index.js +3 -2
- package/packages/datadog-plugin-pg/src/index.js +5 -1
- package/packages/datadog-plugin-playwright/src/index.js +205 -27
- package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +9 -10
- package/packages/datadog-plugin-redis/src/index.js +10 -7
- package/packages/datadog-plugin-rhea/src/consumer.js +9 -7
- package/packages/datadog-plugin-rhea/src/producer.js +6 -4
- package/packages/datadog-plugin-router/src/index.js +1 -1
- package/packages/datadog-plugin-selenium/src/index.js +1 -6
- package/packages/datadog-plugin-tedious/src/index.js +14 -9
- package/packages/datadog-plugin-vitest/src/index.js +184 -83
- package/packages/datadog-shimmer/src/shimmer.js +204 -233
- package/packages/dd-trace/src/appsec/addresses.js +1 -0
- package/packages/dd-trace/src/appsec/api_security_sampler.js +28 -16
- package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
- package/packages/dd-trace/src/appsec/blocking.js +31 -36
- package/packages/dd-trace/src/appsec/channels.js +23 -20
- package/packages/dd-trace/src/appsec/graphql.js +17 -8
- package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.js +0 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -17
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +0 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +0 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +0 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hsts-header-missing-analyzer.js +7 -12
- package/packages/dd-trace/src/appsec/iast/analyzers/missing-header-analyzer.js +5 -8
- package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +43 -15
- package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +9 -12
- package/packages/dd-trace/src/appsec/iast/analyzers/sql-injection-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +13 -20
- package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +6 -5
- package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +2 -3
- package/packages/dd-trace/src/appsec/iast/iast-context.js +2 -2
- package/packages/dd-trace/src/appsec/iast/iast-plugin.js +4 -4
- package/packages/dd-trace/src/appsec/iast/index.js +1 -1
- package/packages/dd-trace/src/appsec/iast/overhead-controller.js +102 -7
- package/packages/dd-trace/src/appsec/iast/path-line.js +7 -8
- package/packages/dd-trace/src/appsec/iast/security-controls/index.js +17 -25
- package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +6 -6
- package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +4 -4
- package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +0 -3
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +47 -4
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +6 -29
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +9 -10
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugins/kafka.js +3 -4
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +26 -13
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-telemetry.js +3 -32
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +111 -65
- package/packages/dd-trace/src/appsec/iast/taint-tracking/source-types.js +0 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +2 -2
- package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +7 -7
- package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +2 -3
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/range-utils.js +10 -11
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/command-sensitive-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/ldap-sensitive-analyzer.js +2 -2
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +7 -7
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +23 -28
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +3 -3
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +5 -6
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +6 -11
- package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +0 -1
- package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +12 -16
- package/packages/dd-trace/src/appsec/index.js +60 -18
- package/packages/dd-trace/src/appsec/rasp/command_injection.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/index.js +21 -17
- package/packages/dd-trace/src/appsec/rasp/lfi.js +3 -2
- package/packages/dd-trace/src/appsec/rasp/sql_injection.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/ssrf.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/utils.js +18 -9
- package/packages/dd-trace/src/appsec/recommended.json +256 -84
- package/packages/dd-trace/src/appsec/reporter.js +289 -59
- package/packages/dd-trace/src/appsec/rule_manager.js +3 -3
- package/packages/dd-trace/src/appsec/sdk/index.js +23 -1
- package/packages/dd-trace/src/appsec/sdk/noop.js +10 -0
- package/packages/dd-trace/src/appsec/sdk/set_user.js +12 -7
- package/packages/dd-trace/src/appsec/sdk/track_event.js +137 -11
- package/packages/dd-trace/src/appsec/sdk/user_blocking.js +3 -6
- package/packages/dd-trace/src/appsec/stack_trace.js +2 -4
- package/packages/dd-trace/src/appsec/telemetry/common.js +28 -0
- package/packages/dd-trace/src/appsec/telemetry/index.js +206 -0
- package/packages/dd-trace/src/appsec/telemetry/rasp.js +103 -0
- package/packages/dd-trace/src/appsec/telemetry/user.js +32 -0
- package/packages/dd-trace/src/appsec/telemetry/waf.js +141 -0
- package/packages/dd-trace/src/appsec/user_tracking.js +5 -9
- package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +59 -21
- package/packages/dd-trace/src/appsec/waf/waf_manager.js +16 -7
- package/packages/dd-trace/src/azure_metadata.js +9 -9
- package/packages/dd-trace/src/baggage.js +36 -0
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +24 -11
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +2 -2
- package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +3 -2
- package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +3 -3
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +3 -2
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +3 -2
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +5 -4
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +22 -16
- package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +9 -5
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +14 -8
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +6 -6
- package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +3 -2
- package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +5 -4
- package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +14 -9
- package/packages/dd-trace/src/ci-visibility/telemetry.js +6 -1
- package/packages/dd-trace/src/ci-visibility/{quarantined-tests/get-quarantined-tests.js → test-management/get-test-management-tests.js} +14 -9
- package/packages/dd-trace/src/config-helper.js +89 -0
- package/packages/dd-trace/src/config.js +385 -201
- package/packages/dd-trace/src/config_stable.js +103 -0
- package/packages/dd-trace/src/constants.js +4 -2
- package/packages/dd-trace/src/{data_streams.js → datastreams/checkpointer.js} +1 -1
- package/packages/dd-trace/src/{data_streams_context.js → datastreams/context.js} +2 -2
- package/packages/dd-trace/src/datastreams/encoding.js +9 -9
- package/packages/dd-trace/src/datastreams/fnv.js +2 -2
- package/packages/dd-trace/src/datastreams/index.js +104 -0
- package/packages/dd-trace/src/datastreams/manager.js +27 -0
- package/packages/dd-trace/src/datastreams/pathway.js +4 -4
- package/packages/dd-trace/src/datastreams/processor.js +9 -56
- package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +7 -7
- package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +4 -6
- package/packages/dd-trace/src/datastreams/size.js +53 -0
- package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +193 -22
- package/packages/dd-trace/src/debugger/devtools_client/condition.js +294 -0
- package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/index.js +141 -75
- package/packages/dd-trace/src/debugger/devtools_client/remote_config.js +18 -44
- package/packages/dd-trace/src/debugger/devtools_client/send.js +22 -13
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +17 -13
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +15 -7
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +80 -76
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +4 -4
- package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +19 -20
- package/packages/dd-trace/src/debugger/devtools_client/state.js +34 -6
- package/packages/dd-trace/src/debugger/devtools_client/status.js +5 -1
- package/packages/dd-trace/src/debugger/index.js +4 -0
- package/packages/dd-trace/src/dogstatsd.js +191 -36
- package/packages/dd-trace/src/encode/0.4.js +122 -16
- package/packages/dd-trace/src/encode/0.5.js +11 -7
- package/packages/dd-trace/src/encode/agentless-ci-visibility.js +17 -10
- package/packages/dd-trace/src/encode/coverage-ci-visibility.js +1 -1
- package/packages/dd-trace/src/encode/tags-processors.js +1 -1
- package/packages/dd-trace/src/exporter.js +8 -6
- package/packages/dd-trace/src/exporters/agent/index.js +4 -3
- package/packages/dd-trace/src/exporters/agent/writer.js +6 -7
- package/packages/dd-trace/src/exporters/common/docker.js +28 -15
- package/packages/dd-trace/src/exporters/common/form-data.js +6 -4
- package/packages/dd-trace/src/exporters/common/request.js +6 -6
- package/packages/dd-trace/src/exporters/common/util.js +4 -2
- package/packages/dd-trace/src/external-logger/src/index.js +5 -5
- package/packages/dd-trace/src/flare/file.js +1 -5
- package/packages/dd-trace/src/flare/index.js +3 -0
- package/packages/dd-trace/src/format.js +80 -81
- package/packages/dd-trace/src/git_properties.js +1 -1
- package/packages/dd-trace/src/guardrails/index.js +2 -0
- package/packages/dd-trace/src/guardrails/telemetry.js +2 -5
- package/packages/dd-trace/src/histogram.js +12 -23
- package/packages/dd-trace/src/id.js +15 -9
- package/packages/dd-trace/src/iitm.js +10 -22
- package/packages/dd-trace/src/index.js +4 -3
- package/packages/dd-trace/src/lambda/handler.js +7 -6
- package/packages/dd-trace/src/lambda/index.js +2 -1
- package/packages/dd-trace/src/lambda/runtime/patch.js +12 -9
- package/packages/dd-trace/src/lambda/runtime/ritm.js +17 -21
- package/packages/dd-trace/src/llmobs/constants/tags.js +3 -0
- package/packages/dd-trace/src/llmobs/constants/writers.js +9 -5
- package/packages/dd-trace/src/llmobs/index.js +49 -13
- package/packages/dd-trace/src/llmobs/noop.js +19 -21
- package/packages/dd-trace/src/llmobs/plugins/base.js +4 -1
- package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +11 -7
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chain.js +2 -6
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +3 -3
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +11 -13
- package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +69 -9
- package/packages/dd-trace/src/llmobs/plugins/openai.js +29 -3
- package/packages/dd-trace/src/llmobs/plugins/vertexai.js +197 -0
- package/packages/dd-trace/src/llmobs/sdk.js +159 -124
- package/packages/dd-trace/src/llmobs/span_processor.js +7 -1
- package/packages/dd-trace/src/llmobs/tagger.js +144 -107
- package/packages/dd-trace/src/llmobs/telemetry.js +168 -0
- package/packages/dd-trace/src/llmobs/util.js +9 -9
- package/packages/dd-trace/src/llmobs/writers/base.js +89 -36
- package/packages/dd-trace/src/llmobs/writers/evaluations.js +9 -6
- package/packages/dd-trace/src/llmobs/writers/spans.js +69 -0
- package/packages/dd-trace/src/llmobs/writers/util.js +60 -0
- package/packages/dd-trace/src/log/index.js +30 -26
- package/packages/dd-trace/src/log/log.js +1 -1
- package/packages/dd-trace/src/log/utils.js +16 -0
- package/packages/dd-trace/src/log/writer.js +22 -6
- package/packages/dd-trace/src/msgpack/chunk.js +3 -3
- package/packages/dd-trace/src/msgpack/encoder.js +31 -31
- package/packages/dd-trace/src/noop/dogstatsd.js +11 -5
- package/packages/dd-trace/src/noop/proxy.js +5 -0
- package/packages/dd-trace/src/noop/span.js +4 -6
- package/packages/dd-trace/src/noop/tracer.js +1 -2
- package/packages/dd-trace/src/opentelemetry/context_manager.js +2 -0
- package/packages/dd-trace/src/opentelemetry/span.js +4 -4
- package/packages/dd-trace/src/opentelemetry/span_processor.js +2 -2
- package/packages/dd-trace/src/opentelemetry/tracer.js +51 -6
- package/packages/dd-trace/src/opentracing/propagation/log.js +10 -12
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +97 -99
- package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +1 -1
- package/packages/dd-trace/src/opentracing/propagation/tracestate.js +8 -4
- package/packages/dd-trace/src/opentracing/span.js +41 -22
- package/packages/dd-trace/src/opentracing/tracer.js +9 -6
- package/packages/dd-trace/src/payload-tagging/config/aws.json +8 -0
- package/packages/dd-trace/src/payload-tagging/config/index.js +17 -21
- package/packages/dd-trace/src/payload-tagging/index.js +1 -1
- package/packages/dd-trace/src/payload-tagging/jsonpath-plus.js +1 -1
- package/packages/dd-trace/src/payload-tagging/tagging.js +6 -6
- package/packages/dd-trace/src/pkg.js +1 -1
- package/packages/dd-trace/src/plugin_manager.js +8 -9
- package/packages/dd-trace/src/plugins/ci_plugin.js +115 -21
- package/packages/dd-trace/src/plugins/consumer.js +2 -2
- package/packages/dd-trace/src/plugins/database.js +4 -4
- package/packages/dd-trace/src/plugins/inbound.js +5 -1
- package/packages/dd-trace/src/plugins/index.js +6 -1
- package/packages/dd-trace/src/plugins/log_plugin.js +9 -15
- package/packages/dd-trace/src/plugins/outbound.js +11 -4
- package/packages/dd-trace/src/plugins/plugin.js +3 -1
- package/packages/dd-trace/src/plugins/producer.js +2 -2
- package/packages/dd-trace/src/plugins/storage.js +2 -2
- package/packages/dd-trace/src/plugins/tracing.js +8 -4
- package/packages/dd-trace/src/plugins/util/ci.js +60 -20
- package/packages/dd-trace/src/plugins/util/git.js +194 -24
- package/packages/dd-trace/src/plugins/util/inferred_proxy.js +1 -1
- package/packages/dd-trace/src/plugins/util/ip_extractor.js +1 -1
- package/packages/dd-trace/src/plugins/util/llm.js +27 -10
- package/packages/dd-trace/src/plugins/util/stacktrace.js +9 -2
- package/packages/dd-trace/src/plugins/util/test.js +423 -30
- package/packages/dd-trace/src/plugins/util/url.js +1 -1
- package/packages/dd-trace/src/plugins/util/urlfilter.js +13 -17
- package/packages/dd-trace/src/plugins/util/user-provided-git.js +14 -4
- package/packages/dd-trace/src/plugins/util/web.js +16 -12
- package/packages/dd-trace/src/priority_sampler.js +156 -42
- package/packages/dd-trace/src/profiler.js +1 -1
- package/packages/dd-trace/src/profiling/config.js +51 -35
- package/packages/dd-trace/src/profiling/exporter_cli.js +21 -21
- package/packages/dd-trace/src/profiling/exporters/agent.js +2 -6
- package/packages/dd-trace/src/profiling/exporters/event_serializer.js +7 -6
- package/packages/dd-trace/src/profiling/exporters/file.js +2 -1
- package/packages/dd-trace/src/profiling/index.js +2 -1
- package/packages/dd-trace/src/profiling/profiler.js +49 -10
- package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_lookup.js +1 -1
- package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_lookupservice.js +1 -1
- package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_resolve.js +2 -2
- package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_reverse.js +1 -1
- package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +15 -14
- package/packages/dd-trace/src/profiling/profilers/events.js +24 -19
- package/packages/dd-trace/src/profiling/profilers/shared.js +6 -1
- package/packages/dd-trace/src/profiling/profilers/space.js +3 -3
- package/packages/dd-trace/src/profiling/profilers/wall.js +23 -13
- package/packages/dd-trace/src/profiling/ssi-heuristics.js +3 -5
- package/packages/dd-trace/src/profiling/ssi-telemetry-mock-profiler.js +3 -1
- package/packages/dd-trace/src/profiling/tagger.js +21 -13
- package/packages/dd-trace/src/profiling/webspan-utils.js +1 -1
- package/packages/dd-trace/src/proxy.js +67 -37
- package/packages/dd-trace/src/random_sampler.js +40 -0
- package/packages/dd-trace/src/rate_limiter.js +4 -4
- package/packages/dd-trace/src/{appsec/remote_config → remote_config}/capabilities.js +1 -0
- package/packages/dd-trace/src/{appsec/remote_config → remote_config}/index.js +11 -12
- package/packages/dd-trace/src/{appsec/remote_config → remote_config}/manager.js +35 -18
- package/packages/dd-trace/src/require-package-json.js +1 -1
- package/packages/dd-trace/src/ritm.js +8 -8
- package/packages/dd-trace/src/runtime_metrics/index.js +34 -0
- package/packages/dd-trace/src/{runtime_metrics.js → runtime_metrics/runtime_metrics.js} +30 -94
- package/packages/dd-trace/src/sampler.js +48 -2
- package/packages/dd-trace/src/sampling_rule.js +20 -6
- package/packages/dd-trace/src/scope.js +1 -1
- package/packages/dd-trace/src/serverless.js +18 -50
- package/packages/dd-trace/src/service-naming/index.js +12 -4
- package/packages/dd-trace/src/service-naming/schemas/util.js +1 -1
- package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +8 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +8 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/web.js +2 -3
- package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +8 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +4 -0
- package/packages/dd-trace/src/span_processor.js +12 -8
- package/packages/dd-trace/src/span_sampler.js +4 -1
- package/packages/dd-trace/src/span_stats.js +3 -4
- package/packages/dd-trace/src/standalone/index.js +70 -0
- package/packages/dd-trace/src/standalone/product.js +26 -0
- package/packages/dd-trace/src/standalone/tracesource.js +21 -0
- package/packages/dd-trace/src/standalone/tracesource_priority_sampler.js +46 -0
- package/packages/dd-trace/src/startup-log.js +8 -19
- package/packages/dd-trace/src/supported-configurations.json +442 -0
- package/packages/dd-trace/src/tagger.js +38 -33
- package/packages/dd-trace/src/telemetry/dependencies.js +64 -59
- package/packages/dd-trace/src/telemetry/index.js +16 -386
- package/packages/dd-trace/src/telemetry/logs/log-collector.js +9 -10
- package/packages/dd-trace/src/telemetry/metrics.js +10 -13
- package/packages/dd-trace/src/telemetry/send-data.js +13 -8
- package/packages/dd-trace/src/telemetry/telemetry.js +386 -0
- package/packages/dd-trace/src/tracer.js +11 -23
- package/packages/dd-trace/src/util.js +11 -11
- package/register.js +3 -1
- package/version.js +1 -0
- package/packages/datadog-core/src/utils/src/get.js +0 -11
- package/packages/datadog-core/src/utils/src/has.js +0 -14
- package/packages/datadog-instrumentations/src/paperplane.js +0 -77
- package/packages/datadog-instrumentations/src/utils/src/extract-package-and-module-path.js +0 -36
- package/packages/datadog-plugin-paperplane/src/index.js +0 -25
- package/packages/datadog-plugin-paperplane/src/logger.js +0 -11
- package/packages/datadog-plugin-paperplane/src/server.js +0 -24
- package/packages/dd-trace/src/appsec/iast/analyzers/header-injection-analyzer.js +0 -122
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/header-sensitive-analyzer.js +0 -20
- package/packages/dd-trace/src/appsec/standalone.js +0 -130
- package/packages/dd-trace/src/appsec/telemetry.js +0 -218
- package/packages/dd-trace/src/llmobs/writers/spans/agentProxy.js +0 -23
- package/packages/dd-trace/src/llmobs/writers/spans/agentless.js +0 -17
- package/packages/dd-trace/src/llmobs/writers/spans/base.js +0 -52
- package/packages/dd-trace/src/service-naming/schemas/index.js +0 -6
- /package/packages/dd-trace/src/{appsec/remote_config → remote_config}/apply_states.js +0 -0
- /package/packages/dd-trace/src/{appsec/remote_config → remote_config}/scheduler.js +0 -0
package/LICENSE-3rdparty.csv
CHANGED
|
@@ -2,10 +2,10 @@ Component,Origin,License,Copyright
|
|
|
2
2
|
require,@datadog/libdatadog,Apache license 2.0,Copyright 2024 Datadog Inc.
|
|
3
3
|
require,@datadog/native-appsec,Apache license 2.0,Copyright 2018 Datadog Inc.
|
|
4
4
|
require,@datadog/native-metrics,Apache license 2.0,Copyright 2018 Datadog Inc.
|
|
5
|
-
require,@datadog/native-iast-rewriter,Apache license 2.0,Copyright 2018 Datadog Inc.
|
|
6
5
|
require,@datadog/native-iast-taint-tracking,Apache license 2.0,Copyright 2018 Datadog Inc.
|
|
7
6
|
require,@datadog/pprof,Apache license 2.0,Copyright 2019 Google Inc.
|
|
8
7
|
require,@datadog/sketches-js,Apache license 2.0,Copyright 2020 Datadog Inc.
|
|
8
|
+
require,@datadog/wasm-js-rewriter,Apache license 2.0,Copyright 2018 Datadog Inc.
|
|
9
9
|
require,@opentelemetry/api,Apache license 2.0,Copyright OpenTelemetry Authors
|
|
10
10
|
require,@opentelemetry/core,Apache license 2.0,Copyright OpenTelemetry Authors
|
|
11
11
|
require,@isaacs/ttlcache,ISC,Copyright (c) 2022-2023 - Isaac Z. Schlueter and Contributors
|
|
@@ -20,6 +20,7 @@ require,limiter,MIT,Copyright 2011 John Hurliman
|
|
|
20
20
|
require,lodash.sortby,MIT,Copyright JS Foundation and other contributors
|
|
21
21
|
require,lru-cache,ISC,Copyright (c) 2010-2022 Isaac Z. Schlueter and Contributors
|
|
22
22
|
require,module-details-from-path,MIT,Copyright 2016 Thomas Watson Steen
|
|
23
|
+
require,mutexify,MIT,Copyright (c) 2014 Mathias Buus
|
|
23
24
|
require,opentracing,MIT,Copyright 2016 Resonance Labs Inc
|
|
24
25
|
require,path-to-regexp,MIT,Copyright 2014 Blake Embrey
|
|
25
26
|
require,pprof-format,MIT,Copyright 2022 Stephen Belanger
|
|
@@ -31,41 +32,34 @@ require,semifies,Apache license 2.0,Copyright Authors
|
|
|
31
32
|
require,shell-quote,mit,Copyright (c) 2013 James Halliday
|
|
32
33
|
require,source-map,BSD-3-Clause,Copyright (c) 2009-2011, Mozilla Foundation and contributors
|
|
33
34
|
require,ttl-set,MIT,Copyright (c) 2024 Thomas Watson
|
|
34
|
-
dev,@
|
|
35
|
+
dev,@babel/helpers,MIT,Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
|
35
36
|
dev,@types/node,MIT,Copyright Authors
|
|
36
37
|
dev,@eslint/eslintrc,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
|
|
37
38
|
dev,@eslint/js,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
|
|
38
39
|
dev,@msgpack/msgpack,ISC,Copyright 2019 The MessagePack Community
|
|
39
|
-
dev,@stylistic/eslint-plugin
|
|
40
|
-
dev,autocannon,MIT,Copyright 2016 Matteo Collina
|
|
41
|
-
dev,aws-sdk,Apache 2.0,Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
40
|
+
dev,@stylistic/eslint-plugin,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
|
|
42
41
|
dev,axios,MIT,Copyright 2014-present Matt Zabriskie
|
|
43
42
|
dev,benchmark,MIT,Copyright 2010-2016 Mathias Bynens Robert Kieffer John-David Dalton
|
|
44
43
|
dev,body-parser,MIT,Copyright 2014 Jonathan Ong 2014-2015 Douglas Christopher Wilson
|
|
45
44
|
dev,chai,MIT,Copyright 2017 Chai.js Assertion Library
|
|
46
|
-
dev,chalk,MIT,Copyright Sindre Sorhus
|
|
47
|
-
dev,checksum,MIT,Copyright Daniel D. Shaw
|
|
48
|
-
dev,cli-table3,MIT,Copyright 2014 James Talmage
|
|
49
|
-
dev,dotenv,BSD-2-Clause,Copyright 2015 Scott Motte
|
|
50
|
-
dev,esbuild,MIT,Copyright (c) 2020 Evan Wallace
|
|
51
45
|
dev,eslint,MIT,Copyright JS Foundation and other contributors https://js.foundation
|
|
52
46
|
dev,eslint-config-standard,MIT,Copyright Feross Aboukhadijeh
|
|
53
47
|
dev,eslint-plugin-import,MIT,Copyright 2015 Ben Mosher
|
|
54
48
|
dev,eslint-plugin-mocha,MIT,Copyright 2014 Mathias Schreck
|
|
55
49
|
dev,eslint-plugin-n,MIT,Copyright 2015 Toru Nagashima
|
|
56
50
|
dev,eslint-plugin-promise,ISC,jden and other contributors
|
|
51
|
+
dev,eslint-plugin-unicorn,MIT,Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
|
57
52
|
dev,express,MIT,Copyright 2009-2014 TJ Holowaychuk 2013-2014 Roman Shtylman 2014-2015 Douglas Christopher Wilson
|
|
58
53
|
dev,get-port,MIT,Copyright Sindre Sorhus
|
|
59
54
|
dev,glob,ISC,Copyright Isaac Z. Schlueter and Contributors
|
|
60
55
|
dev,globals,MIT,Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
|
61
56
|
dev,graphql,MIT,Copyright 2015 Facebook Inc.
|
|
62
57
|
dev,jszip,MIT,Copyright 2015-2016 Stuart Knightley and contributors
|
|
63
|
-
dev,knex,MIT,Copyright (c) 2013-present Tim Griesser
|
|
64
|
-
dev,mkdirp,MIT,Copyright 2010 James Halliday
|
|
65
58
|
dev,mocha,MIT,Copyright 2011-2018 JS Foundation and contributors https://js.foundation
|
|
66
59
|
dev,multer,MIT,Copyright 2014 Hage Yaapa
|
|
67
60
|
dev,nock,MIT,Copyright 2017 Pedro Teixeira and other contributors
|
|
68
61
|
dev,nyc,ISC,Copyright 2015 Contributors
|
|
62
|
+
dev,octokit,MIT,Copyright 2023 Octokit contributors
|
|
69
63
|
dev,proxyquire,MIT,Copyright 2013 Thorsten Lorenz
|
|
70
64
|
dev,rimraf,ISC,Copyright Isaac Z. Schlueter and Contributors
|
|
71
65
|
dev,semver,ISC,Copyright Isaac Z. Schlueter and Contributors
|
|
@@ -74,6 +68,7 @@ dev,sinon-chai,WTFPL and BSD-2-Clause,Copyright 2004 Sam Hocevar 2012–2017 Dom
|
|
|
74
68
|
dev,tap,ISC,Copyright 2011-2022 Isaac Z. Schlueter and Contributors
|
|
75
69
|
dev,tiktoken,MIT,Copyright (c) 2022 OpenAI, Shantanu Jain
|
|
76
70
|
dev,yaml,ISC,Copyright Eemeli Aro <eemeli@gmail.com>
|
|
71
|
+
dev,yarn-deduplicate,Apache license 2.0,Copyright [yyyy] [name of copyright owner]
|
|
77
72
|
file,aws-lambda-nodejs-runtime-interface-client,Apache 2.0,Copyright 2019 Amazon.com Inc. or its affiliates. All Rights Reserved.
|
|
78
73
|
file,profile.proto,Apache license 2.0,Copyright 2016 Google Inc.
|
|
79
74
|
file,is-git-url,MIT,Copyright (c) 2017 Jon Schlinkert.
|
package/README.md
CHANGED
|
@@ -15,13 +15,18 @@
|
|
|
15
15
|
Most of the documentation for `dd-trace` is available on these webpages:
|
|
16
16
|
|
|
17
17
|
- [Tracing Node.js Applications](https://docs.datadoghq.com/tracing/languages/nodejs/) - most project documentation, including setup instructions
|
|
18
|
-
- [Configuring the
|
|
18
|
+
- [Configuring the Node.js Tracing Library](https://docs.datadoghq.com/tracing/trace_collection/library_config/nodejs) - environment variables and config options
|
|
19
19
|
- [API Documentation](https://datadog.github.io/dd-trace-js) - method signatures, plugin list, and some usage examples
|
|
20
20
|
- [APM Terms and Concepts](https://docs.datadoghq.com/tracing/visualization/) - a glossary of concepts applicable across all languages
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
## Version Release Lines and Maintenance
|
|
24
24
|
|
|
25
|
+
> **Node.js v24 Notice**: We're currently adding compatibility for Node.js v24. To use the tracer with your application either continue to use Node.js v22 (LTS), or do both of the following as a workaround:
|
|
26
|
+
> * Install v5.52.0 (or newer) of the tracer
|
|
27
|
+
> * Set `--no-async-context-frame` either using a CLI argument or via `NODE_OPTIONS`
|
|
28
|
+
> Once support for Node.js v24 is complete this flag will no longer be needed.
|
|
29
|
+
|
|
25
30
|
| Release Line | Latest Version | Node.js | [SSI](https://docs.datadoghq.com/tracing/trace_collection/automatic_instrumentation/single-step-apm/?tab=linuxhostorvm) | [K8s Injection](https://docs.datadoghq.com/tracing/trace_collection/library_injection_local/?tab=kubernetes) |Status |Initial Release | End of Life |
|
|
26
31
|
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
|
|
27
32
|
| [`v1`](https://github.com/DataDog/dd-trace-js/tree/v1.x) |  | `>= v12` | NO | NO | **EOL** | 2021-07-13 | 2022-02-25 |
|
|
@@ -59,7 +64,7 @@ When a new release line is introduced the previous release line then enters main
|
|
|
59
64
|
Once that year is up the release line enters End of Life and will not receive new updates.
|
|
60
65
|
The library also follows the Node.js LTS lifecycle wherein new release lines drop compatibility with Node.js versions that reach end-of-life (with the maintenance release line still receiving updates for a year).
|
|
61
66
|
|
|
62
|
-
For more information about library versioning and compatibility, see the [
|
|
67
|
+
For more information about library versioning and compatibility, see the [Node.js Compatibility Requirements](https://docs.datadoghq.com/tracing/trace_collection/compatibility/nodejs/#releases) page.
|
|
63
68
|
|
|
64
69
|
Changes associated with each individual release are documented on the [GitHub Releases](https://github.com/DataDog/dd-trace-js/releases) screen.
|
|
65
70
|
|
|
@@ -69,21 +74,11 @@ Changes associated with each individual release are documented on the [GitHub Re
|
|
|
69
74
|
Please read the [CONTRIBUTING.md](https://github.com/DataDog/dd-trace-js/blob/master/CONTRIBUTING.md) document before contributing to this open source project.
|
|
70
75
|
|
|
71
76
|
|
|
72
|
-
##
|
|
73
|
-
|
|
74
|
-
ESM support requires an additional command-line argument. Use the following to enable experimental ESM support with your application:
|
|
75
|
-
|
|
76
|
-
Node.js < v20.6
|
|
77
|
-
|
|
78
|
-
```sh
|
|
79
|
-
node --loader dd-trace/loader-hook.mjs entrypoint.js
|
|
80
|
-
```
|
|
77
|
+
## ECMAScript Modules (ESM) Support
|
|
81
78
|
|
|
82
|
-
Node.js
|
|
79
|
+
ESM support requires an _additional_ command line argument when starting the Node.js process.
|
|
80
|
+
For more information, see the [section on ESM support](https://docs.datadoghq.com/tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs/#esm-applications-only-import-the-loader) in the Node.js tracer documentation.
|
|
83
81
|
|
|
84
|
-
```sh
|
|
85
|
-
node --import dd-trace/register.js entrypoint.js
|
|
86
|
-
```
|
|
87
82
|
|
|
88
83
|
## Serverless / Lambda
|
|
89
84
|
|
package/ci/cypress/plugin.js
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
const { NODE_MAJOR } = require('../../version')
|
|
2
|
+
|
|
3
|
+
// These polyfills are here because cypress@6.7.0, which we still support for v5, runs its plugin code
|
|
4
|
+
// with Node.js@12.
|
|
5
|
+
if (NODE_MAJOR < 18) {
|
|
6
|
+
require('./polyfills')
|
|
7
|
+
}
|
|
8
|
+
|
|
1
9
|
require('../init')
|
|
2
10
|
|
|
3
11
|
module.exports = require('../../packages/datadog-plugin-cypress/src/plugin')
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
if (!Object.hasOwn) {
|
|
2
|
+
Object.defineProperty(Object, 'hasOwn', {
|
|
3
|
+
// eslint-disable-next-line prefer-object-has-own
|
|
4
|
+
value: (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop),
|
|
5
|
+
writable: true,
|
|
6
|
+
configurable: true,
|
|
7
|
+
})
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
if (!Array.prototype.at) {
|
|
11
|
+
// eslint-disable-next-line no-extend-native
|
|
12
|
+
Object.defineProperty(Array.prototype, 'at', {
|
|
13
|
+
value: function (n) {
|
|
14
|
+
const len = this.length
|
|
15
|
+
if (len === 0) return
|
|
16
|
+
let index = Math.trunc(n)
|
|
17
|
+
if (index < 0) index += len
|
|
18
|
+
return (index < 0 || index >= len) ? undefined : this[index]
|
|
19
|
+
},
|
|
20
|
+
writable: true,
|
|
21
|
+
configurable: true
|
|
22
|
+
})
|
|
23
|
+
}
|
package/ci/init.js
CHANGED
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
const tracer = require('../packages/dd-trace')
|
|
3
3
|
const { isTrue, isFalse } = require('../packages/dd-trace/src/util')
|
|
4
4
|
const log = require('../packages/dd-trace/src/log')
|
|
5
|
+
const { getEnvironmentVariable } = require('../packages/dd-trace/src/config-helper')
|
|
5
6
|
|
|
6
|
-
const isJestWorker = !!
|
|
7
|
-
const isCucumberWorker = !!
|
|
8
|
-
const isMochaWorker = !!
|
|
7
|
+
const isJestWorker = !!getEnvironmentVariable('JEST_WORKER_ID')
|
|
8
|
+
const isCucumberWorker = !!getEnvironmentVariable('CUCUMBER_WORKER_ID')
|
|
9
|
+
const isMochaWorker = !!getEnvironmentVariable('MOCHA_WORKER_ID')
|
|
10
|
+
|
|
11
|
+
const isPlaywrightWorker = !!getEnvironmentVariable('DD_PLAYWRIGHT_WORKER')
|
|
9
12
|
|
|
10
13
|
const packageManagers = [
|
|
11
14
|
'npm',
|
|
@@ -23,17 +26,17 @@ const options = {
|
|
|
23
26
|
flushInterval: isJestWorker ? 0 : 5000
|
|
24
27
|
}
|
|
25
28
|
|
|
26
|
-
let shouldInit = !isFalse(
|
|
29
|
+
let shouldInit = !isFalse(getEnvironmentVariable('DD_CIVISIBILITY_ENABLED'))
|
|
27
30
|
|
|
28
31
|
if (isPackageManager()) {
|
|
29
32
|
log.debug('dd-trace is not initialized in a package manager.')
|
|
30
33
|
shouldInit = false
|
|
31
34
|
}
|
|
32
35
|
|
|
33
|
-
const isAgentlessEnabled = isTrue(
|
|
36
|
+
const isAgentlessEnabled = isTrue(getEnvironmentVariable('DD_CIVISIBILITY_AGENTLESS_ENABLED'))
|
|
34
37
|
|
|
35
38
|
if (isAgentlessEnabled) {
|
|
36
|
-
if (
|
|
39
|
+
if (getEnvironmentVariable('DD_API_KEY')) {
|
|
37
40
|
options.experimental = {
|
|
38
41
|
exporter: 'datadog'
|
|
39
42
|
}
|
|
@@ -67,6 +70,12 @@ if (isMochaWorker) {
|
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
72
|
|
|
73
|
+
if (isPlaywrightWorker) {
|
|
74
|
+
options.experimental = {
|
|
75
|
+
exporter: 'playwright_worker'
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
70
79
|
if (shouldInit) {
|
|
71
80
|
tracer.init(options)
|
|
72
81
|
tracer.use('fs', false)
|
package/ext/exporters.d.ts
CHANGED