Skip to content

feat(boto3): Add S3 extension - #7888

Open
pabloDeputter wants to merge 25 commits into
major/3.0from
pablo/boto3-add-s3-extension
Open

pabloDeputter wants to merge 25 commits into
major/3.0from
pablo/boto3-add-s3-extension

Conversation

@pabloDeputter

@pabloDeputter pabloDeputter commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

Description

Adds the following request/response attributes: aws.s3.bucket, aws.s3.key, aws.s3.upload_id, aws.s3.copy_source, aws.s3.delete, aws.s3.part_number, http.response.body.size (number of bytes in payload), file.size (represents the total file/object size)

Following tests were removed/moved from old test_s3.py (old boto3 integration only added s3 streaming responses support):

  • test_basic() removed - basically only tests botocore xml parsing behavior; generic span behavior is already tested in test_client.py.
  • test_streaming() / test_streaming_close() removed - behavior is already tested in test_client.py with mock HTTP server.
  • test_span_origin() removed - overlaps with existing tests.
  • test_omit_url_data_if_parsing_fails() moved to test_client.py and simplified since it's generic instrumentation.
  • test_breadcrumb() and test_url_query_data_collection_breadcrumb() moved and combined to test_client.py, once again since it's generic instrumentation.

Issues

Resolves #7576

@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Codecov Results 📊

✅ 55467 passed | ⏭️ 2750 skipped | Total: 58217 | Pass Rate: 95.28% | Execution Time: 155m 55s

📊 Comparison with Base Branch

Metric Change
Total Tests 📉 -82476
Passed Tests 📉 -77950
Failed Tests —
Skipped Tests 📉 -4526

All tests are passing successfully.

✅ Patch coverage is 100.00%. Project has 2054 uncovered lines.
❌ Project coverage is 90.09%. Comparing base (0cc9b31) to head (9eb12cd).

Coverage diff
@@            Coverage Diff             @@
##        master       #PR       +/-##
==========================================
- Coverage    90.37%    90.09%    -0.28%
==========================================
  Files          202       187       -15
  Lines        26547     20729     -5818
  Branches      9852      7136     -2716
==========================================
+ Hits         23990     18675     -5315
- Misses        2557      2054      -503
- Partials      1496      1214      -282

Generated by Codecov Action

@pabloDeputter
pabloDeputter force-pushed the pablo/boto3-add-s3-extension branch from 08ce57f to c43fff1 Compare October 6, 2026 14:53
@pabloDeputter
pabloDeputter force-pushed the pablo/boto3-add-s3-extension branch from ca494d2 to 9938a64 Compare October 7, 2026 12:47
@pabloDeputter
pabloDeputter marked this pull request as ready for review October 7, 2026 13:38
@pabloDeputter
pabloDeputter requested a review from a team as a code owner October 7, 2026 13:38

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 9eb12cd. Configure here.

if "Delete" in ctx.params:
attributes[SPANDATA.AWS_S3_DELETE] = json.dumps(
ctx.params["Delete"], separators=(",", ":"), sort_keys=True
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Delete serialization drops S3 attributes

Low Severity

json.dumps of Delete cannot serialize timestamp values such as LastModifiedTime, a valid DeleteObjects field on directory buckets. That exception aborts get_request_attributes before it returns, so already-extracted attributes like aws.s3.bucket never reach the span.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 9eb12cd. Configure here.

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