sentry-python icon indicating copy to clipboard operation
sentry-python copied to clipboard

SDK Name should include framework used

Open smeubank opened this issue 3 years ago • 1 comments

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:

smeubank avatar Jul 15 '22 09:07 smeubank

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 🥀

github-actions[bot] avatar Aug 06 '22 00:08 github-actions[bot]

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?

antonpirker avatar Oct 04 '22 06:10 antonpirker

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.

antonpirker avatar Oct 04 '22 07:10 antonpirker