dd-trace 5.52.0 → 5.54.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 +2 -1
- package/README.md +5 -0
- package/index.d.ts +87 -22
- package/initialize.mjs +3 -4
- package/package.json +36 -34
- package/packages/datadog-core/src/utils/src/get.js +1 -1
- package/packages/datadog-core/src/utils/src/has.js +1 -1
- 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 +1 -1
- package/packages/datadog-core/src/utils/src/uniq.js +1 -1
- package/packages/datadog-instrumentations/src/amqp10.js +19 -17
- package/packages/datadog-instrumentations/src/amqplib.js +57 -37
- package/packages/datadog-instrumentations/src/apollo.js +2 -2
- package/packages/datadog-instrumentations/src/aws-sdk.js +1 -1
- package/packages/datadog-instrumentations/src/cassandra-driver.js +5 -4
- package/packages/datadog-instrumentations/src/child_process.js +3 -3
- package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +92 -62
- package/packages/datadog-instrumentations/src/couchbase.js +5 -4
- package/packages/datadog-instrumentations/src/cucumber.js +126 -84
- package/packages/datadog-instrumentations/src/cypress.js +2 -1
- package/packages/datadog-instrumentations/src/dns.js +1 -1
- package/packages/datadog-instrumentations/src/express.js +2 -6
- package/packages/datadog-instrumentations/src/fs.js +7 -6
- package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +28 -34
- 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/helpers/extract-package-and-module-path.js +16 -10
- package/packages/datadog-instrumentations/src/helpers/hook.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/hooks.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/instrument.js +1 -41
- package/packages/datadog-instrumentations/src/helpers/register.js +21 -18
- package/packages/datadog-instrumentations/src/http/client.js +16 -21
- package/packages/datadog-instrumentations/src/iovalkey.js +51 -0
- package/packages/datadog-instrumentations/src/jest.js +184 -87
- package/packages/datadog-instrumentations/src/kafkajs.js +65 -44
- package/packages/datadog-instrumentations/src/knex.js +4 -4
- package/packages/datadog-instrumentations/src/ldapjs.js +3 -4
- package/packages/datadog-instrumentations/src/mariadb.js +38 -61
- package/packages/datadog-instrumentations/src/mocha/main.js +85 -59
- package/packages/datadog-instrumentations/src/mocha/utils.js +103 -82
- package/packages/datadog-instrumentations/src/mocha/worker.js +6 -0
- package/packages/datadog-instrumentations/src/mongodb-core.js +1 -1
- package/packages/datadog-instrumentations/src/mysql.js +20 -36
- package/packages/datadog-instrumentations/src/mysql2.js +55 -47
- package/packages/datadog-instrumentations/src/net.js +4 -2
- package/packages/datadog-instrumentations/src/next.js +7 -14
- package/packages/datadog-instrumentations/src/nyc.js +1 -1
- package/packages/datadog-instrumentations/src/openai.js +21 -23
- package/packages/datadog-instrumentations/src/oracledb.js +1 -1
- package/packages/datadog-instrumentations/src/pg.js +6 -13
- package/packages/datadog-instrumentations/src/playwright.js +170 -136
- package/packages/datadog-instrumentations/src/redis.js +3 -3
- package/packages/datadog-instrumentations/src/restify.js +2 -2
- package/packages/datadog-instrumentations/src/rhea.js +42 -54
- package/packages/datadog-instrumentations/src/router.js +22 -25
- package/packages/datadog-instrumentations/src/tedious.js +1 -1
- package/packages/datadog-instrumentations/src/url.js +9 -17
- package/packages/datadog-instrumentations/src/vitest.js +126 -97
- 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 +7 -3
- package/packages/datadog-plugin-amqplib/src/producer.js +7 -3
- 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-aws-sdk/src/base.js +3 -2
- 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/dynamodb.js +24 -31
- package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +2 -2
- package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +6 -6
- package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/sns.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +4 -5
- 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-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-cucumber/src/index.js +86 -20
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +97 -27
- package/packages/datadog-plugin-cypress/src/plugin.js +11 -1
- package/packages/datadog-plugin-cypress/src/support.js +24 -5
- 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-google-cloud-pubsub/src/client.js +7 -3
- package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +12 -7
- package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +6 -2
- package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +26 -9
- package/packages/datadog-plugin-graphql/src/execute.js +2 -2
- package/packages/datadog-plugin-graphql/src/index.js +7 -6
- package/packages/datadog-plugin-graphql/src/resolve.js +2 -2
- 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 +18 -7
- package/packages/datadog-plugin-http2/src/client.js +20 -20
- package/packages/datadog-plugin-iovalkey/src/index.js +18 -0
- package/packages/datadog-plugin-jest/src/index.js +36 -28
- package/packages/datadog-plugin-jest/src/util.js +8 -8
- package/packages/datadog-plugin-kafkajs/src/batch-consumer.js +3 -1
- package/packages/datadog-plugin-kafkajs/src/consumer.js +9 -5
- package/packages/datadog-plugin-kafkajs/src/producer.js +15 -7
- package/packages/datadog-plugin-kafkajs/src/utils.js +1 -1
- package/packages/datadog-plugin-langchain/src/handlers/chain.js +7 -7
- package/packages/datadog-plugin-langchain/src/handlers/embedding.js +2 -2
- 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/tracing.js +11 -10
- package/packages/datadog-plugin-mariadb/src/index.js +3 -9
- package/packages/datadog-plugin-mocha/src/index.js +88 -48
- package/packages/datadog-plugin-mongodb-core/src/index.js +1 -1
- package/packages/datadog-plugin-mysql/src/index.js +11 -9
- package/packages/datadog-plugin-mysql2/src/index.js +16 -0
- package/packages/datadog-plugin-net/src/tcp.js +1 -1
- package/packages/datadog-plugin-next/src/index.js +6 -5
- package/packages/datadog-plugin-openai/src/services.js +6 -10
- package/packages/datadog-plugin-openai/src/tracing.js +10 -14
- package/packages/datadog-plugin-oracledb/src/index.js +1 -1
- package/packages/datadog-plugin-playwright/src/index.js +48 -22
- package/packages/datadog-plugin-redis/src/index.js +9 -4
- package/packages/datadog-plugin-rhea/src/consumer.js +8 -6
- package/packages/datadog-plugin-rhea/src/producer.js +5 -2
- package/packages/datadog-plugin-router/src/index.js +1 -1
- package/packages/datadog-plugin-selenium/src/index.js +1 -6
- package/packages/datadog-plugin-vitest/src/index.js +99 -72
- package/packages/datadog-shimmer/src/shimmer.js +163 -36
- package/packages/dd-trace/src/appsec/api_security_sampler.js +2 -2
- package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
- package/packages/dd-trace/src/appsec/blocking.js +6 -20
- package/packages/dd-trace/src/appsec/graphql.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/header-injection-analyzer.js +4 -6
- 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 +4 -6
- package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +4 -0
- package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +9 -12
- package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +5 -4
- package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +2 -3
- package/packages/dd-trace/src/appsec/iast/iast-plugin.js +3 -3
- package/packages/dd-trace/src/appsec/iast/index.js +1 -0
- 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 +6 -13
- package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +6 -6
- package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +2 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +3 -3
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +4 -28
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +1 -7
- 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 +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +5 -7
- 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 +6 -6
- package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +1 -1
- 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 +1 -1
- 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 -24
- 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 +4 -4
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +6 -11
- package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +9 -11
- package/packages/dd-trace/src/appsec/index.js +15 -12
- package/packages/dd-trace/src/appsec/rasp/index.js +19 -17
- package/packages/dd-trace/src/appsec/rasp/lfi.js +2 -1
- package/packages/dd-trace/src/appsec/rasp/utils.js +11 -6
- package/packages/dd-trace/src/appsec/reporter.js +233 -40
- package/packages/dd-trace/src/appsec/rule_manager.js +2 -2
- package/packages/dd-trace/src/appsec/sdk/user_blocking.js +2 -2
- package/packages/dd-trace/src/appsec/stack_trace.js +2 -4
- package/packages/dd-trace/src/appsec/telemetry/index.js +1 -2
- package/packages/dd-trace/src/appsec/telemetry/rasp.js +3 -14
- package/packages/dd-trace/src/appsec/telemetry/waf.js +3 -5
- package/packages/dd-trace/src/appsec/user_tracking.js +3 -5
- package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +8 -8
- package/packages/dd-trace/src/azure_metadata.js +2 -7
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +1 -1
- 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 +1 -1
- 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 +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/writer.js +1 -1
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +6 -4
- 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 +0 -2
- package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +1 -1
- package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +1 -1
- package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +8 -5
- package/packages/dd-trace/src/ci-visibility/telemetry.js +4 -0
- package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +1 -1
- package/packages/dd-trace/src/config.js +82 -51
- package/packages/dd-trace/src/config_stable.js +3 -3
- package/packages/dd-trace/src/datastreams/encoding.js +9 -9
- package/packages/dd-trace/src/datastreams/fnv.js +1 -1
- package/packages/dd-trace/src/datastreams/pathway.js +4 -4
- package/packages/dd-trace/src/datastreams/processor.js +5 -7
- package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +1 -1
- package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +4 -6
- package/packages/dd-trace/src/datastreams/size.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +131 -72
- package/packages/dd-trace/src/debugger/devtools_client/condition.js +6 -8
- package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/index.js +17 -27
- package/packages/dd-trace/src/debugger/devtools_client/remote_config.js +18 -38
- package/packages/dd-trace/src/debugger/devtools_client/send.js +8 -7
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +16 -8
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +8 -10
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +3 -3
- package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +2 -10
- package/packages/dd-trace/src/debugger/devtools_client/state.js +31 -4
- package/packages/dd-trace/src/dogstatsd.js +7 -4
- package/packages/dd-trace/src/encode/0.4.js +9 -9
- package/packages/dd-trace/src/encode/0.5.js +1 -1
- package/packages/dd-trace/src/encode/agentless-ci-visibility.js +3 -3
- 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 +6 -6
- package/packages/dd-trace/src/exporters/agent/writer.js +1 -5
- package/packages/dd-trace/src/exporters/common/docker.js +1 -1
- package/packages/dd-trace/src/exporters/common/form-data.js +6 -4
- package/packages/dd-trace/src/exporters/common/request.js +1 -1
- package/packages/dd-trace/src/exporters/common/util.js +1 -1
- 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/format.js +1 -1
- package/packages/dd-trace/src/git_properties.js +1 -1
- package/packages/dd-trace/src/id.js +12 -6
- package/packages/dd-trace/src/iitm.js +10 -22
- package/packages/dd-trace/src/lambda/handler.js +6 -6
- package/packages/dd-trace/src/lambda/runtime/patch.js +4 -4
- package/packages/dd-trace/src/lambda/runtime/ritm.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +6 -6
- 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/index.js +6 -6
- package/packages/dd-trace/src/llmobs/plugins/openai.js +1 -1
- package/packages/dd-trace/src/llmobs/sdk.js +2 -2
- package/packages/dd-trace/src/llmobs/tagger.js +113 -99
- package/packages/dd-trace/src/llmobs/util.js +9 -9
- package/packages/dd-trace/src/llmobs/writers/base.js +1 -1
- package/packages/dd-trace/src/llmobs/writers/util.js +1 -1
- package/packages/dd-trace/src/log/index.js +4 -4
- package/packages/dd-trace/src/log/log.js +1 -1
- package/packages/dd-trace/src/log/writer.js +2 -2
- package/packages/dd-trace/src/msgpack/chunk.js +3 -3
- package/packages/dd-trace/src/msgpack/encoder.js +28 -28
- package/packages/dd-trace/src/noop/dogstatsd.js +6 -6
- package/packages/dd-trace/src/noop/span.js +3 -5
- package/packages/dd-trace/src/noop/tracer.js +1 -2
- package/packages/dd-trace/src/opentelemetry/span_processor.js +2 -2
- package/packages/dd-trace/src/opentelemetry/tracer.js +6 -5
- package/packages/dd-trace/src/opentracing/propagation/log.js +6 -8
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +27 -23
- package/packages/dd-trace/src/opentracing/propagation/tracestate.js +8 -4
- package/packages/dd-trace/src/opentracing/span.js +9 -14
- package/packages/dd-trace/src/opentracing/tracer.js +9 -6
- package/packages/dd-trace/src/payload-tagging/index.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/plugins/ci_plugin.js +62 -10
- package/packages/dd-trace/src/plugins/consumer.js +2 -2
- package/packages/dd-trace/src/plugins/inbound.js +5 -1
- package/packages/dd-trace/src/plugins/index.js +1 -1
- package/packages/dd-trace/src/plugins/outbound.js +4 -5
- package/packages/dd-trace/src/plugins/plugin.js +1 -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/util/ci.js +23 -15
- package/packages/dd-trace/src/plugins/util/git.js +165 -11
- 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 +1 -1
- package/packages/dd-trace/src/plugins/util/test.js +311 -48
- 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 +12 -3
- package/packages/dd-trace/src/plugins/util/web.js +5 -4
- package/packages/dd-trace/src/priority_sampler.js +22 -22
- package/packages/dd-trace/src/profiling/config.js +44 -8
- package/packages/dd-trace/src/profiling/exporters/event_serializer.js +5 -5
- package/packages/dd-trace/src/profiling/exporters/file.js +2 -1
- package/packages/dd-trace/src/profiling/profiler.js +37 -2
- package/packages/dd-trace/src/profiling/profilers/events.js +14 -17
- 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 +6 -7
- package/packages/dd-trace/src/profiling/ssi-heuristics.js +3 -5
- package/packages/dd-trace/src/profiling/tagger.js +3 -5
- package/packages/dd-trace/src/profiling/webspan-utils.js +1 -1
- package/packages/dd-trace/src/proxy.js +7 -13
- 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/remote_config/index.js +3 -7
- package/packages/dd-trace/src/remote_config/manager.js +25 -13
- package/packages/dd-trace/src/require-package-json.js +1 -1
- package/packages/dd-trace/src/ritm.js +4 -4
- package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +2 -2
- package/packages/dd-trace/src/sampler.js +33 -4
- package/packages/dd-trace/src/sampling_rule.js +12 -3
- package/packages/dd-trace/src/scope.js +1 -1
- package/packages/dd-trace/src/serverless.js +0 -48
- package/packages/dd-trace/src/service-naming/schemas/util.js +1 -1
- 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/storage.js +4 -0
- package/packages/dd-trace/src/span_processor.js +3 -3
- package/packages/dd-trace/src/span_sampler.js +4 -1
- package/packages/dd-trace/src/standalone/tracesource.js +1 -1
- package/packages/dd-trace/src/startup-log.js +2 -2
- package/packages/dd-trace/src/telemetry/dependencies.js +4 -4
- package/packages/dd-trace/src/telemetry/logs/log-collector.js +9 -10
- package/packages/dd-trace/src/telemetry/metrics.js +10 -5
- package/packages/dd-trace/src/telemetry/send-data.js +1 -1
- package/packages/dd-trace/src/telemetry/telemetry.js +23 -24
- package/packages/dd-trace/src/util.js +1 -1
- package/version.js +1 -0
- package/packages/datadog-instrumentations/src/paperplane.js +0 -77
- 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/LICENSE-3rdparty.csv
CHANGED
|
@@ -37,7 +37,7 @@ dev,@types/node,MIT,Copyright Authors
|
|
|
37
37
|
dev,@eslint/eslintrc,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
|
|
38
38
|
dev,@eslint/js,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
|
|
39
39
|
dev,@msgpack/msgpack,ISC,Copyright 2019 The MessagePack Community
|
|
40
|
-
dev,@stylistic/eslint-plugin
|
|
40
|
+
dev,@stylistic/eslint-plugin,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
|
|
41
41
|
dev,axios,MIT,Copyright 2014-present Matt Zabriskie
|
|
42
42
|
dev,benchmark,MIT,Copyright 2010-2016 Mathias Bynens Robert Kieffer John-David Dalton
|
|
43
43
|
dev,body-parser,MIT,Copyright 2014 Jonathan Ong 2014-2015 Douglas Christopher Wilson
|
|
@@ -67,6 +67,7 @@ dev,sinon-chai,WTFPL and BSD-2-Clause,Copyright 2004 Sam Hocevar 2012–2017 Dom
|
|
|
67
67
|
dev,tap,ISC,Copyright 2011-2022 Isaac Z. Schlueter and Contributors
|
|
68
68
|
dev,tiktoken,MIT,Copyright (c) 2022 OpenAI, Shantanu Jain
|
|
69
69
|
dev,yaml,ISC,Copyright Eemeli Aro <eemeli@gmail.com>
|
|
70
|
+
dev,yarn-deduplicate,Apache license 2.0,Copyright [yyyy] [name of copyright owner]
|
|
70
71
|
file,aws-lambda-nodejs-runtime-interface-client,Apache 2.0,Copyright 2019 Amazon.com Inc. or its affiliates. All Rights Reserved.
|
|
71
72
|
file,profile.proto,Apache license 2.0,Copyright 2016 Google Inc.
|
|
72
73
|
file,is-git-url,MIT,Copyright (c) 2017 Jon Schlinkert.
|
package/README.md
CHANGED
|
@@ -22,6 +22,11 @@ Most of the documentation for `dd-trace` is available on these webpages:
|
|
|
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 |
|
package/index.d.ts
CHANGED
|
@@ -189,6 +189,7 @@ interface Plugins {
|
|
|
189
189
|
"http": tracer.plugins.http;
|
|
190
190
|
"http2": tracer.plugins.http2;
|
|
191
191
|
"ioredis": tracer.plugins.ioredis;
|
|
192
|
+
"iovalkey": tracer.plugins.iovalkey;
|
|
192
193
|
"jest": tracer.plugins.jest;
|
|
193
194
|
"kafkajs": tracer.plugins.kafkajs
|
|
194
195
|
"knex": tracer.plugins.knex;
|
|
@@ -208,7 +209,6 @@ interface Plugins {
|
|
|
208
209
|
"openai": tracer.plugins.openai;
|
|
209
210
|
"opensearch": tracer.plugins.opensearch;
|
|
210
211
|
"oracledb": tracer.plugins.oracledb;
|
|
211
|
-
"paperplane": tracer.plugins.paperplane;
|
|
212
212
|
"playwright": tracer.plugins.playwright;
|
|
213
213
|
"pg": tracer.plugins.pg;
|
|
214
214
|
"pino": tracer.plugins.pino;
|
|
@@ -456,7 +456,7 @@ declare namespace tracer {
|
|
|
456
456
|
rateLimit?: number,
|
|
457
457
|
|
|
458
458
|
/**
|
|
459
|
-
* Sampling rules to apply to priority
|
|
459
|
+
* Sampling rules to apply to priority sampling. Each rule is a JSON,
|
|
460
460
|
* consisting of `service` and `name`, which are regexes to match against
|
|
461
461
|
* a trace's `service` and `name`, and a corresponding `sampleRate`. If not
|
|
462
462
|
* specified, will defer to global sampling rate for all spans.
|
|
@@ -713,7 +713,12 @@ declare namespace tracer {
|
|
|
713
713
|
/** Whether to enable RASP.
|
|
714
714
|
* @default false
|
|
715
715
|
*/
|
|
716
|
-
enabled?: boolean
|
|
716
|
+
enabled?: boolean,
|
|
717
|
+
|
|
718
|
+
/** Whether to enable request body collection on RASP event
|
|
719
|
+
* @default false
|
|
720
|
+
*/
|
|
721
|
+
bodyCollection?: boolean
|
|
717
722
|
},
|
|
718
723
|
/**
|
|
719
724
|
* Configuration for stack trace reporting
|
|
@@ -733,6 +738,25 @@ declare namespace tracer {
|
|
|
733
738
|
* @default 32
|
|
734
739
|
*/
|
|
735
740
|
maxDepth?: number,
|
|
741
|
+
},
|
|
742
|
+
/**
|
|
743
|
+
* Configuration for extended headers collection tied to security events
|
|
744
|
+
*/
|
|
745
|
+
extendedHeadersCollection?: {
|
|
746
|
+
/** Whether to enable extended headers collection
|
|
747
|
+
* @default false
|
|
748
|
+
*/
|
|
749
|
+
enabled: boolean,
|
|
750
|
+
|
|
751
|
+
/** Whether to redact collected headers
|
|
752
|
+
* @default true
|
|
753
|
+
*/
|
|
754
|
+
redaction: boolean,
|
|
755
|
+
|
|
756
|
+
/** Specifies the maximum number of headers collected.
|
|
757
|
+
* @default 50
|
|
758
|
+
*/
|
|
759
|
+
maxHeaders: number,
|
|
736
760
|
}
|
|
737
761
|
}
|
|
738
762
|
|
|
@@ -800,7 +824,7 @@ declare namespace tracer {
|
|
|
800
824
|
}
|
|
801
825
|
|
|
802
826
|
/**
|
|
803
|
-
* Configuration enabling LLM Observability. Enablement is
|
|
827
|
+
* Configuration enabling LLM Observability. Enablement is superseded by the DD_LLMOBS_ENABLED environment variable.
|
|
804
828
|
*/
|
|
805
829
|
llmobs?: llmobs.LLMObsEnableOptions
|
|
806
830
|
}
|
|
@@ -855,7 +879,7 @@ declare namespace tracer {
|
|
|
855
879
|
* @param value The amount to increment the stat by.
|
|
856
880
|
* @param tags Tags to pass along, such as `{ foo: 'bar' }`. Values are combined with config.tags.
|
|
857
881
|
*/
|
|
858
|
-
increment(stat: string, value?: number, tags?: Record<string, string|number>): void
|
|
882
|
+
increment(stat: string, value?: number, tags?: Record<string, string|number> | string[]): void
|
|
859
883
|
|
|
860
884
|
/**
|
|
861
885
|
* Decrements a metric by the specified value, optionally specifying tags.
|
|
@@ -863,7 +887,7 @@ declare namespace tracer {
|
|
|
863
887
|
* @param value The amount to decrement the stat by.
|
|
864
888
|
* @param tags Tags to pass along, such as `{ foo: 'bar' }`. Values are combined with config.tags.
|
|
865
889
|
*/
|
|
866
|
-
decrement(stat: string, value?: number, tags?: Record<string, string|number>): void
|
|
890
|
+
decrement(stat: string, value?: number, tags?: Record<string, string|number> | string[]): void
|
|
867
891
|
|
|
868
892
|
/**
|
|
869
893
|
* Sets a distribution value, optionally specifying tags.
|
|
@@ -871,7 +895,7 @@ declare namespace tracer {
|
|
|
871
895
|
* @param value The amount to increment the stat by.
|
|
872
896
|
* @param tags Tags to pass along, such as `{ foo: 'bar' }`. Values are combined with config.tags.
|
|
873
897
|
*/
|
|
874
|
-
distribution(stat: string, value?: number, tags?: Record<string, string|number>): void
|
|
898
|
+
distribution(stat: string, value?: number, tags?: Record<string, string|number> | string[]): void
|
|
875
899
|
|
|
876
900
|
/**
|
|
877
901
|
* Sets a gauge value, optionally specifying tags.
|
|
@@ -879,7 +903,7 @@ declare namespace tracer {
|
|
|
879
903
|
* @param value The amount to increment the stat by.
|
|
880
904
|
* @param tags Tags to pass along, such as `{ foo: 'bar' }`. Values are combined with config.tags.
|
|
881
905
|
*/
|
|
882
|
-
gauge(stat: string, value?: number, tags?: Record<string, string|number>): void
|
|
906
|
+
gauge(stat: string, value?: number, tags?: Record<string, string|number> | string[]): void
|
|
883
907
|
|
|
884
908
|
/**
|
|
885
909
|
* Sets a histogram value, optionally specifying tags.
|
|
@@ -887,7 +911,7 @@ declare namespace tracer {
|
|
|
887
911
|
* @param value The amount to increment the stat by.
|
|
888
912
|
* @param tags Tags to pass along, such as `{ foo: 'bar' }`. Values are combined with config.tags.
|
|
889
913
|
*/
|
|
890
|
-
histogram(stat: string, value?: number, tags?: Record<string, string|number>): void
|
|
914
|
+
histogram(stat: string, value?: number, tags?: Record<string, string|number> | string[]): void
|
|
891
915
|
|
|
892
916
|
/**
|
|
893
917
|
* Forces any unsent metrics to be sent
|
|
@@ -1361,7 +1385,7 @@ declare namespace tracer {
|
|
|
1361
1385
|
* [child_process](https://nodejs.org/api/child_process.html) module.
|
|
1362
1386
|
*/
|
|
1363
1387
|
interface child_process extends Instrumentation {}
|
|
1364
|
-
|
|
1388
|
+
|
|
1365
1389
|
/**
|
|
1366
1390
|
* This plugin automatically instruments the
|
|
1367
1391
|
* [confluentinc-kafka-javascript](https://github.com/confluentinc/confluent-kafka-js) module.
|
|
@@ -1497,7 +1521,7 @@ declare namespace tracer {
|
|
|
1497
1521
|
|
|
1498
1522
|
/**
|
|
1499
1523
|
* Whether to include the source of the operation within the query as a tag
|
|
1500
|
-
* on every span. This may contain sensitive information and
|
|
1524
|
+
* on every span. This may contain sensitive information and should only be
|
|
1501
1525
|
* enabled if sensitive data is always sent as variables and not in the
|
|
1502
1526
|
* query text.
|
|
1503
1527
|
*
|
|
@@ -1666,6 +1690,53 @@ declare namespace tracer {
|
|
|
1666
1690
|
splitByInstance?: boolean;
|
|
1667
1691
|
}
|
|
1668
1692
|
|
|
1693
|
+
/**
|
|
1694
|
+
* This plugin automatically instruments the
|
|
1695
|
+
* [iovalkey](https://github.com/valkey-io/iovalkey) module.
|
|
1696
|
+
*/
|
|
1697
|
+
interface iovalkey extends Instrumentation {
|
|
1698
|
+
/**
|
|
1699
|
+
* List of commands that should be instrumented. Commands must be in
|
|
1700
|
+
* lowercase for example 'xread'.
|
|
1701
|
+
*
|
|
1702
|
+
* @default /^.*$/
|
|
1703
|
+
*/
|
|
1704
|
+
allowlist?: string | RegExp | ((command: string) => boolean) | (string | RegExp | ((command: string) => boolean))[];
|
|
1705
|
+
|
|
1706
|
+
/**
|
|
1707
|
+
* Deprecated in favor of `allowlist`.
|
|
1708
|
+
*
|
|
1709
|
+
* @deprecated
|
|
1710
|
+
* @hidden
|
|
1711
|
+
*/
|
|
1712
|
+
whitelist?: string | RegExp | ((command: string) => boolean) | (string | RegExp | ((command: string) => boolean))[];
|
|
1713
|
+
|
|
1714
|
+
/**
|
|
1715
|
+
* List of commands that should not be instrumented. Takes precedence over
|
|
1716
|
+
* allowlist if a command matches an entry in both. Commands must be in
|
|
1717
|
+
* lowercase for example 'xread'.
|
|
1718
|
+
*
|
|
1719
|
+
* @default []
|
|
1720
|
+
*/
|
|
1721
|
+
blocklist?: string | RegExp | ((command: string) => boolean) | (string | RegExp | ((command: string) => boolean))[];
|
|
1722
|
+
|
|
1723
|
+
/**
|
|
1724
|
+
* Deprecated in favor of `blocklist`.
|
|
1725
|
+
*
|
|
1726
|
+
* @deprecated
|
|
1727
|
+
* @hidden
|
|
1728
|
+
*/
|
|
1729
|
+
blacklist?: string | RegExp | ((command: string) => boolean) | (string | RegExp | ((command: string) => boolean))[];
|
|
1730
|
+
|
|
1731
|
+
/**
|
|
1732
|
+
* Whether to use a different service name for each Redis instance based
|
|
1733
|
+
* on the configured connection name of the client.
|
|
1734
|
+
*
|
|
1735
|
+
* @default false
|
|
1736
|
+
*/
|
|
1737
|
+
splitByInstance?: boolean;
|
|
1738
|
+
}
|
|
1739
|
+
|
|
1669
1740
|
/**
|
|
1670
1741
|
* This plugin automatically instruments the
|
|
1671
1742
|
* [jest](https://github.com/jestjs/jest) module.
|
|
@@ -1828,12 +1899,6 @@ declare namespace tracer {
|
|
|
1828
1899
|
service?: string | ((params: any) => string);
|
|
1829
1900
|
}
|
|
1830
1901
|
|
|
1831
|
-
/**
|
|
1832
|
-
* This plugin automatically instruments the
|
|
1833
|
-
* [paperplane](https://github.com/articulate/paperplane) module.
|
|
1834
|
-
*/
|
|
1835
|
-
interface paperplane extends HttpServer {}
|
|
1836
|
-
|
|
1837
1902
|
/**
|
|
1838
1903
|
* This plugin automatically instruments the
|
|
1839
1904
|
* [playwright](https://github.com/microsoft/playwright) module.
|
|
@@ -2437,7 +2502,7 @@ declare namespace tracer {
|
|
|
2437
2502
|
annotate (span: tracer.Span | undefined, options: llmobs.AnnotationOptions): void
|
|
2438
2503
|
|
|
2439
2504
|
/**
|
|
2440
|
-
* Submits a custom
|
|
2505
|
+
* Submits a custom evaluation metric for a given span ID and trace ID.
|
|
2441
2506
|
* @param spanContext The span context of the span to submit the evaluation metric for.
|
|
2442
2507
|
* @param options An object containing the label, metric type, value, and tags of the evaluation metric.
|
|
2443
2508
|
*/
|
|
@@ -2451,7 +2516,7 @@ declare namespace tracer {
|
|
|
2451
2516
|
|
|
2452
2517
|
interface EvaluationOptions {
|
|
2453
2518
|
/**
|
|
2454
|
-
* The name of the
|
|
2519
|
+
* The name of the evaluation metric
|
|
2455
2520
|
*/
|
|
2456
2521
|
label: string,
|
|
2457
2522
|
|
|
@@ -2575,7 +2640,7 @@ declare namespace tracer {
|
|
|
2575
2640
|
metadata?: { [key: string]: any },
|
|
2576
2641
|
|
|
2577
2642
|
/**
|
|
2578
|
-
* Object of JSON
|
|
2643
|
+
* Object of JSON serializable key-value metrics (number) pairs, such as `{input,output,total}Tokens`
|
|
2579
2644
|
*/
|
|
2580
2645
|
metrics?: { [key: string]: number },
|
|
2581
2646
|
|
|
@@ -2613,7 +2678,7 @@ declare namespace tracer {
|
|
|
2613
2678
|
|
|
2614
2679
|
/**
|
|
2615
2680
|
* The name of the ML application that the agent is orchestrating.
|
|
2616
|
-
* If not provided, the default value will be set to mlApp provided during
|
|
2681
|
+
* If not provided, the default value will be set to mlApp provided during initialization, or `DD_LLMOBS_ML_APP`.
|
|
2617
2682
|
*/
|
|
2618
2683
|
mlApp?: string,
|
|
2619
2684
|
|
|
@@ -2653,7 +2718,7 @@ declare namespace tracer {
|
|
|
2653
2718
|
mlApp?: string,
|
|
2654
2719
|
|
|
2655
2720
|
/**
|
|
2656
|
-
* Set to `true` to
|
|
2721
|
+
* Set to `true` to disable sending data that requires a Datadog Agent.
|
|
2657
2722
|
*/
|
|
2658
2723
|
agentlessEnabled?: boolean,
|
|
2659
2724
|
}
|
package/initialize.mjs
CHANGED
|
@@ -17,7 +17,6 @@ import { fileURLToPath } from 'node:url'
|
|
|
17
17
|
import {
|
|
18
18
|
load as origLoad,
|
|
19
19
|
resolve as origResolve,
|
|
20
|
-
getFormat as origGetFormat,
|
|
21
20
|
getSource as origGetSource
|
|
22
21
|
} from 'import-in-the-middle/hook.mjs'
|
|
23
22
|
|
|
@@ -26,7 +25,7 @@ function insertInit (result) {
|
|
|
26
25
|
if (!hasInsertedInit) {
|
|
27
26
|
hasInsertedInit = true
|
|
28
27
|
result.source = `
|
|
29
|
-
import '${fileURLToPath(new URL('
|
|
28
|
+
import '${fileURLToPath(new URL('init.js', import.meta.url))}';
|
|
30
29
|
${result.source}`
|
|
31
30
|
}
|
|
32
31
|
return result
|
|
@@ -45,8 +44,6 @@ export async function load (url, context, nextLoad) {
|
|
|
45
44
|
|
|
46
45
|
export const resolve = brokenLoaders ? undefined : origResolve
|
|
47
46
|
|
|
48
|
-
export const getFormat = origGetFormat
|
|
49
|
-
|
|
50
47
|
export async function getSource (...args) {
|
|
51
48
|
return insertInit(await origGetSource(...args))
|
|
52
49
|
}
|
|
@@ -60,3 +57,5 @@ if (isMainThread) {
|
|
|
60
57
|
})
|
|
61
58
|
}
|
|
62
59
|
}
|
|
60
|
+
|
|
61
|
+
export { getFormat } from 'import-in-the-middle/hook.mjs'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dd-trace",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.54.0",
|
|
4
4
|
"description": "Datadog APM tracing client for JavaScript",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"typings": "index.d.ts",
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"preinstall": "node scripts/preinstall.js",
|
|
10
10
|
"bench": "node benchmark/index.js",
|
|
11
11
|
"bench:e2e:ci-visibility": "node benchmark/e2e-ci/benchmark-run.js",
|
|
12
|
+
"dependencies:dedupe": "yarn-deduplicate yarn.lock",
|
|
12
13
|
"type:doc": "cd docs && yarn && yarn build",
|
|
13
14
|
"type:test": "cd docs && yarn && yarn test",
|
|
14
15
|
"lint": "node scripts/check_licenses.js && eslint . --max-warnings 0 && yarn audit",
|
|
@@ -83,75 +84,76 @@
|
|
|
83
84
|
"node": ">=18"
|
|
84
85
|
},
|
|
85
86
|
"dependencies": {
|
|
86
|
-
"@datadog/libdatadog": "^0.
|
|
87
|
+
"@datadog/libdatadog": "^0.6.0",
|
|
87
88
|
"@datadog/native-appsec": "8.5.2",
|
|
88
89
|
"@datadog/native-iast-taint-tracking": "4.0.0",
|
|
89
90
|
"@datadog/native-metrics": "^3.1.1",
|
|
90
91
|
"@datadog/pprof": "5.8.0",
|
|
91
|
-
"@datadog/sketches-js": "^2.1.
|
|
92
|
+
"@datadog/sketches-js": "^2.1.1",
|
|
92
93
|
"@datadog/wasm-js-rewriter": "4.0.1",
|
|
93
94
|
"@isaacs/ttlcache": "^1.4.1",
|
|
94
95
|
"@opentelemetry/api": ">=1.0.0 <1.9.0",
|
|
95
96
|
"@opentelemetry/core": "^1.14.0",
|
|
96
97
|
"crypto-randomuuid": "^1.0.0",
|
|
97
|
-
"dc-polyfill": "0.1.
|
|
98
|
+
"dc-polyfill": "0.1.9",
|
|
98
99
|
"ignore": "^5.2.4",
|
|
99
|
-
"import-in-the-middle": "1.
|
|
100
|
-
"istanbul-lib-coverage": "3.2.
|
|
100
|
+
"import-in-the-middle": "1.14.0",
|
|
101
|
+
"istanbul-lib-coverage": "3.2.2",
|
|
101
102
|
"jest-docblock": "^29.7.0",
|
|
102
103
|
"koalas": "^1.0.2",
|
|
103
104
|
"limiter": "1.1.5",
|
|
104
105
|
"lodash.sortby": "^4.7.0",
|
|
105
|
-
"lru-cache": "^7.
|
|
106
|
-
"module-details-from-path": "^1.0.
|
|
106
|
+
"lru-cache": "^7.18.3",
|
|
107
|
+
"module-details-from-path": "^1.0.4",
|
|
107
108
|
"mutexify": "^1.4.0",
|
|
108
109
|
"opentracing": ">=0.12.1",
|
|
109
110
|
"path-to-regexp": "^0.1.12",
|
|
110
111
|
"pprof-format": "^2.1.0",
|
|
111
|
-
"protobufjs": "^7.
|
|
112
|
+
"protobufjs": "^7.5.3",
|
|
112
113
|
"retry": "^0.13.1",
|
|
113
|
-
"rfdc": "^1.
|
|
114
|
+
"rfdc": "^1.4.1",
|
|
114
115
|
"semifies": "^1.0.0",
|
|
115
|
-
"shell-quote": "^1.8.
|
|
116
|
+
"shell-quote": "^1.8.2",
|
|
116
117
|
"source-map": "^0.7.4",
|
|
117
118
|
"tlhunter-sorted-set": "^0.1.0",
|
|
118
119
|
"ttl-set": "^1.0.0"
|
|
119
120
|
},
|
|
120
121
|
"devDependencies": {
|
|
121
|
-
"@babel/helpers": "^7.
|
|
122
|
-
"@eslint/eslintrc": "^3.
|
|
123
|
-
"@eslint/js": "^9.
|
|
124
|
-
"@msgpack/msgpack": "^3.
|
|
125
|
-
"@stylistic/eslint-plugin
|
|
126
|
-
"@types/node": "^
|
|
127
|
-
"axios": "^1.
|
|
122
|
+
"@babel/helpers": "^7.27.3",
|
|
123
|
+
"@eslint/eslintrc": "^3.3.1",
|
|
124
|
+
"@eslint/js": "^9.27.0",
|
|
125
|
+
"@msgpack/msgpack": "^3.1.2",
|
|
126
|
+
"@stylistic/eslint-plugin": "^4.4.0",
|
|
127
|
+
"@types/node": "^18.19.106",
|
|
128
|
+
"axios": "^1.9.0",
|
|
128
129
|
"benchmark": "^2.1.4",
|
|
129
|
-
"body-parser": "^
|
|
130
|
-
"chai": "^4.
|
|
131
|
-
"eslint": "^9.
|
|
130
|
+
"body-parser": "^2.2.0",
|
|
131
|
+
"chai": "^4.5.0",
|
|
132
|
+
"eslint": "^9.27.0",
|
|
132
133
|
"eslint-config-standard": "^17.1.0",
|
|
133
134
|
"eslint-plugin-import": "^2.31.0",
|
|
134
135
|
"eslint-plugin-mocha": "^10.5.0",
|
|
135
|
-
"eslint-plugin-n": "^17.
|
|
136
|
+
"eslint-plugin-n": "^17.18.0",
|
|
136
137
|
"eslint-plugin-promise": "^7.2.1",
|
|
137
138
|
"eslint-plugin-unicorn": "^57.0.0",
|
|
138
139
|
"express": "^4.21.2",
|
|
139
140
|
"get-port": "^5.1.1",
|
|
140
|
-
"glob": "^7.
|
|
141
|
-
"globals": "^15.
|
|
141
|
+
"glob": "^7.2.3",
|
|
142
|
+
"globals": "^15.15.0",
|
|
142
143
|
"graphql": "0.13.2",
|
|
143
|
-
"jszip": "^3.
|
|
144
|
-
"mocha": "^10",
|
|
145
|
-
"multer": "^
|
|
146
|
-
"nock": "^11.
|
|
144
|
+
"jszip": "^3.10.1",
|
|
145
|
+
"mocha": "^10.8.2",
|
|
146
|
+
"multer": "^2.0.0",
|
|
147
|
+
"nock": "^11.9.1",
|
|
147
148
|
"nyc": "^15.1.0",
|
|
148
149
|
"proxyquire": "^1.8.0",
|
|
149
|
-
"rimraf": "^3.0.
|
|
150
|
-
"semver": "^7.
|
|
151
|
-
"sinon": "^
|
|
150
|
+
"rimraf": "^3.0.2",
|
|
151
|
+
"semver": "^7.7.2",
|
|
152
|
+
"sinon": "^18.0.1",
|
|
152
153
|
"sinon-chai": "^3.7.0",
|
|
153
|
-
"tap": "^16.3.
|
|
154
|
-
"tiktoken": "^1.0.
|
|
155
|
-
"yaml": "^2.
|
|
154
|
+
"tap": "^16.3.10",
|
|
155
|
+
"tiktoken": "^1.0.21",
|
|
156
|
+
"yaml": "^2.8.0",
|
|
157
|
+
"yarn-deduplicate": "^6.0.2"
|
|
156
158
|
}
|
|
157
159
|
}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
module.exports = str
|
|
3
|
+
module.exports = function kebabcase (str) {
|
|
4
4
|
if (typeof str !== 'string') {
|
|
5
5
|
throw new TypeError('Expected a string')
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
return str
|
|
9
9
|
.trim()
|
|
10
|
-
.replace(/([a-z])([A-Z])/g, '$1-$2')
|
|
11
|
-
.replace(
|
|
12
|
-
.replace(/^-+|-+$/g, '')
|
|
13
|
-
.replace(/_/g, '-')
|
|
14
|
-
.replace(/-{2,}/g, '-')
|
|
10
|
+
.replace(/([a-z])([A-Z])/g, '$1-$2') // Convert camelCase to kebab-case
|
|
11
|
+
.replace(/[\s_]+/g, '-') // Replace spaces and underscores with a single dash
|
|
12
|
+
.replace(/^-+|-+$/g, '') // Trim leading and trailing dashes
|
|
15
13
|
.toLowerCase()
|
|
16
14
|
}
|
|
@@ -11,7 +11,7 @@ const digitRegex = /^\d+$/
|
|
|
11
11
|
* @param {Object} tags - Key/value pairs of tags
|
|
12
12
|
* @returns Object - Parsed tags
|
|
13
13
|
*/
|
|
14
|
-
module.exports = tags
|
|
14
|
+
module.exports = function parseTags (tags) {
|
|
15
15
|
const parsedTags = {}
|
|
16
16
|
for (const [tag, value] of Object.entries(tags)) {
|
|
17
17
|
const keys = tag.split('.')
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const {
|
|
4
4
|
channel,
|
|
5
|
-
addHook
|
|
6
|
-
AsyncResource
|
|
5
|
+
addHook
|
|
7
6
|
} = require('./helpers/instrument')
|
|
8
7
|
const shimmer = require('../../datadog-shimmer')
|
|
9
8
|
|
|
@@ -15,9 +14,9 @@ addHook({ name: 'amqp10', file: 'lib/sender_link.js', versions: ['>=3'] }, Sende
|
|
|
15
14
|
if (!startCh.hasSubscribers) {
|
|
16
15
|
return send.apply(this, arguments)
|
|
17
16
|
}
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
const ctx = { link: this }
|
|
18
|
+
|
|
19
|
+
return startCh.runStores(ctx, () => {
|
|
21
20
|
try {
|
|
22
21
|
const promise = send.apply(this, arguments)
|
|
23
22
|
|
|
@@ -26,12 +25,13 @@ addHook({ name: 'amqp10', file: 'lib/sender_link.js', versions: ['>=3'] }, Sende
|
|
|
26
25
|
return promise
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
promise.then(
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
promise.then(
|
|
29
|
+
() => finish(finishCh, errorCh, null, ctx),
|
|
30
|
+
e => finish(finishCh, errorCh, e, ctx)
|
|
31
|
+
)
|
|
32
32
|
return promise
|
|
33
33
|
} catch (err) {
|
|
34
|
-
finish(finishCh, errorCh, err)
|
|
34
|
+
finish(finishCh, errorCh, err, ctx)
|
|
35
35
|
throw err
|
|
36
36
|
}
|
|
37
37
|
})
|
|
@@ -47,25 +47,27 @@ addHook({ name: 'amqp10', file: 'lib/receiver_link.js', versions: ['>=3'] }, Rec
|
|
|
47
47
|
if (!transferFrame || transferFrame.aborted || transferFrame.more) {
|
|
48
48
|
return messageReceived.apply(this, arguments)
|
|
49
49
|
}
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
const ctx = { link: this }
|
|
51
|
+
|
|
52
|
+
return startCh.runStores(ctx, () => {
|
|
53
53
|
try {
|
|
54
54
|
return messageReceived.apply(this, arguments)
|
|
55
55
|
} catch (err) {
|
|
56
|
-
|
|
56
|
+
ctx.error = err
|
|
57
|
+
errorCh.publish(ctx)
|
|
57
58
|
throw err
|
|
58
59
|
} finally {
|
|
59
|
-
finishCh.publish()
|
|
60
|
+
finishCh.publish(ctx)
|
|
60
61
|
}
|
|
61
62
|
})
|
|
62
63
|
})
|
|
63
64
|
return ReceiverLink
|
|
64
65
|
})
|
|
65
66
|
|
|
66
|
-
function finish (finishCh, errorCh, error) {
|
|
67
|
+
function finish (finishCh, errorCh, error, ctx) {
|
|
67
68
|
if (error) {
|
|
68
|
-
|
|
69
|
+
ctx.error = error
|
|
70
|
+
errorCh.publish(ctx)
|
|
69
71
|
}
|
|
70
|
-
finishCh.publish()
|
|
72
|
+
finishCh.publish(ctx)
|
|
71
73
|
}
|