dd-trace 5.81.0 → 5.82.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/index.d.ts +7 -0
- package/loader-hook.mjs +7 -2
- package/package.json +13 -18
- package/packages/datadog-core/src/utils/src/parse-tags.js +1 -1
- package/packages/datadog-esbuild/index.js +8 -7
- package/packages/datadog-esbuild/src/utils.js +14 -2
- package/packages/datadog-instrumentations/src/aerospike.js +3 -2
- package/packages/datadog-instrumentations/src/ai.js +2 -2
- package/packages/datadog-instrumentations/src/amqp10.js +1 -1
- package/packages/datadog-instrumentations/src/amqplib.js +4 -4
- package/packages/datadog-instrumentations/src/anthropic.js +2 -2
- package/packages/datadog-instrumentations/src/apollo-server-core.js +2 -2
- package/packages/datadog-instrumentations/src/apollo-server.js +1 -1
- package/packages/datadog-instrumentations/src/apollo.js +3 -2
- package/packages/datadog-instrumentations/src/avsc.js +1 -1
- package/packages/datadog-instrumentations/src/aws-sdk.js +1 -1
- package/packages/datadog-instrumentations/src/azure-event-hubs.js +4 -3
- package/packages/datadog-instrumentations/src/azure-functions.js +2 -2
- package/packages/datadog-instrumentations/src/azure-service-bus.js +3 -4
- package/packages/datadog-instrumentations/src/bluebird.js +1 -1
- package/packages/datadog-instrumentations/src/bullmq.js +11 -0
- package/packages/datadog-instrumentations/src/bunyan.js +1 -1
- package/packages/datadog-instrumentations/src/cassandra-driver.js +1 -1
- package/packages/datadog-instrumentations/src/child_process.js +2 -2
- package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +3 -3
- package/packages/datadog-instrumentations/src/couchbase.js +1 -1
- package/packages/datadog-instrumentations/src/crypto.js +1 -1
- package/packages/datadog-instrumentations/src/cucumber.js +12 -13
- package/packages/datadog-instrumentations/src/cypress.js +1 -1
- package/packages/datadog-instrumentations/src/dns.js +1 -1
- package/packages/datadog-instrumentations/src/elasticsearch.js +1 -1
- package/packages/datadog-instrumentations/src/express-mongo-sanitize.js +1 -1
- package/packages/datadog-instrumentations/src/express.js +1 -1
- package/packages/datadog-instrumentations/src/fs.js +1 -1
- package/packages/datadog-instrumentations/src/generic-pool.js +1 -1
- package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +137 -15
- package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +2 -3
- package/packages/datadog-instrumentations/src/google-genai.js +3 -3
- package/packages/datadog-instrumentations/src/graphql.js +1 -1
- package/packages/datadog-instrumentations/src/grpc/client.js +1 -1
- package/packages/datadog-instrumentations/src/grpc/server.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/bundler-register.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/hook.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/hooks.js +4 -1
- package/packages/datadog-instrumentations/src/helpers/instrument.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/register.js +6 -4
- package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +2 -2
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/bullmq.json +106 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +2 -1
- package/packages/datadog-instrumentations/src/helpers/router-helper.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/shared-utils.js +9 -0
- package/packages/datadog-instrumentations/src/hono.js +55 -10
- package/packages/datadog-instrumentations/src/ioredis.js +1 -1
- package/packages/datadog-instrumentations/src/iovalkey.js +1 -1
- package/packages/datadog-instrumentations/src/jest.js +2 -2
- package/packages/datadog-instrumentations/src/kafkajs.js +3 -3
- package/packages/datadog-instrumentations/src/knex.js +1 -1
- package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
- package/packages/datadog-instrumentations/src/light-my-request.js +93 -0
- package/packages/datadog-instrumentations/src/limitd-client.js +1 -1
- package/packages/datadog-instrumentations/src/lodash.js +1 -2
- package/packages/datadog-instrumentations/src/mariadb.js +1 -2
- package/packages/datadog-instrumentations/src/memcached.js +1 -1
- package/packages/datadog-instrumentations/src/mongodb-core.js +1 -1
- package/packages/datadog-instrumentations/src/mongodb.js +1 -1
- package/packages/datadog-instrumentations/src/mongoose.js +1 -1
- package/packages/datadog-instrumentations/src/mquery.js +1 -1
- package/packages/datadog-instrumentations/src/mysql.js +1 -1
- package/packages/datadog-instrumentations/src/mysql2.js +1 -1
- package/packages/datadog-instrumentations/src/net.js +1 -1
- package/packages/datadog-instrumentations/src/next.js +1 -1
- package/packages/datadog-instrumentations/src/nyc.js +1 -1
- package/packages/datadog-instrumentations/src/openai.js +2 -2
- package/packages/datadog-instrumentations/src/opensearch.js +1 -1
- package/packages/datadog-instrumentations/src/oracledb.js +1 -1
- package/packages/datadog-instrumentations/src/otel-sdk-trace.js +1 -1
- package/packages/datadog-instrumentations/src/pg.js +3 -3
- package/packages/datadog-instrumentations/src/pino.js +1 -1
- package/packages/datadog-instrumentations/src/playwright.js +1 -1
- package/packages/datadog-instrumentations/src/prisma.js +52 -37
- package/packages/datadog-instrumentations/src/process.js +1 -1
- package/packages/datadog-instrumentations/src/promise-js.js +1 -1
- package/packages/datadog-instrumentations/src/promise.js +1 -1
- package/packages/datadog-instrumentations/src/protobufjs.js +1 -1
- package/packages/datadog-instrumentations/src/q.js +1 -1
- package/packages/datadog-instrumentations/src/redis.js +1 -1
- package/packages/datadog-instrumentations/src/rhea.js +1 -1
- package/packages/datadog-instrumentations/src/selenium.js +1 -1
- package/packages/datadog-instrumentations/src/sequelize.js +1 -2
- package/packages/datadog-instrumentations/src/sharedb.js +1 -1
- package/packages/datadog-instrumentations/src/tedious.js +1 -1
- package/packages/datadog-instrumentations/src/undici.js +4 -4
- package/packages/datadog-instrumentations/src/url.js +1 -1
- package/packages/datadog-instrumentations/src/vitest.js +1 -1
- package/packages/datadog-instrumentations/src/vm.js +1 -1
- package/packages/datadog-instrumentations/src/when.js +1 -1
- package/packages/datadog-instrumentations/src/winston.js +1 -1
- package/packages/datadog-instrumentations/src/ws.js +3 -2
- package/packages/datadog-plugin-amqp10/src/index.js +1 -1
- package/packages/datadog-plugin-amqplib/src/index.js +1 -1
- package/packages/datadog-plugin-anthropic/src/index.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/dynamodb.js +4 -4
- package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +2 -2
- package/packages/datadog-plugin-aws-sdk/src/util.js +3 -3
- package/packages/datadog-plugin-azure-event-hubs/src/index.js +1 -1
- package/packages/datadog-plugin-azure-event-hubs/src/producer.js +19 -5
- package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
- package/packages/datadog-plugin-azure-service-bus/src/producer.js +4 -0
- package/packages/datadog-plugin-bullmq/src/consumer.js +60 -0
- package/packages/datadog-plugin-bullmq/src/index.js +18 -0
- package/packages/datadog-plugin-bullmq/src/producer.js +178 -0
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
- package/packages/datadog-plugin-cypress/src/plugin.js +1 -1
- package/packages/datadog-plugin-express/src/index.js +1 -1
- package/packages/datadog-plugin-fastify/src/index.js +1 -1
- package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +13 -3
- package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +171 -12
- package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -2
- package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +160 -13
- package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +217 -0
- package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +1 -1
- package/packages/datadog-plugin-google-genai/src/index.js +1 -1
- package/packages/datadog-plugin-graphql/src/resolve.js +1 -1
- package/packages/datadog-plugin-grpc/src/index.js +1 -1
- package/packages/datadog-plugin-http/src/client.js +2 -1
- package/packages/datadog-plugin-http/src/index.js +25 -5
- package/packages/datadog-plugin-http2/src/client.js +2 -2
- package/packages/datadog-plugin-http2/src/index.js +1 -1
- package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
- package/packages/datadog-plugin-langchain/src/index.js +1 -1
- package/packages/datadog-plugin-moleculer/src/index.js +1 -1
- package/packages/datadog-plugin-mongodb-core/src/index.js +6 -2
- package/packages/datadog-plugin-openai/src/index.js +1 -1
- package/packages/datadog-plugin-openai/src/stream-helpers.js +30 -10
- package/packages/datadog-plugin-openai/src/tracing.js +2 -2
- package/packages/datadog-plugin-rhea/src/index.js +1 -1
- package/packages/datadog-plugin-ws/src/close.js +56 -3
- package/packages/datadog-plugin-ws/src/index.js +4 -0
- package/packages/datadog-plugin-ws/src/producer.js +39 -4
- package/packages/datadog-plugin-ws/src/receiver.js +39 -3
- package/packages/datadog-plugin-ws/src/server.js +13 -1
- package/packages/datadog-plugin-ws/src/util.js +107 -0
- package/packages/datadog-shimmer/src/shimmer.js +2 -2
- package/packages/dd-trace/src/aiguard/sdk.js +3 -3
- package/packages/dd-trace/src/appsec/graphql.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/code-injection-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/command-injection-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-base-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/injection-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/ldap-injection-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +3 -3
- package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/ssrf-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/untrusted-deserialization-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/weak-cipher-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/weak-hash-analyzer.js +3 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/weak-randomness-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/iast-plugin.js +3 -3
- package/packages/dd-trace/src/appsec/iast/index.js +5 -5
- package/packages/dd-trace/src/appsec/iast/security-controls/index.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +1 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +10 -14
- package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +1 -1
- package/packages/dd-trace/src/appsec/iast/telemetry/namespaces.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +3 -3
- package/packages/dd-trace/src/appsec/index.js +8 -8
- package/packages/dd-trace/src/appsec/rasp/command_injection.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/index.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/lfi.js +1 -1
- package/packages/dd-trace/src/appsec/rc-products.js +10 -0
- package/packages/dd-trace/src/appsec/recommended.json +230 -3
- package/packages/dd-trace/src/appsec/remote_config.js +177 -0
- package/packages/dd-trace/src/appsec/reporter.js +3 -3
- package/packages/dd-trace/src/appsec/rule_manager.js +37 -20
- package/packages/dd-trace/src/appsec/sdk/index.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/set_user.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/track_event.js +2 -2
- package/packages/dd-trace/src/appsec/sdk/user_blocking.js +2 -2
- package/packages/dd-trace/src/appsec/user_tracking.js +2 -2
- package/packages/dd-trace/src/appsec/waf/index.js +17 -3
- package/packages/dd-trace/src/appsec/waf/waf_manager.js +11 -0
- package/packages/dd-trace/src/azure_metadata.js +8 -2
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +6 -0
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -2
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +1 -1
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +1 -1
- package/packages/dd-trace/src/config/remote_config.js +34 -0
- package/packages/dd-trace/src/config.js +29 -28
- package/packages/dd-trace/src/config_defaults.js +2 -1
- package/packages/dd-trace/src/constants.js +5 -0
- package/packages/dd-trace/src/crashtracking/crashtracker.js +10 -1
- package/packages/dd-trace/src/datastreams/checkpointer.js +2 -2
- package/packages/dd-trace/src/datastreams/index.js +1 -1
- package/packages/dd-trace/src/datastreams/pathway.js +7 -7
- package/packages/dd-trace/src/datastreams/processor.js +2 -2
- package/packages/dd-trace/src/datastreams/writer.js +2 -2
- package/packages/dd-trace/src/debugger/config.js +1 -0
- package/packages/dd-trace/src/debugger/devtools_client/config.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/index.js +7 -2
- package/packages/dd-trace/src/debugger/devtools_client/send.js +3 -3
- package/packages/dd-trace/src/debugger/devtools_client/session.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +5 -5
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +2 -2
- package/packages/dd-trace/src/debugger/devtools_client/state.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/status.js +2 -2
- package/packages/dd-trace/src/debugger/index.js +1 -1
- package/packages/dd-trace/src/dogstatsd.js +3 -2
- package/packages/dd-trace/src/encode/0.4.js +1 -1
- package/packages/dd-trace/src/encode/agentless-ci-visibility.js +2 -2
- package/packages/dd-trace/src/encode/coverage-ci-visibility.js +1 -1
- package/packages/dd-trace/src/encode/span-stats.js +6 -1
- package/packages/dd-trace/src/exporter.js +2 -2
- package/packages/dd-trace/src/exporters/agent/index.js +1 -1
- package/packages/dd-trace/src/exporters/common/agent-info-exporter.js +1 -1
- package/packages/dd-trace/src/exporters/common/request.js +2 -2
- package/packages/dd-trace/src/exporters/common/writer.js +1 -1
- package/packages/dd-trace/src/exporters/span-stats/index.js +1 -1
- package/packages/dd-trace/src/external-logger/src/index.js +1 -2
- package/packages/dd-trace/src/flare/index.js +1 -1
- package/packages/dd-trace/src/guardrails/index.js +6 -3
- package/packages/dd-trace/src/id.js +1 -1
- package/packages/dd-trace/src/index.js +1 -1
- package/packages/dd-trace/src/lambda/handler.js +4 -4
- package/packages/dd-trace/src/lambda/index.js +1 -1
- 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/constants/tags.js +7 -1
- package/packages/dd-trace/src/llmobs/index.js +8 -9
- package/packages/dd-trace/src/llmobs/plugins/ai/index.js +38 -7
- package/packages/dd-trace/src/llmobs/plugins/ai/util.js +30 -9
- package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +3 -3
- package/packages/dd-trace/src/llmobs/plugins/genai/util.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chain.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/embedding.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/llm.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +16 -0
- package/packages/dd-trace/src/llmobs/plugins/openai/index.js +16 -1
- package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +22 -10
- package/packages/dd-trace/src/llmobs/plugins/vertexai.js +1 -1
- package/packages/dd-trace/src/llmobs/sdk.js +15 -22
- package/packages/dd-trace/src/llmobs/span_processor.js +9 -13
- package/packages/dd-trace/src/llmobs/telemetry.js +3 -4
- package/packages/dd-trace/src/llmobs/writers/base.js +2 -2
- package/packages/dd-trace/src/llmobs/writers/spans.js +1 -2
- package/packages/dd-trace/src/log/index.js +1 -1
- package/packages/dd-trace/src/noop/proxy.js +2 -2
- package/packages/dd-trace/src/noop/span.js +1 -1
- package/packages/dd-trace/src/openfeature/index.js +2 -2
- package/packages/dd-trace/src/openfeature/noop.js +14 -14
- package/packages/dd-trace/src/openfeature/remote_config.js +31 -0
- package/packages/dd-trace/src/openfeature/writers/base.js +5 -5
- package/packages/dd-trace/src/openfeature/writers/exposures.js +9 -9
- package/packages/dd-trace/src/opentelemetry/context_manager.js +2 -2
- package/packages/dd-trace/src/opentelemetry/logs/logger.js +1 -1
- package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +4 -4
- package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +9 -8
- package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +3 -3
- package/packages/dd-trace/src/opentelemetry/metrics/meter.js +2 -2
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +4 -4
- package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +36 -11
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +11 -10
- package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +1 -1
- package/packages/dd-trace/src/opentelemetry/span.js +2 -2
- package/packages/dd-trace/src/opentelemetry/tracer.js +3 -3
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +24 -8
- package/packages/dd-trace/src/opentracing/span.js +3 -3
- package/packages/dd-trace/src/opentracing/tracer.js +5 -5
- package/packages/dd-trace/src/payload-tagging/index.js +6 -2
- package/packages/dd-trace/src/plugin_manager.js +1 -1
- package/packages/dd-trace/src/plugins/apollo.js +1 -1
- package/packages/dd-trace/src/plugins/ci_plugin.js +27 -27
- package/packages/dd-trace/src/plugins/database.js +1 -1
- package/packages/dd-trace/src/plugins/index.js +5 -1
- package/packages/dd-trace/src/plugins/log_plugin.js +1 -1
- package/packages/dd-trace/src/plugins/outbound.js +1 -1
- package/packages/dd-trace/src/plugins/tracing.js +1 -1
- package/packages/dd-trace/src/plugins/util/ci.js +1 -1
- package/packages/dd-trace/src/plugins/util/git.js +8 -8
- package/packages/dd-trace/src/plugins/util/stacktrace.js +1 -1
- package/packages/dd-trace/src/plugins/util/test.js +24 -24
- package/packages/dd-trace/src/plugins/util/user-provided-git.js +1 -1
- package/packages/dd-trace/src/plugins/util/web.js +8 -5
- package/packages/dd-trace/src/priority_sampler.js +15 -16
- package/packages/dd-trace/src/process-tags/index.js +31 -29
- package/packages/dd-trace/src/profiling/config.js +32 -21
- package/packages/dd-trace/src/profiling/exporter_cli.js +4 -4
- package/packages/dd-trace/src/profiling/exporters/agent.js +5 -5
- package/packages/dd-trace/src/profiling/index.js +1 -1
- package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
- package/packages/dd-trace/src/profiling/profiler.js +4 -5
- package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
- package/packages/dd-trace/src/profiling/profilers/events.js +2 -2
- package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
- package/packages/dd-trace/src/proxy.js +12 -18
- package/packages/dd-trace/src/remote_config/index.js +541 -137
- package/packages/dd-trace/src/require-package-json.js +1 -1
- package/packages/dd-trace/src/ritm.js +50 -27
- package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +1 -1
- package/packages/dd-trace/src/serverless.js +16 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +8 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +8 -0
- package/packages/dd-trace/src/span_format.js +1 -1
- package/packages/dd-trace/src/span_processor.js +2 -2
- package/packages/dd-trace/src/span_stats.js +6 -4
- package/packages/dd-trace/src/standalone/index.js +1 -1
- package/packages/dd-trace/src/startup-log.js +3 -3
- package/packages/dd-trace/src/supported-configurations.json +3 -0
- package/packages/dd-trace/src/telemetry/dependencies.js +3 -3
- package/packages/dd-trace/src/telemetry/endpoints.js +8 -8
- package/packages/dd-trace/src/telemetry/logs/index.js +1 -1
- package/packages/dd-trace/src/telemetry/telemetry.js +11 -6
- package/packages/dd-trace/src/tracer.js +3 -3
- package/packages/dd-trace/src/tracer_metadata.js +19 -15
- package/packages/dd-trace/src/remote_config/manager.js +0 -368
|
@@ -12,7 +12,7 @@ const fs = require('fs')
|
|
|
12
12
|
* @typedef { import('module').Module } Module
|
|
13
13
|
* @param {string} name
|
|
14
14
|
* @param {Module} module
|
|
15
|
-
* @returns {
|
|
15
|
+
* @returns {object} The parsed package.json
|
|
16
16
|
*/
|
|
17
17
|
function requirePackageJson (name, module) {
|
|
18
18
|
if (path.isAbsolute(name)) {
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const path = require('path')
|
|
4
|
+
const fs = require('fs')
|
|
4
5
|
const Module = require('module')
|
|
5
|
-
|
|
6
|
+
|
|
6
7
|
const dc = require('dc-polyfill')
|
|
8
|
+
|
|
9
|
+
const parse = require('../../../vendor/dist/module-details-from-path')
|
|
7
10
|
const { getEnvironmentVariable } = require('../../dd-trace/src/config-helper')
|
|
11
|
+
const { isRelativeRequire } = require('../../datadog-instrumentations/src/helpers/shared-utils')
|
|
8
12
|
|
|
9
13
|
const origRequire = Module.prototype.require
|
|
10
|
-
|
|
11
14
|
// derived from require-in-the-middle@3 with tweaks
|
|
12
15
|
|
|
13
16
|
module.exports = Hook
|
|
@@ -64,7 +67,6 @@ function Hook (modules, options, onrequire) {
|
|
|
64
67
|
} catch {
|
|
65
68
|
return _origRequire.apply(this, arguments)
|
|
66
69
|
}
|
|
67
|
-
|
|
68
70
|
const core = !filename.includes(path.sep)
|
|
69
71
|
let name, basedir, hooks
|
|
70
72
|
// return known patched modules immediately
|
|
@@ -117,32 +119,41 @@ function Hook (modules, options, onrequire) {
|
|
|
117
119
|
// decide how to assign the stat
|
|
118
120
|
// first case will only happen when patching an AWS Lambda Handler
|
|
119
121
|
const stat = inAWSLambda && hasLambdaHandler && !filenameFromNodeModule ? { name: filename } : parse(filename)
|
|
120
|
-
if (!stat) return exports // abort if filename could not be parsed
|
|
121
|
-
name = stat.name
|
|
122
|
-
basedir = stat.basedir
|
|
123
|
-
|
|
124
|
-
hooks = moduleHooks[name]
|
|
125
|
-
if (!hooks) return exports // abort if module name isn't on whitelist
|
|
126
122
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
123
|
+
if (stat) {
|
|
124
|
+
name = stat.name
|
|
125
|
+
basedir = stat.basedir
|
|
126
|
+
|
|
127
|
+
hooks = moduleHooks[name]
|
|
128
|
+
if (!hooks) return exports // abort if module name isn't on whitelist
|
|
129
|
+
|
|
130
|
+
const paths = Module._resolveLookupPaths(name, this, true)
|
|
131
|
+
if (!paths) {
|
|
132
|
+
// abort if _resolveLookupPaths return null
|
|
133
|
+
return exports
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
let res
|
|
137
|
+
try {
|
|
138
|
+
res = Module._findPath(name, [basedir, ...paths])
|
|
139
|
+
} catch {
|
|
140
|
+
// case where the file specified in package.json "main" doesn't exist
|
|
141
|
+
// in this case, the file is treated as module-internal
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if (!res || res !== filename) {
|
|
145
|
+
// this is a module-internal file
|
|
146
|
+
// use the module-relative path to the file, prefixed by original module name
|
|
147
|
+
name = name + path.sep + path.relative(basedir, filename)
|
|
148
|
+
}
|
|
149
|
+
} else {
|
|
150
|
+
if (isRelativeRequire(request) && moduleHooks[request]) {
|
|
151
|
+
hooks = moduleHooks[request]
|
|
152
|
+
name = request
|
|
153
|
+
basedir = findProjectRoot(filename)
|
|
154
|
+
}
|
|
141
155
|
|
|
142
|
-
|
|
143
|
-
// this is a module-internal file
|
|
144
|
-
// use the module-relative path to the file, prefixed by original module name
|
|
145
|
-
name = name + path.sep + path.relative(basedir, filename)
|
|
156
|
+
if (!hooks) return exports
|
|
146
157
|
}
|
|
147
158
|
}
|
|
148
159
|
|
|
@@ -167,6 +178,18 @@ Hook.reset = function () {
|
|
|
167
178
|
moduleHooks = Object.create(null)
|
|
168
179
|
}
|
|
169
180
|
|
|
181
|
+
function findProjectRoot (startDir) {
|
|
182
|
+
let dir = startDir
|
|
183
|
+
|
|
184
|
+
while (!fs.existsSync(path.join(dir, 'package.json'))) {
|
|
185
|
+
const parent = path.dirname(dir)
|
|
186
|
+
if (parent === dir) break
|
|
187
|
+
dir = parent
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return dir
|
|
191
|
+
}
|
|
192
|
+
|
|
170
193
|
Hook.prototype.unhook = function () {
|
|
171
194
|
for (const mod of this.modules) {
|
|
172
195
|
const hooks = (moduleHooks[mod] || []).filter(hook => hook !== this.onrequire)
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
const v8 = require('v8')
|
|
6
6
|
const os = require('os')
|
|
7
7
|
const process = require('process')
|
|
8
|
+
const { performance, PerformanceObserver, monitorEventLoopDelay } = require('perf_hooks')
|
|
8
9
|
const { DogStatsDClient, MetricsAggregationClient } = require('../dogstatsd')
|
|
9
10
|
const log = require('../log')
|
|
10
|
-
const { performance, PerformanceObserver, monitorEventLoopDelay } = require('perf_hooks')
|
|
11
11
|
const { getEnvironmentVariable } = require('../config-helper')
|
|
12
12
|
|
|
13
13
|
const { NODE_MAJOR } = require('../../../../version')
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const { getEnvironmentVariable } = require('./config-helper')
|
|
4
|
+
const { isFalse } = require('./util')
|
|
4
5
|
|
|
5
6
|
function getIsGCPFunction () {
|
|
6
7
|
const isDeprecatedGCPFunction =
|
|
@@ -13,6 +14,15 @@ function getIsGCPFunction () {
|
|
|
13
14
|
return isDeprecatedGCPFunction || isNewerGCPFunction
|
|
14
15
|
}
|
|
15
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Enable GCP Pub/Sub PUSH subscription tracing for Cloud Run (K_SERVICE present).
|
|
19
|
+
* PUSH: GCP sends HTTP POST requests to the service with message data in headers.
|
|
20
|
+
*/
|
|
21
|
+
function enableGCPPubSubPushSubscription () {
|
|
22
|
+
const isGCPPubSubPushSubscriptionEnabled = getEnvironmentVariable('DD_TRACE_GCP_PUBSUB_PUSH_ENABLED')
|
|
23
|
+
return getEnvironmentVariable('K_SERVICE') !== undefined && !isFalse(isGCPPubSubPushSubscriptionEnabled)
|
|
24
|
+
}
|
|
25
|
+
|
|
16
26
|
function getIsAzureFunction () {
|
|
17
27
|
const isAzureFunction =
|
|
18
28
|
getEnvironmentVariable('FUNCTIONS_EXTENSION_VERSION') !== undefined &&
|
|
@@ -21,6 +31,10 @@ function getIsAzureFunction () {
|
|
|
21
31
|
return isAzureFunction
|
|
22
32
|
}
|
|
23
33
|
|
|
34
|
+
function getIsFlexConsumptionAzureFunction () {
|
|
35
|
+
return getIsAzureFunction() && getEnvironmentVariable('WEBSITE_SKU') === 'FlexConsumption'
|
|
36
|
+
}
|
|
37
|
+
|
|
24
38
|
function isInServerlessEnvironment () {
|
|
25
39
|
const inAWSLambda = getEnvironmentVariable('AWS_LAMBDA_FUNCTION_NAME') !== undefined
|
|
26
40
|
const isGCPFunction = getIsGCPFunction()
|
|
@@ -32,5 +46,7 @@ function isInServerlessEnvironment () {
|
|
|
32
46
|
module.exports = {
|
|
33
47
|
getIsGCPFunction,
|
|
34
48
|
getIsAzureFunction,
|
|
49
|
+
enableGCPPubSubPushSubscription,
|
|
50
|
+
getIsFlexConsumptionAzureFunction,
|
|
35
51
|
isInServerlessEnvironment
|
|
36
52
|
}
|
|
@@ -47,6 +47,10 @@ const messaging = {
|
|
|
47
47
|
sns: {
|
|
48
48
|
opName: () => 'aws.request',
|
|
49
49
|
serviceName: awsServiceV0
|
|
50
|
+
},
|
|
51
|
+
bullmq: {
|
|
52
|
+
opName: () => 'bullmq.add',
|
|
53
|
+
serviceName: ({ tracerService }) => `${tracerService}-bullmq`
|
|
50
54
|
}
|
|
51
55
|
},
|
|
52
56
|
consumer: {
|
|
@@ -77,6 +81,10 @@ const messaging = {
|
|
|
77
81
|
sqs: {
|
|
78
82
|
opName: () => 'aws.request',
|
|
79
83
|
serviceName: awsServiceV0
|
|
84
|
+
},
|
|
85
|
+
bullmq: {
|
|
86
|
+
opName: () => 'bullmq.processJob',
|
|
87
|
+
serviceName: ({ tracerService }) => `${tracerService}-bullmq`
|
|
80
88
|
}
|
|
81
89
|
},
|
|
82
90
|
client: {
|
|
@@ -44,6 +44,10 @@ const messaging = {
|
|
|
44
44
|
sns: {
|
|
45
45
|
opName: () => 'aws.sns.send',
|
|
46
46
|
serviceName: identityService
|
|
47
|
+
},
|
|
48
|
+
bullmq: {
|
|
49
|
+
opName: () => 'bullmq.add',
|
|
50
|
+
serviceName: identityService
|
|
47
51
|
}
|
|
48
52
|
},
|
|
49
53
|
consumer: {
|
|
@@ -65,6 +69,10 @@ const messaging = {
|
|
|
65
69
|
sqs: {
|
|
66
70
|
opName: () => 'aws.sqs.process',
|
|
67
71
|
serviceName: identityService
|
|
72
|
+
},
|
|
73
|
+
bullmq: {
|
|
74
|
+
opName: () => 'bullmq.processJob',
|
|
75
|
+
serviceName: identityService
|
|
68
76
|
}
|
|
69
77
|
},
|
|
70
78
|
client: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const constants = require('./constants')
|
|
4
3
|
const tags = require('../../../ext/tags')
|
|
4
|
+
const constants = require('./constants')
|
|
5
5
|
const id = require('./id')
|
|
6
6
|
const { isError } = require('./util')
|
|
7
7
|
const { registerExtraService } = require('./service-naming/extra-services')
|
|
@@ -5,7 +5,7 @@ const spanFormat = require('./span_format')
|
|
|
5
5
|
const SpanSampler = require('./span_sampler')
|
|
6
6
|
const GitMetadataTagger = require('./git_metadata_tagger')
|
|
7
7
|
const { getEnvironmentVariable } = require('./config-helper')
|
|
8
|
-
const
|
|
8
|
+
const processTags = require('./process-tags')
|
|
9
9
|
|
|
10
10
|
const startedSpans = new WeakSet()
|
|
11
11
|
const finishedSpans = new WeakSet()
|
|
@@ -27,7 +27,7 @@ class SpanProcessor {
|
|
|
27
27
|
this._gitMetadataTagger = new GitMetadataTagger(config)
|
|
28
28
|
|
|
29
29
|
this._processTags = config.propagateProcessTags?.enabled
|
|
30
|
-
?
|
|
30
|
+
? processTags.serialized
|
|
31
31
|
: false
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const os = require('os')
|
|
4
|
-
const { version } = require('./pkg')
|
|
3
|
+
const os = require('node:os')
|
|
5
4
|
const pkg = require('../../../package.json')
|
|
6
5
|
|
|
7
6
|
const { LogCollapsingLowestDenseDDSketch } = require('../../../vendor/dist/@datadog/sketches-js')
|
|
8
|
-
const { ORIGIN_KEY, TOP_LEVEL_KEY } = require('./constants')
|
|
9
7
|
const {
|
|
10
8
|
MEASURED,
|
|
11
9
|
HTTP_STATUS_CODE,
|
|
@@ -13,6 +11,9 @@ const {
|
|
|
13
11
|
HTTP_ROUTE,
|
|
14
12
|
HTTP_METHOD
|
|
15
13
|
} = require('../../../ext/tags')
|
|
14
|
+
const { ORIGIN_KEY, TOP_LEVEL_KEY } = require('./constants')
|
|
15
|
+
const { version } = require('./pkg')
|
|
16
|
+
const processTags = require('./process-tags')
|
|
16
17
|
|
|
17
18
|
const { SpanStatsExporter } = require('./exporters/span-stats')
|
|
18
19
|
|
|
@@ -176,7 +177,8 @@ class SpanStatsProcessor {
|
|
|
176
177
|
Lang: 'javascript',
|
|
177
178
|
TracerVersion: pkg.version,
|
|
178
179
|
RuntimeID: this.tags['runtime-id'],
|
|
179
|
-
Sequence: ++this.sequence
|
|
180
|
+
Sequence: ++this.sequence,
|
|
181
|
+
ProcessTags: processTags.serialized
|
|
180
182
|
})
|
|
181
183
|
}
|
|
182
184
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const { channel } = require('dc-polyfill')
|
|
4
|
-
const TraceSourcePrioritySampler = require('./tracesource_priority_sampler')
|
|
5
4
|
const { USER_KEEP } = require('../../../../ext/priority')
|
|
6
5
|
const TraceState = require('../opentracing/propagation/tracestate')
|
|
7
6
|
const { APM_TRACING_ENABLED_KEY } = require('../constants')
|
|
7
|
+
const TraceSourcePrioritySampler = require('./tracesource_priority_sampler')
|
|
8
8
|
const { hasTraceSourcePropagationTag } = require('./tracesource')
|
|
9
9
|
|
|
10
10
|
const startCh = channel('dd-trace:span:start')
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { info, warn } = require('./log/writer')
|
|
4
|
-
|
|
5
3
|
const os = require('os')
|
|
6
4
|
const { inspect } = require('util')
|
|
7
|
-
|
|
5
|
+
|
|
8
6
|
const tracerVersion = require('../../../package.json').version
|
|
7
|
+
const defaults = require('./config_defaults')
|
|
8
|
+
const { info, warn } = require('./log/writer')
|
|
9
9
|
|
|
10
10
|
const errors = {}
|
|
11
11
|
let config
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"DD_APPSEC_STACK_TRACE_ENABLED": ["A"],
|
|
38
38
|
"DD_APPSEC_TRACE_RATE_LIMIT": ["A"],
|
|
39
39
|
"DD_APPSEC_WAF_TIMEOUT": ["A"],
|
|
40
|
+
"DD_AZURE_RESOURCE_GROUP": ["A"],
|
|
40
41
|
"DD_CIVISIBILITY_AGENTLESS_ENABLED": ["A"],
|
|
41
42
|
"DD_CIVISIBILITY_AGENTLESS_URL": ["A"],
|
|
42
43
|
"DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER": ["A"],
|
|
@@ -162,6 +163,7 @@
|
|
|
162
163
|
"DD_RUNTIME_METRICS_GC_ENABLED": ["A"],
|
|
163
164
|
"DD_RUNTIME_METRICS_FLUSH_INTERVAL": ["A"],
|
|
164
165
|
"DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED": ["A"],
|
|
166
|
+
"DD_TRACE_GCP_PUBSUB_PUSH_ENABLED": ["A"],
|
|
165
167
|
"DD_SERVICE_MAPPING": ["A"],
|
|
166
168
|
"DD_SERVICE": ["A"],
|
|
167
169
|
"DD_SITE": ["A"],
|
|
@@ -243,6 +245,7 @@
|
|
|
243
245
|
"DD_TRACE_BAGGAGE_TAG_KEYS": ["A"],
|
|
244
246
|
"DD_TRACE_BEAUTIFUL_LOGS": ["A"],
|
|
245
247
|
"DD_TRACE_BLUEBIRD_ENABLED": ["A"],
|
|
248
|
+
"DD_TRACE_BULLMQ_ENABLED": ["A"],
|
|
246
249
|
"DD_TRACE_BODY_PARSER_ENABLED": ["A"],
|
|
247
250
|
"DD_TRACE_BSON_ENABLED": ["A"],
|
|
248
251
|
"DD_TRACE_BUNYAN_ENABLED": ["A"],
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const path = require('path')
|
|
4
|
+
const { fileURLToPath } = require('url')
|
|
5
|
+
const dc = require('dc-polyfill')
|
|
4
6
|
const parse = require('../../../../vendor/dist/module-details-from-path')
|
|
5
7
|
const requirePackageJson = require('../require-package-json')
|
|
6
|
-
const { sendData } = require('./send-data')
|
|
7
|
-
const dc = require('dc-polyfill')
|
|
8
|
-
const { fileURLToPath } = require('url')
|
|
9
8
|
const { isTrue } = require('../../src/util')
|
|
9
|
+
const { sendData } = require('./send-data')
|
|
10
10
|
|
|
11
11
|
/** @type {Set<string>} */
|
|
12
12
|
const savedDependenciesToSend = new Set()
|
|
@@ -15,7 +15,7 @@ let updateRetryData
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Keep track of endpoints that still need to be sent.
|
|
18
|
-
* Map key is `${METHOD} ${PATH}`, value is { method, path }
|
|
18
|
+
* Map key is `${METHOD} ${PATH}`, value is { method, path, operationName }
|
|
19
19
|
*/
|
|
20
20
|
const pendingEndpoints = new Map()
|
|
21
21
|
const wildcardEndpoints = new Set()
|
|
@@ -32,11 +32,11 @@ function scheduleFlush () {
|
|
|
32
32
|
setImmediate(flushAndSend).unref()
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
function recordEndpoint (method, path) {
|
|
35
|
+
function recordEndpoint (method, path, operationName) {
|
|
36
36
|
const key = endpointKey(method, path)
|
|
37
37
|
if (pendingEndpoints.has(key)) return
|
|
38
38
|
|
|
39
|
-
pendingEndpoints.set(key, { method: method.toUpperCase(), path })
|
|
39
|
+
pendingEndpoints.set(key, { method: method.toUpperCase(), path, operationName })
|
|
40
40
|
scheduleFlush()
|
|
41
41
|
}
|
|
42
42
|
|
|
@@ -46,7 +46,7 @@ function onFastifyRoute (routeData) {
|
|
|
46
46
|
|
|
47
47
|
const methods = Array.isArray(routeOptions.method) ? routeOptions.method : [routeOptions.method]
|
|
48
48
|
for (const method of methods) {
|
|
49
|
-
recordEndpoint(method, routeOptions.path)
|
|
49
|
+
recordEndpoint(method, routeOptions.path, 'fastify.request')
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -56,7 +56,7 @@ function onExpressRoute ({ method, path }) {
|
|
|
56
56
|
// If wildcard already recorded for this path, skip specific methods
|
|
57
57
|
if (wildcardEndpoints.has(path)) return
|
|
58
58
|
|
|
59
|
-
recordEndpoint(method, path)
|
|
59
|
+
recordEndpoint(method, path, 'express.request')
|
|
60
60
|
|
|
61
61
|
// If this is a wildcard event, record it and mark path as wildcarded
|
|
62
62
|
if (method === '*') {
|
|
@@ -66,17 +66,17 @@ function onExpressRoute ({ method, path }) {
|
|
|
66
66
|
|
|
67
67
|
// Express automatically adds HEAD support for GET routes
|
|
68
68
|
if (method.toUpperCase() === 'GET') {
|
|
69
|
-
recordEndpoint('HEAD', path)
|
|
69
|
+
recordEndpoint('HEAD', path, 'express.request')
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
function buildEndpointObjects (endpoints) {
|
|
74
|
-
return endpoints.map(({ method, path }) => {
|
|
74
|
+
return endpoints.map(({ method, path, operationName }) => {
|
|
75
75
|
return {
|
|
76
76
|
type: 'REST',
|
|
77
77
|
method,
|
|
78
78
|
path,
|
|
79
|
-
operation_name:
|
|
79
|
+
operation_name: operationName,
|
|
80
80
|
resource_name: endpointKey(method, path)
|
|
81
81
|
}
|
|
82
82
|
})
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const dc = require('dc-polyfill')
|
|
4
|
-
const logCollector = require('./log-collector')
|
|
5
4
|
const { sendData } = require('../send-data')
|
|
5
|
+
const logCollector = require('./log-collector')
|
|
6
6
|
|
|
7
7
|
const telemetryLog = dc.channel('datadog:telemetry:log')
|
|
8
8
|
const errorLog = dc.channel('datadog:log:error')
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
'use strict'
|
|
2
|
-
|
|
3
|
-
const dc = require('dc-polyfill')
|
|
2
|
+
|
|
4
3
|
const os = require('os')
|
|
4
|
+
const dc = require('dc-polyfill')
|
|
5
|
+
|
|
6
|
+
const tracerVersion = require('../../../../package.json').version
|
|
7
|
+
const { errors } = require('../startup-log')
|
|
8
|
+
const logger = require('../log')
|
|
9
|
+
const processTags = require('../process-tags')
|
|
5
10
|
const dependencies = require('./dependencies')
|
|
6
11
|
const endpoints = require('./endpoints')
|
|
7
12
|
const { sendData } = require('./send-data')
|
|
8
|
-
const { errors } = require('../startup-log')
|
|
9
13
|
const { manager: metricsManager } = require('./metrics')
|
|
10
14
|
const telemetryLogger = require('./logs')
|
|
11
|
-
const logger = require('../log')
|
|
12
15
|
|
|
13
16
|
const telemetryStartChannel = dc.channel('datadog:telemetry:start')
|
|
14
17
|
const telemetryStopChannel = dc.channel('datadog:telemetry:stop')
|
|
@@ -78,7 +81,8 @@ function getIntegrations () {
|
|
|
78
81
|
newIntegrations.push({
|
|
79
82
|
name: pluginName,
|
|
80
83
|
enabled: pluginManager._pluginsByName[pluginName]._enabled,
|
|
81
|
-
auto_enabled: true
|
|
84
|
+
auto_enabled: true,
|
|
85
|
+
[processTags.TELEMETRY_FIELD_NAME]: processTags.tagsObject
|
|
82
86
|
})
|
|
83
87
|
sentIntegrations.add(pluginName)
|
|
84
88
|
}
|
|
@@ -155,7 +159,8 @@ function createAppObject (config) {
|
|
|
155
159
|
service_version: config.version,
|
|
156
160
|
tracer_version: tracerVersion,
|
|
157
161
|
language_name: 'nodejs',
|
|
158
|
-
language_version: process.versions.node
|
|
162
|
+
language_version: process.versions.node,
|
|
163
|
+
process_tags: processTags.tagsObject
|
|
159
164
|
}
|
|
160
165
|
}
|
|
161
166
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const Tracer = require('./opentracing/tracer')
|
|
4
3
|
const tags = require('../../../ext/tags')
|
|
4
|
+
const { ERROR_MESSAGE, ERROR_TYPE, ERROR_STACK } = require('../../dd-trace/src/constants')
|
|
5
|
+
const { flushStartupLogs } = require('../../datadog-instrumentations/src/helpers/check-require-cache')
|
|
6
|
+
const Tracer = require('./opentracing/tracer')
|
|
5
7
|
const Scope = require('./scope')
|
|
6
8
|
const { isError } = require('./util')
|
|
7
9
|
const { setStartupLogConfig } = require('./startup-log')
|
|
8
|
-
const { ERROR_MESSAGE, ERROR_TYPE, ERROR_STACK } = require('../../dd-trace/src/constants')
|
|
9
10
|
const { DataStreamsCheckpointer, DataStreamsManager, DataStreamsProcessor } = require('./datastreams')
|
|
10
|
-
const { flushStartupLogs } = require('../../datadog-instrumentations/src/helpers/check-require-cache')
|
|
11
11
|
const log = require('./log/writer')
|
|
12
12
|
|
|
13
13
|
const SPAN_TYPE = tags.SPAN_TYPE
|
|
@@ -1,25 +1,29 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
// Load binding first to not import other modules if it throws
|
|
4
|
-
const libdatadog = require('@datadog/libdatadog')
|
|
5
3
|
const tracerVersion = require('../../../version').VERSION
|
|
6
4
|
|
|
7
5
|
function storeConfig (config) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
try {
|
|
7
|
+
// Load binding first to not import other modules if it throws
|
|
8
|
+
const libdatadog = require('@datadog/libdatadog')
|
|
9
|
+
const processDiscovery = libdatadog.maybeLoad('process-discovery')
|
|
10
|
+
if (processDiscovery === undefined) {
|
|
11
|
+
return
|
|
12
|
+
}
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
const metadata = new processDiscovery.TracerMetadata(
|
|
15
|
+
config.tags['runtime-id'],
|
|
16
|
+
tracerVersion,
|
|
17
|
+
config.hostname,
|
|
18
|
+
config.service || null,
|
|
19
|
+
config.env || null,
|
|
20
|
+
config.version || null
|
|
21
|
+
)
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
return processDiscovery.storeMetadata(metadata)
|
|
24
|
+
} catch {
|
|
25
|
+
// Either libdatadog or process-discovery is unavailable.
|
|
26
|
+
}
|
|
23
27
|
}
|
|
24
28
|
|
|
25
29
|
module.exports = storeConfig
|