From ce53e26ba1469b50ee88a21f4b725e02ddc4b3ce Mon Sep 17 00:00:00 2001 From: mhlidd Date: Thu, 21 Nov 2024 11:39:18 -0500 Subject: [PATCH] Abstract the passing of extracted header span links to startSpan (#4918) * updating span links * correcting field name * fixing links to _links --- packages/datadog-plugin-amqplib/src/consumer.js | 3 +-- packages/datadog-plugin-aws-sdk/src/services/kinesis.js | 3 +-- packages/datadog-plugin-aws-sdk/src/services/sqs.js | 3 +-- packages/datadog-plugin-google-cloud-pubsub/src/consumer.js | 3 +-- packages/datadog-plugin-grpc/src/server.js | 3 +-- packages/datadog-plugin-jest/src/index.js | 3 +-- packages/datadog-plugin-kafkajs/src/consumer.js | 3 +-- packages/datadog-plugin-moleculer/src/server.js | 3 +-- packages/datadog-plugin-rhea/src/consumer.js | 3 +-- packages/datadog-plugin-vitest/src/index.js | 3 +-- packages/dd-trace/src/plugins/tracing.js | 4 ++-- packages/dd-trace/src/plugins/util/web.js | 2 +- 12 files changed, 13 insertions(+), 23 deletions(-) diff --git a/packages/datadog-plugin-amqplib/src/consumer.js b/packages/datadog-plugin-amqplib/src/consumer.js index 8c0f168bb57..accd04568b1 100644 --- a/packages/datadog-plugin-amqplib/src/consumer.js +++ b/packages/datadog-plugin-amqplib/src/consumer.js @@ -26,8 +26,7 @@ class AmqplibConsumerPlugin extends ConsumerPlugin { 'amqp.consumerTag': fields.consumerTag, 'amqp.source': fields.source, 'amqp.destination': fields.destination - }, - extractedLinks: childOf?._links + } }) if ( diff --git a/packages/datadog-plugin-aws-sdk/src/services/kinesis.js b/packages/datadog-plugin-aws-sdk/src/services/kinesis.js index ccb253b71c7..64a67d768ea 100644 --- a/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +++ b/packages/datadog-plugin-aws-sdk/src/services/kinesis.js @@ -42,8 +42,7 @@ class Kinesis extends BaseAwsSdkPlugin { {}, this.requestTags.get(request) || {}, { 'span.kind': 'server' } - ), - extractedLinks: responseExtraction.maybeChildOf._links + ) } span = plugin.tracer.startSpan('aws.response', options) this.enter(span, store) diff --git a/packages/datadog-plugin-aws-sdk/src/services/sqs.js b/packages/datadog-plugin-aws-sdk/src/services/sqs.js index de8f1052072..e3a76c3e0b9 100644 --- a/packages/datadog-plugin-aws-sdk/src/services/sqs.js +++ b/packages/datadog-plugin-aws-sdk/src/services/sqs.js @@ -33,8 +33,7 @@ class Sqs extends BaseAwsSdkPlugin { {}, this.requestTags.get(request) || {}, { 'span.kind': 'server' } - ), - extractedLinks: contextExtraction.datadogContext._links + ) } parsedMessageAttributes = contextExtraction.parsedAttributes span = plugin.tracer.startSpan('aws.response', options) diff --git a/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js b/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js index 3e25e8f19fd..84c4122ec57 100644 --- a/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +++ b/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js @@ -22,8 +22,7 @@ class GoogleCloudPubsubConsumerPlugin extends ConsumerPlugin { }, metrics: { 'pubsub.ack': 0 - }, - extractedLinks: childOf?._links + } }) if (this.config.dsmEnabled && message?.attributes) { const payloadSize = getMessageSize(message) diff --git a/packages/datadog-plugin-grpc/src/server.js b/packages/datadog-plugin-grpc/src/server.js index 9e090961325..0b599a1283d 100644 --- a/packages/datadog-plugin-grpc/src/server.js +++ b/packages/datadog-plugin-grpc/src/server.js @@ -48,8 +48,7 @@ class GrpcServerPlugin extends ServerPlugin { }, metrics: { 'grpc.status.code': 0 - }, - extractedLinks: childOf?._links + } }) addMetadataTags(span, metadata, metadataFilter, 'request') diff --git a/packages/datadog-plugin-jest/src/index.js b/packages/datadog-plugin-jest/src/index.js index a8497ccaf66..4362094b0be 100644 --- a/packages/datadog-plugin-jest/src/index.js +++ b/packages/datadog-plugin-jest/src/index.js @@ -219,8 +219,7 @@ class JestPlugin extends CiPlugin { [COMPONENT]: this.constructor.id, ...this.testEnvironmentMetadata, ...testSuiteMetadata - }, - extractedLinks: testSessionSpanContext?._links + } }) this.telemetry.ciVisEvent(TELEMETRY_EVENT_CREATED, 'suite') if (_ddTestCodeCoverageEnabled) { diff --git a/packages/datadog-plugin-kafkajs/src/consumer.js b/packages/datadog-plugin-kafkajs/src/consumer.js index 76797b51970..ee04c5eb60c 100644 --- a/packages/datadog-plugin-kafkajs/src/consumer.js +++ b/packages/datadog-plugin-kafkajs/src/consumer.js @@ -76,8 +76,7 @@ class KafkajsConsumerPlugin extends ConsumerPlugin { }, metrics: { 'kafka.partition': partition - }, - extractedLinks: childOf?._links + } }) if (this.config.dsmEnabled && message?.headers) { const payloadSize = getMessageSize(message) diff --git a/packages/datadog-plugin-moleculer/src/server.js b/packages/datadog-plugin-moleculer/src/server.js index d4fa20af154..1f238a4338e 100644 --- a/packages/datadog-plugin-moleculer/src/server.js +++ b/packages/datadog-plugin-moleculer/src/server.js @@ -18,8 +18,7 @@ class MoleculerServerPlugin extends ServerPlugin { meta: { 'resource.name': action.name, ...moleculerTags(broker, ctx, this.config) - }, - extractedLinks: followsFrom?._links + } }) } } diff --git a/packages/datadog-plugin-rhea/src/consumer.js b/packages/datadog-plugin-rhea/src/consumer.js index e0aacb41986..56aad8f7b9d 100644 --- a/packages/datadog-plugin-rhea/src/consumer.js +++ b/packages/datadog-plugin-rhea/src/consumer.js @@ -28,8 +28,7 @@ class RheaConsumerPlugin extends ConsumerPlugin { component: 'rhea', 'amqp.link.source.address': name, 'amqp.link.role': 'receiver' - }, - extractedLinks: childOf?._links + } }) if ( diff --git a/packages/datadog-plugin-vitest/src/index.js b/packages/datadog-plugin-vitest/src/index.js index affa9bfd59c..34617bdb1ac 100644 --- a/packages/datadog-plugin-vitest/src/index.js +++ b/packages/datadog-plugin-vitest/src/index.js @@ -191,8 +191,7 @@ class VitestPlugin extends CiPlugin { [COMPONENT]: this.constructor.id, ...this.testEnvironmentMetadata, ...testSuiteMetadata - }, - extractedLinks: testSessionSpanContext?._links + } }) this.telemetry.ciVisEvent(TELEMETRY_EVENT_CREATED, 'suite') const store = storage.getStore() diff --git a/packages/dd-trace/src/plugins/tracing.js b/packages/dd-trace/src/plugins/tracing.js index e95481b13e1..6f11b9bde6a 100644 --- a/packages/dd-trace/src/plugins/tracing.js +++ b/packages/dd-trace/src/plugins/tracing.js @@ -101,7 +101,7 @@ class TracingPlugin extends Plugin { } } - startSpan (name, { childOf, kind, meta, metrics, service, resource, type, extractedLinks } = {}, enter = true) { + startSpan (name, { childOf, kind, meta, metrics, service, resource, type } = {}, enter = true) { const store = storage.getStore() if (store && childOf === undefined) { childOf = store.span @@ -119,7 +119,7 @@ class TracingPlugin extends Plugin { ...metrics }, integrationName: type, - links: extractedLinks + links: childOf?._links }) analyticsSampler.sample(span, this.config.measured) diff --git a/packages/dd-trace/src/plugins/util/web.js b/packages/dd-trace/src/plugins/util/web.js index 683691539e7..5bfb1d6fad4 100644 --- a/packages/dd-trace/src/plugins/util/web.js +++ b/packages/dd-trace/src/plugins/util/web.js @@ -267,7 +267,7 @@ const web = { } } - const span = tracer.startSpan(name, { childOf, extractedLinks: childOf?.links }) + const span = tracer.startSpan(name, { childOf, links: childOf?._links }) return span },