SDK Name should include framework used
Problem Statement
From many (most or all?) Sentry SDKs the sdk name in the event payload, query params, and auth headers follows a pattern of including the framework when being used. The python SDK should follow the same pattern, this would make tracking usage per framework much easier.
Solution Brainstorm
SDK name in the event body, header, query param, and auth header should all match, similar or same as other SDKs
Where to include:
- [ ] event header Dev docs headers
- [ ] event body Develop docs Event payload Attributes
- [ ] auth header or query param: Authentication dev docs
This issue has gone three weeks without activity. In another week, I will close it.
But! If you comment or otherwise update it, I will reset the clock, and if you label it Status: Backlog or Status: In Progress, I will leave it alone ... forever!
"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀
Here is a list of all the integrations we have in Python and what name would this result in:
sentry.python.aiohttp
sentry.python.asgi
sentry.python.aws_lambda
sentry.python.beam
sentry.python.bottle
sentry.python.chalice
sentry.python.django
sentry.python.falcon
sentry.python.fastapi
sentry.python.flask
sentry.python.gcp
sentry.python.pyramid
sentry.python.quart
sentry.python.sanic
sentry.python.serverless
sentry.python.starlette
sentry.python.tornado
sentry.python.wsgi
(sentry.python.argv)
(sentry.python.atexit)
(sentry.python.boto3)
(sentry.python.celery)
(sentry.python.dedupe)
(sentry.python.excepthook)
(sentry.python.executing)
(sentry.python.modules)
(sentry.python.pure_eval)
(sentry.python.redis)
(sentry.python.rq)
(sentry.python.sqlalchemy)
(sentry.python.stdlib)
(sentry.python.threading)
(sentry.python.trytond)
(sentry.python.logging)
(sentry.python.gnu_backtrace)
(sentry.python.httpx)
Some of them are not framework integrations and therefore not worthy of a name on their own. (the ones in paranthesis)
So I guess he have to add a flag somewhere in the integration (or a global list of integrations) that defines if this integrations gets a name or not. And what should happen if a user has the Django and the FastAPI integration enabled? There should be some precedence, right? Or just an "undefined" behavior, whichever integration is loaded last sets the name?
I guess the frameworks that have a guide in the documentation (right sidebar for example here: https://docs.sentry.io/platforms/python/guides/bottle/) should have a name on their own.