class OpenTelemetry::Instrumentation::AwsSdk::MessageAttributeSetter

The MessageAttributeSetter class provides methods for writing tracing information to SNS / SQS messages.

@example

OpenTelemetry.propagation.inject(context.params[:message_attributes], setter: MessageAttributeSetter)

Public Class Methods

set(carrier, key, value) click to toggle source
# File lib/opentelemetry/instrumentation/aws_sdk/message_attributes.rb, line 16
def self.set(carrier, key, value)
  # https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-quotas.html
  if carrier.length < 10
    carrier[key] = { string_value: value, data_type: 'String' }
  else
    OpenTelemetry.logger.warn('aws-sdk instrumentation: cannot set context propagation on SQS/SNS message due to maximum amount of MessageAttributes')
  end
end