private static ISpan BeforeWrappedMethod(object request) { if (AwsServiceHandler.UseDTWrapper) { ISpan span = null; switch (request.GetType().ToString()) { case "Amazon.SQS.Model.SendMessageRequest": var sendMessageRequest = (SendMessageRequest)request; span = ServiceHelpers.CreateSpan(sendMessageRequest.GetOperationName(ServiceHelpers.ProduceOperation), Component, ServiceHelpers.ProduceOperation); span.ApplyDistributedTracePayload(sendMessageRequest.MessageAttributes); break; case "Amazon.SQS.Model.SendMessageBatchRequest": var sendMessageBatchRequest = (SendMessageBatchRequest)request; span = ServiceHelpers.CreateSpan(sendMessageBatchRequest.GetOperationName(ServiceHelpers.ProduceOperation), Component, ServiceHelpers.ProduceOperation); foreach (var entry in sendMessageBatchRequest.Entries) { span.ApplyDistributedTracePayload(entry.MessageAttributes); } break; default: break; } return(span); } else { return(null); } }