Skip to content

feat(tornado): Support span streaming#6206

Open
sl0thentr0py wants to merge 2 commits intomasterfrom
neel/span-first/tornado
Open

feat(tornado): Support span streaming#6206
sl0thentr0py wants to merge 2 commits intomasterfrom
neel/span-first/tornado

Conversation

@sl0thentr0py
Copy link
Copy Markdown
Member

Issues

@sl0thentr0py sl0thentr0py requested a review from a team as a code owner May 5, 2026 13:32
@linear-code
Copy link
Copy Markdown

linear-code Bot commented May 5, 2026

@sl0thentr0py sl0thentr0py changed the title ref(tornado): migrate to span-first ref(tornado): migrate to span first May 5, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

Codecov Results 📊

13 passed | Total: 13 | Pass Rate: 100% | Execution Time: 12.65s

All tests are passing successfully.

❌ Patch coverage is 6.52%. Project has 15088 uncovered lines.

Files with missing lines (1)
File Patch % Lines
tornado.py 11.76% ⚠️ 135 Missing

Generated by Codecov Action

@sl0thentr0py sl0thentr0py changed the title ref(tornado): migrate to span first feat(tornado): Support span streaming May 5, 2026
Copy link
Copy Markdown
Contributor

@alexander-alderman-webb alexander-alderman-webb left a comment

Choose a reason for hiding this comment

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

Comment not blocking, looks good to me!

Comment thread sentry_sdk/integrations/tornado.py Outdated
Comment thread tests/integrations/tornado/test_tornado.py Outdated
Comment thread tests/integrations/tornado/test_tornado.py Outdated
span.status = "error" if status_int >= 400 else "ok"


def _get_request_attributes(request: "Any") -> "Dict[str, Any]":
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Are we still capturing the request body in the streaming path? See https://getsentry.github.io/sentry-conventions/attributes/http/#http-request-body-data

For prior art IIRC @ericapisani did this for another integration, not sure which exactly

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

starlette and aiohttp were the couple that I worked on that had this

Comment thread sentry_sdk/integrations/tornado.py Outdated
Comment thread sentry_sdk/integrations/tornado.py Outdated
span.status = "error" if status_int >= 400 else "ok"


def _get_request_attributes(request: "Any") -> "Dict[str, Any]":
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

starlette and aiohttp were the couple that I worked on that had this

Comment thread sentry_sdk/integrations/tornado.py
Add span-streaming support to the Tornado integration. When span
streaming is enabled, the request handler emits a StreamedSpan with
HTTP request attributes (method, headers, query, URL, client address)
and sets the response status on completion. The legacy transaction
path is preserved for non-streaming mode.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@sl0thentr0py sl0thentr0py force-pushed the neel/span-first/tornado branch from 82de412 to a58538d Compare May 7, 2026 13:05
Comment thread sentry_sdk/integrations/tornado.py
Copy link
Copy Markdown

@cursor cursor Bot left a comment

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 2 potential issues.

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 036b60a. Configure here.

Comment thread sentry_sdk/integrations/tornado.py
Comment thread sentry_sdk/integrations/tornado.py
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.

Migrate tornado to span first

4 participants