dd-trace 5.24.0 → 5.25.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 +1 -0
- package/index.d.ts +335 -0
- package/package.json +13 -7
- package/packages/datadog-code-origin/index.js +4 -4
- package/packages/datadog-core/src/utils/src/parse-tags.js +33 -0
- package/packages/datadog-esbuild/index.js +4 -2
- package/packages/datadog-instrumentations/src/amqplib.js +65 -5
- package/packages/datadog-instrumentations/src/child_process.js +135 -27
- package/packages/datadog-instrumentations/src/helpers/hooks.js +3 -0
- package/packages/datadog-instrumentations/src/helpers/register.js +9 -0
- package/packages/datadog-instrumentations/src/kafkajs.js +123 -63
- package/packages/datadog-instrumentations/src/mocha/utils.js +2 -2
- package/packages/datadog-instrumentations/src/multer.js +37 -0
- package/packages/datadog-instrumentations/src/openai.js +2 -2
- package/packages/datadog-instrumentations/src/url.js +84 -0
- package/packages/datadog-instrumentations/src/utils/src/extract-package-and-module-path.js +7 -4
- package/packages/datadog-plugin-amqplib/src/consumer.js +4 -4
- package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +1 -0
- package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +1 -0
- package/packages/datadog-plugin-aws-sdk/src/services/s3.js +1 -0
- package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +1 -0
- package/packages/datadog-plugin-fastify/src/code_origin.js +2 -2
- package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +8 -1
- package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +8 -0
- package/packages/datadog-plugin-grpc/src/client.js +3 -0
- package/packages/datadog-plugin-grpc/src/server.js +3 -0
- package/packages/datadog-plugin-kafkajs/src/batch-consumer.js +6 -3
- package/packages/datadog-plugin-kafkajs/src/consumer.js +8 -4
- package/packages/datadog-plugin-kafkajs/src/producer.js +10 -4
- package/packages/datadog-plugin-mocha/src/index.js +4 -1
- package/packages/datadog-plugin-openai/src/index.js +9 -1015
- package/packages/datadog-plugin-openai/src/tracing.js +1023 -0
- package/packages/dd-trace/src/appsec/addresses.js +2 -0
- package/packages/dd-trace/src/appsec/channels.js +3 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +55 -7
- package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +4 -2
- package/packages/dd-trace/src/appsec/index.js +3 -0
- package/packages/dd-trace/src/appsec/rasp/command_injection.js +49 -0
- package/packages/dd-trace/src/appsec/rasp/index.js +3 -0
- package/packages/dd-trace/src/appsec/rasp/ssrf.js +4 -3
- package/packages/dd-trace/src/appsec/rasp/utils.js +3 -2
- package/packages/dd-trace/src/appsec/recommended.json +2 -4
- package/packages/dd-trace/src/appsec/remote_config/capabilities.js +1 -0
- package/packages/dd-trace/src/appsec/remote_config/index.js +2 -0
- package/packages/dd-trace/src/appsec/reporter.js +5 -4
- package/packages/dd-trace/src/appsec/sdk/track_event.js +5 -3
- package/packages/dd-trace/src/appsec/waf/waf_manager.js +4 -0
- package/packages/dd-trace/src/azure_metadata.js +120 -0
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +97 -0
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +90 -0
- package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +19 -1
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +53 -0
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +8 -1
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +43 -0
- package/packages/dd-trace/src/config.js +75 -6
- package/packages/dd-trace/src/constants.js +3 -1
- package/packages/dd-trace/src/datastreams/pathway.js +1 -0
- package/packages/dd-trace/src/debugger/devtools_client/index.js +9 -13
- package/packages/dd-trace/src/debugger/devtools_client/send.js +15 -1
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +57 -23
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +12 -2
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +31 -20
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/symbols.js +6 -0
- package/packages/dd-trace/src/debugger/devtools_client/state.js +11 -2
- package/packages/dd-trace/src/debugger/index.js +10 -3
- package/packages/dd-trace/src/llmobs/constants/tags.js +34 -0
- package/packages/dd-trace/src/llmobs/constants/text.js +6 -0
- package/packages/dd-trace/src/llmobs/constants/writers.js +13 -0
- package/packages/dd-trace/src/llmobs/index.js +103 -0
- package/packages/dd-trace/src/llmobs/noop.js +82 -0
- package/packages/dd-trace/src/llmobs/plugins/base.js +65 -0
- package/packages/dd-trace/src/llmobs/plugins/openai.js +205 -0
- package/packages/dd-trace/src/llmobs/sdk.js +377 -0
- package/packages/dd-trace/src/llmobs/span_processor.js +195 -0
- package/packages/dd-trace/src/llmobs/storage.js +7 -0
- package/packages/dd-trace/src/llmobs/tagger.js +322 -0
- package/packages/dd-trace/src/llmobs/util.js +176 -0
- package/packages/dd-trace/src/llmobs/writers/base.js +111 -0
- package/packages/dd-trace/src/llmobs/writers/evaluations.js +29 -0
- package/packages/dd-trace/src/llmobs/writers/spans/agentProxy.js +23 -0
- package/packages/dd-trace/src/llmobs/writers/spans/agentless.js +17 -0
- package/packages/dd-trace/src/llmobs/writers/spans/base.js +49 -0
- package/packages/dd-trace/src/noop/proxy.js +3 -0
- package/packages/dd-trace/src/noop/span.js +3 -0
- package/packages/dd-trace/src/opentelemetry/span.js +1 -1
- package/packages/dd-trace/src/opentelemetry/tracer.js +1 -0
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +73 -12
- package/packages/dd-trace/src/opentracing/span.js +12 -0
- package/packages/dd-trace/src/opentracing/tracer.js +8 -1
- package/packages/dd-trace/src/payload-tagging/config/aws.json +71 -3
- package/packages/dd-trace/src/plugins/outbound.js +9 -0
- package/packages/dd-trace/src/priority_sampler.js +16 -0
- package/packages/dd-trace/src/profiling/config.js +3 -1
- package/packages/dd-trace/src/profiling/exporters/agent.js +7 -5
- package/packages/dd-trace/src/profiling/profilers/wall.js +2 -1
- package/packages/dd-trace/src/proxy.js +8 -1
- package/packages/dd-trace/src/span_processor.js +5 -0
- package/packages/dd-trace/src/telemetry/index.js +11 -1
|
@@ -16,6 +16,7 @@ const NoopDogStatsDClient = require('./noop/dogstatsd')
|
|
|
16
16
|
const spanleak = require('./spanleak')
|
|
17
17
|
const { SSIHeuristics } = require('./profiling/ssi-heuristics')
|
|
18
18
|
const appsecStandalone = require('./appsec/standalone')
|
|
19
|
+
const LLMObsSDK = require('./llmobs/sdk')
|
|
19
20
|
|
|
20
21
|
class LazyModule {
|
|
21
22
|
constructor (provider) {
|
|
@@ -46,7 +47,8 @@ class Tracer extends NoopProxy {
|
|
|
46
47
|
// these requires must work with esm bundler
|
|
47
48
|
this._modules = {
|
|
48
49
|
appsec: new LazyModule(() => require('./appsec')),
|
|
49
|
-
iast: new LazyModule(() => require('./appsec/iast'))
|
|
50
|
+
iast: new LazyModule(() => require('./appsec/iast')),
|
|
51
|
+
llmobs: new LazyModule(() => require('./llmobs'))
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
54
|
|
|
@@ -195,11 +197,15 @@ class Tracer extends NoopProxy {
|
|
|
195
197
|
if (config.appsec.enabled) {
|
|
196
198
|
this._modules.appsec.enable(config)
|
|
197
199
|
}
|
|
200
|
+
if (config.llmobs.enabled) {
|
|
201
|
+
this._modules.llmobs.enable(config)
|
|
202
|
+
}
|
|
198
203
|
if (!this._tracingInitialized) {
|
|
199
204
|
const prioritySampler = appsecStandalone.configure(config)
|
|
200
205
|
this._tracer = new DatadogTracer(config, prioritySampler)
|
|
201
206
|
this.dataStreamsCheckpointer = this._tracer.dataStreamsCheckpointer
|
|
202
207
|
this.appsec = new AppsecSdk(this._tracer, config)
|
|
208
|
+
this.llmobs = new LLMObsSDK(this._tracer, this._modules.llmobs, config)
|
|
203
209
|
this._tracingInitialized = true
|
|
204
210
|
}
|
|
205
211
|
if (config.iast.enabled) {
|
|
@@ -208,6 +214,7 @@ class Tracer extends NoopProxy {
|
|
|
208
214
|
} else if (this._tracingInitialized) {
|
|
209
215
|
this._modules.appsec.disable()
|
|
210
216
|
this._modules.iast.disable()
|
|
217
|
+
this._modules.llmobs.disable()
|
|
211
218
|
}
|
|
212
219
|
|
|
213
220
|
if (this._tracingInitialized) {
|
|
@@ -10,6 +10,9 @@ const { SpanStatsProcessor } = require('./span_stats')
|
|
|
10
10
|
const startedSpans = new WeakSet()
|
|
11
11
|
const finishedSpans = new WeakSet()
|
|
12
12
|
|
|
13
|
+
const { channel } = require('dc-polyfill')
|
|
14
|
+
const spanProcessCh = channel('dd-trace:span:process')
|
|
15
|
+
|
|
13
16
|
class SpanProcessor {
|
|
14
17
|
constructor (exporter, prioritySampler, config) {
|
|
15
18
|
this._exporter = exporter
|
|
@@ -45,6 +48,8 @@ class SpanProcessor {
|
|
|
45
48
|
const formattedSpan = format(span)
|
|
46
49
|
this._stats.onSpanFinished(formattedSpan)
|
|
47
50
|
formatted.push(formattedSpan)
|
|
51
|
+
|
|
52
|
+
spanProcessCh.publish({ span })
|
|
48
53
|
} else {
|
|
49
54
|
active.push(span)
|
|
50
55
|
}
|
|
@@ -314,7 +314,17 @@ function updateConfig (changes, config) {
|
|
|
314
314
|
logInjection: 'DD_LOG_INJECTION',
|
|
315
315
|
headerTags: 'DD_TRACE_HEADER_TAGS',
|
|
316
316
|
tags: 'DD_TAGS',
|
|
317
|
-
'sampler.rules': 'DD_TRACE_SAMPLING_RULES'
|
|
317
|
+
'sampler.rules': 'DD_TRACE_SAMPLING_RULES',
|
|
318
|
+
traceEnabled: 'DD_TRACE_ENABLED',
|
|
319
|
+
url: 'DD_TRACE_AGENT_URL',
|
|
320
|
+
'sampler.rateLimit': 'DD_TRACE_RATE_LIMIT',
|
|
321
|
+
queryStringObfuscation: 'DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP',
|
|
322
|
+
version: 'DD_VERSION',
|
|
323
|
+
env: 'DD_ENV',
|
|
324
|
+
service: 'DD_SERVICE',
|
|
325
|
+
clientIpHeader: 'DD_TRACE_CLIENT_IP_HEADER',
|
|
326
|
+
'grpc.client.error.statuses': 'DD_GRPC_CLIENT_ERROR_STATUSES',
|
|
327
|
+
'grpc.server.error.statuses': 'DD_GRPC_SERVER_ERROR_STATUSES'
|
|
318
328
|
}
|
|
319
329
|
|
|
320
330
|
const namesNeedFormatting = new Set(['DD_TAGS', 'peerServiceMapping', 'serviceMapping'])
|