dd-trace 5.21.0 → 5.22.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/package.json +3 -3
- package/packages/datadog-instrumentations/src/aerospike.js +1 -1
- package/packages/datadog-instrumentations/src/apollo-server.js +1 -1
- package/packages/datadog-instrumentations/src/aws-sdk.js +4 -4
- package/packages/datadog-instrumentations/src/body-parser.js +4 -4
- package/packages/datadog-instrumentations/src/cassandra-driver.js +2 -2
- package/packages/datadog-instrumentations/src/child_process.js +2 -2
- package/packages/datadog-instrumentations/src/connect.js +4 -4
- package/packages/datadog-instrumentations/src/cookie-parser.js +4 -4
- package/packages/datadog-instrumentations/src/couchbase.js +12 -12
- package/packages/datadog-instrumentations/src/cucumber.js +6 -5
- package/packages/datadog-instrumentations/src/dns.js +10 -10
- package/packages/datadog-instrumentations/src/elasticsearch.js +4 -4
- package/packages/datadog-instrumentations/src/express-mongo-sanitize.js +3 -3
- package/packages/datadog-instrumentations/src/express.js +4 -4
- package/packages/datadog-instrumentations/src/fastify.js +6 -6
- package/packages/datadog-instrumentations/src/fetch.js +1 -1
- package/packages/datadog-instrumentations/src/find-my-way.js +2 -2
- package/packages/datadog-instrumentations/src/fs.js +2 -2
- package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +2 -2
- package/packages/datadog-instrumentations/src/grpc/client.js +4 -6
- package/packages/datadog-instrumentations/src/grpc/server.js +2 -2
- package/packages/datadog-instrumentations/src/hapi.js +10 -13
- package/packages/datadog-instrumentations/src/helpers/register.js +1 -1
- package/packages/datadog-instrumentations/src/http/client.js +3 -3
- package/packages/datadog-instrumentations/src/jest.js +5 -4
- package/packages/datadog-instrumentations/src/knex.js +2 -2
- package/packages/datadog-instrumentations/src/koa.js +5 -5
- package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
- package/packages/datadog-instrumentations/src/mariadb.js +8 -8
- package/packages/datadog-instrumentations/src/memcached.js +2 -2
- package/packages/datadog-instrumentations/src/microgateway-core.js +4 -4
- package/packages/datadog-instrumentations/src/mocha/common.js +1 -1
- package/packages/datadog-instrumentations/src/mocha/main.js +1 -0
- package/packages/datadog-instrumentations/src/mocha/utils.js +2 -3
- package/packages/datadog-instrumentations/src/mocha.js +4 -0
- package/packages/datadog-instrumentations/src/moleculer/server.js +2 -2
- package/packages/datadog-instrumentations/src/mongodb-core.js +7 -7
- package/packages/datadog-instrumentations/src/mongoose.js +5 -6
- package/packages/datadog-instrumentations/src/mysql.js +3 -3
- package/packages/datadog-instrumentations/src/mysql2.js +6 -6
- package/packages/datadog-instrumentations/src/net.js +2 -2
- package/packages/datadog-instrumentations/src/next.js +5 -5
- package/packages/datadog-instrumentations/src/openai.js +58 -69
- package/packages/datadog-instrumentations/src/oracledb.js +8 -8
- package/packages/datadog-instrumentations/src/passport-http.js +1 -1
- package/packages/datadog-instrumentations/src/passport-local.js +1 -1
- package/packages/datadog-instrumentations/src/passport-utils.js +1 -1
- package/packages/datadog-instrumentations/src/pg.js +1 -1
- package/packages/datadog-instrumentations/src/pino.js +4 -4
- package/packages/datadog-instrumentations/src/playwright.js +6 -4
- package/packages/datadog-instrumentations/src/redis.js +2 -2
- package/packages/datadog-instrumentations/src/restify.js +4 -4
- package/packages/datadog-instrumentations/src/rhea.js +4 -4
- package/packages/datadog-instrumentations/src/router.js +5 -5
- package/packages/datadog-instrumentations/src/sharedb.js +2 -2
- package/packages/datadog-instrumentations/src/vitest.js +4 -3
- package/packages/datadog-instrumentations/src/winston.js +2 -3
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +5 -6
- package/packages/datadog-plugin-hapi/src/index.js +2 -2
- package/packages/datadog-plugin-jest/src/index.js +1 -0
- package/packages/datadog-plugin-openai/src/index.js +58 -47
- package/packages/datadog-shimmer/src/shimmer.js +144 -10
- package/packages/dd-trace/src/appsec/blocking.js +23 -17
- package/packages/dd-trace/src/appsec/graphql.js +3 -1
- package/packages/dd-trace/src/appsec/iast/iast-log.js +2 -1
- package/packages/dd-trace/src/appsec/remote_config/manager.js +4 -1
- package/packages/dd-trace/src/appsec/rule_manager.js +8 -0
- package/packages/dd-trace/src/appsec/telemetry.js +3 -3
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +2 -1
- package/packages/dd-trace/src/config.js +40 -31
- package/packages/dd-trace/src/lambda/handler.js +1 -0
- package/packages/dd-trace/src/lambda/index.js +12 -1
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +1 -6
- package/packages/dd-trace/src/plugins/util/test.js +1 -5
- package/packages/dd-trace/src/profiler.js +15 -5
- package/packages/dd-trace/src/profiling/config.js +2 -4
- package/packages/dd-trace/src/profiling/exporter_cli.js +13 -1
- package/packages/dd-trace/src/profiling/exporters/agent.js +7 -1
- package/packages/dd-trace/src/profiling/profiler.js +0 -9
- package/packages/dd-trace/src/profiling/ssi-heuristics.js +49 -58
- package/packages/dd-trace/src/proxy.js +21 -21
- package/packages/dd-trace/src/telemetry/index.js +23 -6
- package/packages/dd-trace/src/telemetry/logs/index.js +20 -0
|
@@ -89,7 +89,7 @@ function getProducts (config) {
|
|
|
89
89
|
},
|
|
90
90
|
profiler: {
|
|
91
91
|
version: tracerVersion,
|
|
92
|
-
enabled: config.profiling.enabled
|
|
92
|
+
enabled: profilingEnabledToBoolean(config.profiling.enabled)
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
if (errors.profilingError) {
|
|
@@ -329,13 +329,17 @@ function updateConfig (changes, config) {
|
|
|
329
329
|
const { origin, value } = change
|
|
330
330
|
const entry = { name, value, origin }
|
|
331
331
|
|
|
332
|
-
if (namesNeedFormatting.has(entry.name))
|
|
333
|
-
|
|
334
|
-
if (entry.name === '
|
|
332
|
+
if (namesNeedFormatting.has(entry.name)) {
|
|
333
|
+
entry.value = formatMapForTelemetry(entry.value)
|
|
334
|
+
} else if (entry.name === 'url') {
|
|
335
|
+
if (entry.value) {
|
|
336
|
+
entry.value = entry.value.toString()
|
|
337
|
+
}
|
|
338
|
+
} else if (entry.name === 'DD_TRACE_SAMPLING_RULES') {
|
|
335
339
|
entry.value = JSON.stringify(entry.value)
|
|
340
|
+
} else if (Array.isArray(entry.value)) {
|
|
341
|
+
entry.value = value.join(',')
|
|
336
342
|
}
|
|
337
|
-
if (Array.isArray(entry.value)) entry.value = value.join(',')
|
|
338
|
-
|
|
339
343
|
configuration.push(entry)
|
|
340
344
|
}
|
|
341
345
|
|
|
@@ -354,6 +358,19 @@ function updateConfig (changes, config) {
|
|
|
354
358
|
}
|
|
355
359
|
}
|
|
356
360
|
|
|
361
|
+
function profilingEnabledToBoolean (profilingEnabled) {
|
|
362
|
+
if (typeof profilingEnabled === 'boolean') {
|
|
363
|
+
return profilingEnabled
|
|
364
|
+
}
|
|
365
|
+
if (['auto', 'true'].includes(profilingEnabled)) {
|
|
366
|
+
return true
|
|
367
|
+
}
|
|
368
|
+
if (profilingEnabled === 'false') {
|
|
369
|
+
return false
|
|
370
|
+
}
|
|
371
|
+
return undefined
|
|
372
|
+
}
|
|
373
|
+
|
|
357
374
|
module.exports = {
|
|
358
375
|
start,
|
|
359
376
|
stop,
|
|
@@ -5,6 +5,7 @@ const logCollector = require('./log-collector')
|
|
|
5
5
|
const { sendData } = require('../send-data')
|
|
6
6
|
|
|
7
7
|
const telemetryLog = dc.channel('datadog:telemetry:log')
|
|
8
|
+
const errorLog = dc.channel('datadog:log:error')
|
|
8
9
|
|
|
9
10
|
let enabled = false
|
|
10
11
|
|
|
@@ -33,12 +34,29 @@ function onLog (log) {
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
|
|
37
|
+
function onErrorLog (msg) {
|
|
38
|
+
if (msg instanceof Error) {
|
|
39
|
+
onLog({
|
|
40
|
+
level: 'ERROR',
|
|
41
|
+
message: msg.message,
|
|
42
|
+
stack_trace: msg.stack
|
|
43
|
+
})
|
|
44
|
+
} else if (typeof msg === 'string') {
|
|
45
|
+
onLog({
|
|
46
|
+
level: 'ERROR',
|
|
47
|
+
message: msg
|
|
48
|
+
})
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
36
52
|
function start (config) {
|
|
37
53
|
if (!config.telemetry.logCollection || enabled) return
|
|
38
54
|
|
|
39
55
|
enabled = true
|
|
40
56
|
|
|
41
57
|
telemetryLog.subscribe(onLog)
|
|
58
|
+
|
|
59
|
+
errorLog.subscribe(onErrorLog)
|
|
42
60
|
}
|
|
43
61
|
|
|
44
62
|
function stop () {
|
|
@@ -47,6 +65,8 @@ function stop () {
|
|
|
47
65
|
if (telemetryLog.hasSubscribers) {
|
|
48
66
|
telemetryLog.unsubscribe(onLog)
|
|
49
67
|
}
|
|
68
|
+
|
|
69
|
+
errorLog.unsubscribe(onErrorLog)
|
|
50
70
|
}
|
|
51
71
|
|
|
52
72
|
function send (config, application, host) {
|