I am running a lambda function with docker for a .NET application. in fact I have two lambdas, one based on a docker image and the other one is packaged as a zip. while configuring Xray with both functions, the one that is Zip packaged works fine and being traced normally, but the lambda running based on a docker image does not send any traffic to Xray.
I have concluded now that I should run the XRay Deamon on the same container where my app is running, is that correct ? I have so far not found any documentation or example for this setup
Question posted in Amazon Web Sevices
The official Amazon Web Services documentation can be found here.
The official Amazon Web Services documentation can be found here.
2
Answers
I have managed to find the solution. the xray daemon runs by default inside the lambda container as well. but if you run lambda inside a stepfunction in a distributed mode, no data will be sent according to AWS documentation. This was a very special use case where it does not matter if the daemon is running or not, lambda container will simply not be emitting any tracing information to the xray API. I am considering now either running the lambda with stepfunctions in another mode (inline mode), or simply use another librariy (from the opentelemetry)
Please add tag aws-lambda and remove aws-xray for attracting AWS Lambda attention. The Lambda image mechanism might be different than the normal Lambda, need AWS Lambda developer answer how XRay works in Lambda image.