From a88afb8bcacadbcad6188aee0a2199345764ad63 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Wed, 2 Oct 2024 07:46:56 -0700 Subject: [PATCH] Update based on feedbacks --- .../lib/opentelemetry/instrumentation/aws_sdk/handler.rb | 3 ++- .../instrumentation/aws_sdk/handler_helper.rb | 8 ++++---- .../instrumentation/aws_sdk/messaging_helper.rb | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/handler.rb b/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/handler.rb index b1bc1e6a3..40ec604c7 100644 --- a/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/handler.rb +++ b/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/handler.rb @@ -7,7 +7,8 @@ module OpenTelemetry module Instrumentation module AwsSdk - # Generates Spans for all interactions with AwsSdk + # This handler supports specifically supports V2 and V3 + # prior to Observability support released on 2024-09-03. class Handler < Seahorse::Client::Handler def call(context) return super unless context diff --git a/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/handler_helper.rb b/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/handler_helper.rb index 735ba517f..9b5a01304 100644 --- a/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/handler_helper.rb +++ b/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/handler_helper.rb @@ -28,15 +28,15 @@ def span_attributes(context, client_method, service_id, legacy: false) OpenTelemetry::SemanticConventions::Trace::RPC_SYSTEM => 'aws-api' }.tap do |attrs| attrs[OpenTelemetry::SemanticConventions::Trace::CODE_NAMESPACE] = 'Aws::Plugins::AwsSdk' if legacy - attrs[SemanticConventions::Trace::DB_SYSTEM] = 'dynamodb' if service_id == 'DynamoDB' - MessagingHelper.apply_span_attributes(context, attrs, client_method, service_id) if MessagingHelper.supported_services.include?(service_id) + + MessagingHelper.apply_span_attributes(context, attrs, client_method, service_id) if MessagingHelper::SUPPORTED_SERVICES.include?(service_id) end end def span_kind(client_method, service_id) case service_id - when *MessagingHelper.supported_services + when *MessagingHelper::SUPPORTED_SERVICES MessagingHelper.span_kind(client_method) else OpenTelemetry::Trace::SpanKind::CLIENT @@ -45,7 +45,7 @@ def span_kind(client_method, service_id) def span_name(context, client_method, service_id, legacy: false) case service_id - when *MessagingHelper.supported_services + when *MessagingHelper::SUPPORTED_SERVICES if legacy MessagingHelper.legacy_span_name(context, client_method) else diff --git a/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/messaging_helper.rb b/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/messaging_helper.rb index 9389312fd..b821aca56 100644 --- a/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/messaging_helper.rb +++ b/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/messaging_helper.rb @@ -9,8 +9,8 @@ module Instrumentation module AwsSdk # An utility class to help SQS/SNS-related span attributes/context injection class MessagingHelper + SUPPORTED_SERVICES = %w[SQS SNS].freeze class << self - SUPPORTED_SERVICES = %w[SQS SNS].freeze SQS_SEND_MESSAGE = 'SQS.SendMessage' SQS_SEND_MESSAGE_BATCH = 'SQS.SendMessageBatch' SQS_RECEIVE_MESSAGE = 'SQS.ReceiveMessage'