Skip to content

feat(aws-lambda): Detect Lambda triggers - #8222

Draft
sentry-junior[bot] wants to merge 4 commits into
junior/aws-lambda-invoke-trace-continuationfrom
junior/aws-lambda-trigger
Draft

sentry-junior[bot] wants to merge 4 commits into
junior/aws-lambda-invoke-trace-continuationfrom
junior/aws-lambda-trigger

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Description

Sets faas.trigger on the Lambda span based on the shape of the delivered event:

  • http: API Gateway REST/HTTP, function URLs, ALB, CloudFront, AppSync
  • pubsub: SQS, SNS, Kinesis, Kafka, MQ, SES, EventBridge
  • datasource: S3, DynamoDB Streams, DocumentDB
  • timer: EventBridge schedules
  • other: anything else

The trigger is read from the event envelope, never from its payload. test_trigger has one case per code path. Other event sources use the same lookup table, so they have no extra cases.

messaging.batch.message_count is removed from the Lambda span, the same way as in #8229. The count stays on messaging spans only: boto3 receive and batch-send spans, and queue.process for SQS/SNS triggers (#8223). This repeats #8229's change because this stack is based on #8117, not on #8229. Once #8229 lands, the repeated lines merge cleanly or can be dropped.

This is Pablo's code from pablo/aws-lambda-trigger, without his batch counting for the invocation span. It's the second of three stacked drafts (#8221 → this → queue.process).

Issues

via @dingsdax.

--

View Session [Sentry]

Classify the delivered event into faas.trigger: http (API Gateway,
function URLs, ALB, CloudFront, AppSync), pubsub (SQS, SNS, Kinesis,
Kafka, MQ, SES, EventBridge), datasource (S3, DynamoDB Streams,
DocumentDB), timer (EventBridge schedules) or other. The trigger is
read from the event envelope, never from its payload.

messaging.batch.message_count is now only set for messaging
deliveries, with the number of delivered messages.

Co-Authored-By: Johannes Daxböck <114897+dingsdax@users.noreply.github.com>
@linear-code

linear-code Bot commented Nov 9, 2026

Copy link
Copy Markdown

PY-3018

@github-actions

github-actions Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Coverage Results 📊

✅ 57699 passed | ⏭️ 2979 skipped | Total: 60678 | Pass Rate: 95.09% | Execution Time: 158m 16s

📊 Comparison with Base Branch

Metric Change
Total Tests 📉 -83999
Passed Tests 📉 -79522
Failed Tests —
Skipped Tests 📉 -4477

All tests are passing successfully.

❌ Patch coverage is 26.47% (9 of 34 changed executable lines covered; target 80%).
Project statement coverage is 90.09% (down 0.26 percentage points from base (120a441) to head (d877f00)).

Changed files with executable lines (3)
File Patch coverage Changed executable lines
sentry_sdk/integrations/aws_lambda/_trigger.py 20.69% 6/29 covered; missed: 40, 45, 54, 56, 57, 58, 60, 61, 65, 66, 69, 71, 72, 74, 75, 77, 78, 79, 81, 82, 86, 87, 89
sentry_sdk/integrations/aws_lambda/_handler.py 33.33% 1/3 covered; missed: 166, 167
sentry_sdk/consts.py 100.00% 2/2 covered
Coverage diff
@@            Coverage Diff             @@
##        master     #8222       +/-##
==========================================
- Coverage    90.35%    90.09%    -0.26%
==========================================
  Files          203       199        -4
  Tracked lines     26931     21425     -5506
  Branches     10058      7422     -2636
==========================================
- Hits         24331     19301     -5030
+ Misses        2600      2124      -476
+ Partials      1517      1240      -277

Generated by Coverage Action

sentry-junior Bot and others added 3 commits November 9, 2026 07:57
…a span

Keep the count on messaging spans only (boto3 receive and batch-send
spans, and queue.process for SQS/SNS triggers), as in the OTel
messaging conventions and the JS SDK. This drops the batch counting for
Kafka, MQ and RabbitMQ deliveries, and matches #8219 so both PRs change
these lines the same way.

Co-Authored-By: johdax <114897+dingsdax@users.noreply.github.com>
…r/aws-lambda-trigger

Co-Authored-By: Johannes Daxböck <114897+dingsdax@users.noreply.github.com>
Each case is a SAM invoke. The removed cases only checked other keys of
the same lookup table.

Co-Authored-By: Johannes Daxböck <114897+dingsdax@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant