dd-trace 4.0.0 → 4.1.1
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 +1 -0
- package/MIGRATING.md +39 -0
- package/README.md +18 -11
- package/package.json +3 -2
- package/packages/datadog-esbuild/index.js +13 -1
- package/packages/datadog-instrumentations/src/cucumber.js +13 -0
- package/packages/datadog-instrumentations/src/helpers/hooks.js +1 -0
- package/packages/datadog-instrumentations/src/http/client.js +2 -1
- package/packages/datadog-instrumentations/src/http/server.js +14 -0
- package/packages/datadog-instrumentations/src/http2/client.js +4 -0
- package/packages/datadog-instrumentations/src/jest.js +2 -3
- package/packages/datadog-instrumentations/src/next.js +2 -2
- package/packages/datadog-instrumentations/src/pg.js +14 -11
- package/packages/datadog-instrumentations/src/playwright.js +1 -1
- package/packages/datadog-instrumentations/src/sequelize.js +51 -0
- package/packages/datadog-plugin-amqp10/src/consumer.js +1 -3
- package/packages/datadog-plugin-amqp10/src/producer.js +1 -3
- package/packages/datadog-plugin-amqplib/src/client.js +4 -3
- package/packages/datadog-plugin-amqplib/src/consumer.js +1 -3
- package/packages/datadog-plugin-amqplib/src/producer.js +1 -3
- package/packages/datadog-plugin-cucumber/src/index.js +2 -2
- package/packages/datadog-plugin-cypress/src/plugin.js +150 -30
- package/packages/datadog-plugin-cypress/src/support.js +6 -3
- package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +4 -3
- package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +1 -3
- package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +1 -3
- package/packages/datadog-plugin-http/src/client.js +70 -68
- package/packages/datadog-plugin-http2/src/client.js +50 -47
- package/packages/datadog-plugin-jest/src/index.js +5 -4
- package/packages/datadog-plugin-kafkajs/src/consumer.js +1 -4
- package/packages/datadog-plugin-kafkajs/src/producer.js +1 -3
- package/packages/datadog-plugin-memcached/src/index.js +2 -3
- package/packages/datadog-plugin-mocha/src/index.js +4 -2
- package/packages/datadog-plugin-pg/src/index.js +1 -1
- package/packages/datadog-plugin-redis/src/index.js +2 -13
- package/packages/datadog-plugin-rhea/src/consumer.js +1 -3
- package/packages/datadog-plugin-rhea/src/producer.js +1 -5
- package/packages/datadog-plugin-router/src/index.js +12 -1
- package/packages/dd-trace/src/appsec/blocked_templates.js +2 -101
- package/packages/dd-trace/src/appsec/blocking.js +60 -11
- package/packages/dd-trace/src/appsec/channels.js +3 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.js +7 -5
- package/packages/dd-trace/src/appsec/iast/analyzers/index.js +3 -0
- package/packages/dd-trace/src/appsec/iast/analyzers/insecure-cookie-analyzer.js +31 -0
- package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +4 -0
- package/packages/dd-trace/src/appsec/iast/analyzers/set-cookies-header-interceptor.js +47 -0
- package/packages/dd-trace/src/appsec/iast/analyzers/sql-injection-analyzer.js +30 -5
- package/packages/dd-trace/src/appsec/iast/analyzers/ssrf-analyzer.js +26 -0
- package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +35 -3
- package/packages/dd-trace/src/appsec/iast/path-line.js +14 -7
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +19 -4
- package/packages/dd-trace/src/appsec/iast/telemetry/logs.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +25 -2
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/url-sensitive-analyzer.js +49 -0
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +3 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +7 -5
- package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +0 -33
- package/packages/dd-trace/src/appsec/recommended.json +45 -46
- package/packages/dd-trace/src/appsec/remote_config/capabilities.js +3 -1
- package/packages/dd-trace/src/appsec/remote_config/index.js +4 -0
- package/packages/dd-trace/src/appsec/rule_manager.js +49 -6
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +2 -7
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +1 -1
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +1 -6
- package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +10 -4
- package/packages/dd-trace/src/config.js +36 -5
- package/packages/dd-trace/src/encode/coverage-ci-visibility.js +11 -3
- package/packages/dd-trace/src/exporters/common/util.js +9 -0
- package/packages/dd-trace/src/exporters/common/writer.js +3 -2
- package/packages/dd-trace/src/plugin_manager.js +2 -0
- package/packages/dd-trace/src/plugins/cache.js +7 -0
- package/packages/dd-trace/src/plugins/ci_plugin.js +2 -0
- package/packages/dd-trace/src/plugins/client.js +3 -2
- package/packages/dd-trace/src/plugins/consumer.js +14 -2
- package/packages/dd-trace/src/plugins/database.js +2 -2
- package/packages/dd-trace/src/plugins/inbound.js +7 -0
- package/packages/dd-trace/src/plugins/{outgoing.js → outbound.js} +2 -2
- package/packages/dd-trace/src/plugins/producer.js +19 -2
- package/packages/dd-trace/src/plugins/server.js +2 -2
- package/packages/dd-trace/src/plugins/storage.js +2 -0
- package/packages/dd-trace/src/plugins/tracing.js +11 -0
- package/packages/dd-trace/src/plugins/util/ci.js +1 -1
- package/packages/dd-trace/src/profiling/config.js +4 -2
- package/packages/dd-trace/src/service-naming/index.js +30 -0
- package/packages/dd-trace/src/service-naming/schemas/definition.js +24 -0
- package/packages/dd-trace/src/service-naming/schemas/index.js +6 -0
- package/packages/dd-trace/src/service-naming/schemas/util.js +5 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/index.js +5 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +64 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +33 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/index.js +5 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +52 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +21 -0
- package/packages/dd-trace/src/telemetry/index.js +5 -6
- package/packages/dd-trace/src/telemetry/send-data.js +17 -5
- package/packages/dd-trace/src/tracer.js +3 -3
- package/version.js +8 -4
- package/packages/dd-trace/src/plugins/incoming.js +0 -7
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
const request = require('../exporters/common/request')
|
|
2
|
+
|
|
3
|
+
function getHeaders (config, application, reqType) {
|
|
4
|
+
const headers = {
|
|
5
|
+
'content-type': 'application/json',
|
|
6
|
+
'dd-telemetry-api-version': 'v1',
|
|
7
|
+
'dd-telemetry-request-type': reqType,
|
|
8
|
+
'dd-client-library-language': application.language_name,
|
|
9
|
+
'dd-client-library-version': application.tracer_version
|
|
10
|
+
}
|
|
11
|
+
const debug = config.telemetry && config.telemetry.debug
|
|
12
|
+
if (debug) {
|
|
13
|
+
headers['dd-telemetry-debug-enabled'] = 'true'
|
|
14
|
+
}
|
|
15
|
+
return headers
|
|
16
|
+
}
|
|
17
|
+
|
|
2
18
|
let seqId = 0
|
|
3
19
|
|
|
4
20
|
function getPayload (payload) {
|
|
@@ -25,11 +41,7 @@ function sendData (config, application, host, reqType, payload = {}) {
|
|
|
25
41
|
port,
|
|
26
42
|
method: 'POST',
|
|
27
43
|
path: '/telemetry/proxy/api/v2/apmtelemetry',
|
|
28
|
-
headers:
|
|
29
|
-
'content-type': 'application/json',
|
|
30
|
-
'dd-telemetry-api-version': 'v1',
|
|
31
|
-
'dd-telemetry-request-type': reqType
|
|
32
|
-
}
|
|
44
|
+
headers: getHeaders(config, application, reqType)
|
|
33
45
|
}
|
|
34
46
|
const data = JSON.stringify({
|
|
35
47
|
api_version: 'v1',
|
|
@@ -7,7 +7,7 @@ const { storage } = require('../../datadog-core')
|
|
|
7
7
|
const { isError } = require('./util')
|
|
8
8
|
const { setStartupLogConfig } = require('./startup-log')
|
|
9
9
|
const { ERROR_MESSAGE, ERROR_TYPE, ERROR_STACK } = require('../../dd-trace/src/constants')
|
|
10
|
-
const {
|
|
10
|
+
const { DD_MAJOR } = require('../../../version')
|
|
11
11
|
|
|
12
12
|
const SPAN_TYPE = tags.SPAN_TYPE
|
|
13
13
|
const RESOURCE_NAME = tags.RESOURCE_NAME
|
|
@@ -27,7 +27,7 @@ class DatadogTracer extends Tracer {
|
|
|
27
27
|
childOf: this.scope().active()
|
|
28
28
|
}, options)
|
|
29
29
|
|
|
30
|
-
if (!options.childOf && options.orphanable === false &&
|
|
30
|
+
if (!options.childOf && options.orphanable === false && DD_MAJOR < 4) {
|
|
31
31
|
return fn(null, () => {})
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -82,7 +82,7 @@ class DatadogTracer extends Tracer {
|
|
|
82
82
|
optionsObj = optionsObj.apply(this, arguments)
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
if (optionsObj && optionsObj.orphanable === false && !tracer.scope().active() &&
|
|
85
|
+
if (optionsObj && optionsObj.orphanable === false && !tracer.scope().active() && DD_MAJOR < 4) {
|
|
86
86
|
return fn.apply(this, arguments)
|
|
87
87
|
}
|
|
88
88
|
|
package/version.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const ddMatches = require('./package.json').version.match(/^(\d+)\.(\d+)\.(\d+)/)
|
|
4
|
+
const nodeMatches = process.versions.node.match(/^(\d+)\.(\d+)\.(\d+)/)
|
|
4
5
|
|
|
5
6
|
module.exports = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
DD_MAJOR: parseInt(ddMatches[1]),
|
|
8
|
+
DD_MINOR: parseInt(ddMatches[2]),
|
|
9
|
+
DD_PATCH: parseInt(ddMatches[3]),
|
|
10
|
+
NODE_MAJOR: parseInt(nodeMatches[1]),
|
|
11
|
+
NODE_MINOR: parseInt(nodeMatches[2]),
|
|
12
|
+
NODE_PATCH: parseInt(nodeMatches[3])
|
|
9
13
|
}
|