1

I've done the necessary sidecar setup in CloudFormation for the collector and added the following to my docker file for my Java applications deployed in AWS ECS (obviously replacing myservice with relevant name):

ENV OTEL_SERVICE_NAME="MyService"
ENV OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317"
ENV OTEL_PROPAGATORS="tracecontext,baggage,xray"

CMD java -XX:+UseContainerSupport -XX:MaxRAMPercentage=80.0 -javaagent:aws-opentelemetry-agent.jar -jar myservice-1.0.jar

Traces for calls to synchronous endpoints work fantastically but traces do not seem to be propagated across SQS calls.

Any ideas?

  • Hello - this may be an issue with the AWS SDK instrumentation. The instrumentation should pass in trace context as an [SQS system message attribute](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-system-attributes) for it to be recognized downstream. Please open an issue here to describe this bug: https://github.com/open-telemetry/opentelemetry-java-instrumentation/ – William Armiros Oct 14 '22 at 14:59
  • https://github.com/aws-observability/aws-otel-java-instrumentation/issues/244. It is already a message attribute. Basically this is a general with SQS. The instrumentation should automatically extracts the SQS trace context into a span per message received – Russell Jacobs Nov 01 '22 at 10:39

0 Answers0