Open
Description
Component
OpenTelemetry.Instrumentation.AWSLambda
Question details
SQSEvent might contains multiple messages. How to handle them properly?
I can see that ExtractParentContext
supports SQSEvent.SQSMessage
input. So does it make sense to wrap each message processing, like this?
foreach (var message in sqsEvent.Records)
{
await AWSLambdaWrapper.TraceAsync(tracerProvider, (message, context) => HandleAsync(...), message, lambdaContext);
}
Or maybe wrap both SQSEvent and SQSEvent.SQSMessage?
await AWSLambdaWrapper.TraceAsync(tracerProvider, async (sqsEvent, lambdaContext) =>
{
foreach (var message in sqsEvent.Records)
{
await AWSLambdaWrapper.TraceAsync(tracerProvider, (message, context) => HandleAsync(...), message, lambdaContext);
}
}, sqsEvent, lambdaContext);