dd-trace 3.21.0 → 3.22.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/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/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/plugins/incoming.js +0 -7
|
@@ -6,10 +6,6 @@ const os = require('os')
|
|
|
6
6
|
const dependencies = require('./dependencies')
|
|
7
7
|
const { sendData } = require('./send-data')
|
|
8
8
|
|
|
9
|
-
const HEARTBEAT_INTERVAL = process.env.DD_TELEMETRY_HEARTBEAT_INTERVAL
|
|
10
|
-
? Number(process.env.DD_TELEMETRY_HEARTBEAT_INTERVAL) * 1000
|
|
11
|
-
: 60000
|
|
12
|
-
|
|
13
9
|
const telemetryStartChannel = dc.channel('datadog:telemetry:start')
|
|
14
10
|
const telemetryStopChannel = dc.channel('datadog:telemetry:stop')
|
|
15
11
|
|
|
@@ -19,6 +15,7 @@ let pluginManager
|
|
|
19
15
|
let application
|
|
20
16
|
let host
|
|
21
17
|
let interval
|
|
18
|
+
let heartbeatInterval
|
|
22
19
|
const sentIntegrations = new Set()
|
|
23
20
|
|
|
24
21
|
function getIntegrations () {
|
|
@@ -108,7 +105,7 @@ function createHostObject () {
|
|
|
108
105
|
}
|
|
109
106
|
|
|
110
107
|
function getTelemetryData () {
|
|
111
|
-
return { config, application, host, heartbeatInterval
|
|
108
|
+
return { config, application, host, heartbeatInterval }
|
|
112
109
|
}
|
|
113
110
|
|
|
114
111
|
function start (aConfig, thePluginManager) {
|
|
@@ -119,11 +116,13 @@ function start (aConfig, thePluginManager) {
|
|
|
119
116
|
pluginManager = thePluginManager
|
|
120
117
|
application = createAppObject()
|
|
121
118
|
host = createHostObject()
|
|
119
|
+
heartbeatInterval = config.telemetry.heartbeatInterval
|
|
120
|
+
|
|
122
121
|
dependencies.start(config, application, host)
|
|
123
122
|
sendData(config, application, host, 'app-started', appStarted())
|
|
124
123
|
interval = setInterval(() => {
|
|
125
124
|
sendData(config, application, host, 'app-heartbeat')
|
|
126
|
-
},
|
|
125
|
+
}, heartbeatInterval)
|
|
127
126
|
interval.unref()
|
|
128
127
|
process.on('beforeExit', onBeforeExit)
|
|
129
128
|
|
|
@@ -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',
|