-
Notifications
You must be signed in to change notification settings - Fork 571
Closed
Description
How do you use Sentry?
Sentry Saas (sentry.io)
Version
2.18.0
Steps to Reproduce
- Have a view like
class StreamingView(APIView):
def post(self, request, *args, **kwargs):
span = sentry_sdk.start_span(name=f"Log: {record.msg}", op="log.info", sampled=False)
print(span)
span.set_data("value", record.msg)
span.set_data("filename", f"{record.pathname} at line {record.lineno}")
span.finish()
generator_streaming = dummy_function.execute(parameters=parameters)
return StreamingHttpResponse(generator_streaming, content_type='text/event-stream')
Here the span.trace_id will be for instance "1234"
- Inside the dummy_function
def execute():
span = sentry_sdk.start_span(name=f"Log: {record.msg}", op="log.info", sampled=False)
print(span)
span.set_data("value", record.msg)
span.set_data("filename", f"{record.pathname} at line {record.lineno}")
span.finish()
In this function, the trace_id will be totally different.
I think that this is related the StreamingHttpResponse, because the Sentry is working fine for all my other views.
Feel free to ask more details to help in the investigation.
FROM python:3.9.18-slim-bullseye
Django==4.1
djangorestframework==3.14
I'm executing my server with python manage.py runserver 0.0.0.0:8000
In production we use something like gunicorn api.wsgi -b 0.0.0.0:8081
Expected Result
The trace_id should stay the same in StreamingHttpResponse views and underlying function calls.
Actual Result
The trace_id is different between the view and underlying function calls.
Metadata
Metadata
Assignees
Projects
Status
No status