sentry-sdk 2.33.1__tar.gz → 2.34.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of sentry-sdk might be problematic. Click here for more details.
- {sentry_sdk-2.33.1/sentry_sdk.egg-info → sentry_sdk-2.34.0}/PKG-INFO +1 -1
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/__init__.py +1 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/ai/monitoring.py +3 -3
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/api.py +7 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/client.py +4 -1
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/consts.py +28 -5
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/celery/__init__.py +1 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/django/__init__.py +12 -1
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/gnu_backtrace.py +3 -14
- sentry_sdk-2.34.0/sentry_sdk/integrations/openai.py +656 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/utils.py +1 -49
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/threading.py +1 -1
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/serializer.py +9 -1
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/utils.py +46 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0/sentry_sdk.egg-info}/PKG-INFO +1 -1
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/setup.py +1 -1
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_client.py +7 -4
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_serializer.py +3 -2
- sentry_sdk-2.33.1/sentry_sdk/integrations/openai.py +0 -456
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/LICENSE +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/MANIFEST.in +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/README.md +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/pyproject.toml +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/_compat.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/_init_implementation.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/_log_batcher.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/_lru_cache.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/_queue.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/_types.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/_werkzeug.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/ai/__init__.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/ai/utils.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/attachments.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/crons/__init__.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/crons/api.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/crons/consts.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/crons/decorator.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/debug.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/envelope.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/feature_flags.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/hub.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/__init__.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/_asgi_common.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/_wsgi_common.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/aiohttp.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/anthropic.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/argv.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/ariadne.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/arq.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/asgi.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/asyncio.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/asyncpg.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/atexit.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/aws_lambda.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/beam.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/boto3.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/bottle.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/celery/beat.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/celery/utils.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/chalice.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/clickhouse_driver.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/cloud_resource_context.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/cohere.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/dedupe.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/django/asgi.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/django/caching.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/django/middleware.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/django/signals_handlers.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/django/templates.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/django/transactions.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/django/views.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/dramatiq.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/excepthook.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/executing.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/falcon.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/fastapi.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/flask.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/gcp.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/gql.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/graphene.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/grpc/__init__.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/grpc/aio/__init__.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/grpc/aio/client.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/grpc/aio/server.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/grpc/client.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/grpc/consts.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/grpc/server.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/httpx.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/huey.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/huggingface_hub.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/langchain.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/launchdarkly.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/litestar.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/logging.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/loguru.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/modules.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/__init__.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/consts.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/patches/__init__.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/patches/agent_run.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/patches/models.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/patches/runner.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/patches/tools.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/spans/__init__.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/spans/agent_workflow.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/spans/ai_client.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/spans/execute_tool.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/spans/handoff.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openai_agents/spans/invoke_agent.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/openfeature.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/opentelemetry/__init__.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/opentelemetry/consts.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/opentelemetry/integration.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/opentelemetry/propagator.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/opentelemetry/span_processor.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/pure_eval.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/pymongo.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/pyramid.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/quart.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/ray.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/redis/__init__.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/redis/_async_common.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/redis/_sync_common.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/redis/consts.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/redis/modules/__init__.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/redis/modules/caches.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/redis/modules/queries.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/redis/rb.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/redis/redis.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/redis/redis_cluster.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/redis/redis_py_cluster_legacy.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/redis/utils.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/rq.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/rust_tracing.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/sanic.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/serverless.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/socket.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/spark/__init__.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/spark/spark_driver.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/spark/spark_worker.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/sqlalchemy.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/starlette.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/starlite.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/statsig.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/stdlib.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/strawberry.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/sys_exit.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/tornado.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/trytond.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/typer.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/unleash.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/integrations/wsgi.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/logger.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/metrics.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/monitor.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/profiler/__init__.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/profiler/continuous_profiler.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/profiler/transaction_profiler.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/profiler/utils.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/py.typed +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/scope.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/scrubber.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/session.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/sessions.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/spotlight.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/tracing.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/tracing_utils.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/transport.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/types.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk/worker.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk.egg-info/SOURCES.txt +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk.egg-info/dependency_links.txt +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk.egg-info/entry_points.txt +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk.egg-info/not-zip-safe +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk.egg-info/requires.txt +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/sentry_sdk.egg-info/top_level.txt +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/setup.cfg +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_ai_monitoring.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_api.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_basics.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_conftest.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_crons.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_dsc.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_envelope.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_exceptiongroup.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_feature_flags.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_full_stack_frames.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_gevent.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_import.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_logs.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_lru_cache.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_metrics.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_monitor.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_propagationcontext.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_scope.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_scrubber.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_sessions.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_spotlight.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_tracing_utils.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_transport.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_types.py +0 -0
- {sentry_sdk-2.33.1 → sentry_sdk-2.34.0}/tests/test_utils.py +0 -0
|
@@ -40,7 +40,7 @@ def ai_track(description, **span_kwargs):
|
|
|
40
40
|
for k, v in kwargs.pop("sentry_data", {}).items():
|
|
41
41
|
span.set_data(k, v)
|
|
42
42
|
if curr_pipeline:
|
|
43
|
-
span.set_data(SPANDATA.
|
|
43
|
+
span.set_data(SPANDATA.GEN_AI_PIPELINE_NAME, curr_pipeline)
|
|
44
44
|
return f(*args, **kwargs)
|
|
45
45
|
else:
|
|
46
46
|
_ai_pipeline_name.set(description)
|
|
@@ -69,7 +69,7 @@ def ai_track(description, **span_kwargs):
|
|
|
69
69
|
for k, v in kwargs.pop("sentry_data", {}).items():
|
|
70
70
|
span.set_data(k, v)
|
|
71
71
|
if curr_pipeline:
|
|
72
|
-
span.set_data(SPANDATA.
|
|
72
|
+
span.set_data(SPANDATA.GEN_AI_PIPELINE_NAME, curr_pipeline)
|
|
73
73
|
return await f(*args, **kwargs)
|
|
74
74
|
else:
|
|
75
75
|
_ai_pipeline_name.set(description)
|
|
@@ -108,7 +108,7 @@ def record_token_usage(
|
|
|
108
108
|
# TODO: move pipeline name elsewhere
|
|
109
109
|
ai_pipeline_name = get_ai_pipeline_name()
|
|
110
110
|
if ai_pipeline_name:
|
|
111
|
-
span.set_data(SPANDATA.
|
|
111
|
+
span.set_data(SPANDATA.GEN_AI_PIPELINE_NAME, ai_pipeline_name)
|
|
112
112
|
|
|
113
113
|
if input_tokens is not None:
|
|
114
114
|
span.set_data(SPANDATA.GEN_AI_USAGE_INPUT_TOKENS, input_tokens)
|
|
@@ -84,6 +84,7 @@ __all__ = [
|
|
|
84
84
|
"monitor",
|
|
85
85
|
"start_session",
|
|
86
86
|
"end_session",
|
|
87
|
+
"set_transaction_name",
|
|
87
88
|
]
|
|
88
89
|
|
|
89
90
|
|
|
@@ -466,3 +467,9 @@ def start_session(
|
|
|
466
467
|
def end_session():
|
|
467
468
|
# type: () -> None
|
|
468
469
|
return get_isolation_scope().end_session()
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
@scopemethod
|
|
473
|
+
def set_transaction_name(name, source=None):
|
|
474
|
+
# type: (str, Optional[str]) -> None
|
|
475
|
+
return get_current_scope().set_transaction_name(name, source)
|
|
@@ -47,7 +47,6 @@ from sentry_sdk.profiler.transaction_profiler import (
|
|
|
47
47
|
)
|
|
48
48
|
from sentry_sdk.scrubber import EventScrubber
|
|
49
49
|
from sentry_sdk.monitor import Monitor
|
|
50
|
-
from sentry_sdk.spotlight import setup_spotlight
|
|
51
50
|
|
|
52
51
|
if TYPE_CHECKING:
|
|
53
52
|
from typing import Any
|
|
@@ -429,6 +428,10 @@ class _Client(BaseClient):
|
|
|
429
428
|
)
|
|
430
429
|
|
|
431
430
|
if self.options.get("spotlight"):
|
|
431
|
+
# This is intentionally here to prevent setting up spotlight
|
|
432
|
+
# stuff we don't need unless spotlight is explicitly enabled
|
|
433
|
+
from sentry_sdk.spotlight import setup_spotlight
|
|
434
|
+
|
|
432
435
|
self.spotlight = setup_spotlight(self.options)
|
|
433
436
|
if not self.options["dsn"]:
|
|
434
437
|
sample_all = lambda *_args, **_kwargs: 1.0
|
|
@@ -3,7 +3,10 @@ from enum import Enum
|
|
|
3
3
|
from typing import TYPE_CHECKING
|
|
4
4
|
|
|
5
5
|
# up top to prevent circular import due to integration import
|
|
6
|
-
|
|
6
|
+
# This is more or less an arbitrary large-ish value for now, so that we allow
|
|
7
|
+
# pretty long strings (like LLM prompts), but still have *some* upper limit
|
|
8
|
+
# until we verify that removing the trimming completely is safe.
|
|
9
|
+
DEFAULT_MAX_VALUE_LENGTH = 100_000
|
|
7
10
|
|
|
8
11
|
DEFAULT_MAX_STACK_FRAMES = 100
|
|
9
12
|
DEFAULT_ADD_FULL_STACK = False
|
|
@@ -169,6 +172,7 @@ class SPANDATA:
|
|
|
169
172
|
AI_PIPELINE_NAME = "ai.pipeline.name"
|
|
170
173
|
"""
|
|
171
174
|
Name of the AI pipeline or chain being executed.
|
|
175
|
+
DEPRECATED: Use GEN_AI_PIPELINE_NAME instead.
|
|
172
176
|
Example: "qa-pipeline"
|
|
173
177
|
"""
|
|
174
178
|
|
|
@@ -229,6 +233,7 @@ class SPANDATA:
|
|
|
229
233
|
AI_STREAMING = "ai.streaming"
|
|
230
234
|
"""
|
|
231
235
|
Whether or not the AI model call's response was streamed back asynchronously
|
|
236
|
+
DEPRECATED: Use GEN_AI_RESPONSE_STREAMING instead.
|
|
232
237
|
Example: true
|
|
233
238
|
"""
|
|
234
239
|
|
|
@@ -372,6 +377,24 @@ class SPANDATA:
|
|
|
372
377
|
Example: "chat"
|
|
373
378
|
"""
|
|
374
379
|
|
|
380
|
+
GEN_AI_PIPELINE_NAME = "gen_ai.pipeline.name"
|
|
381
|
+
"""
|
|
382
|
+
Name of the AI pipeline or chain being executed.
|
|
383
|
+
Example: "qa-pipeline"
|
|
384
|
+
"""
|
|
385
|
+
|
|
386
|
+
GEN_AI_RESPONSE_MODEL = "gen_ai.response.model"
|
|
387
|
+
"""
|
|
388
|
+
Exact model identifier used to generate the response
|
|
389
|
+
Example: gpt-4o-mini-2024-07-18
|
|
390
|
+
"""
|
|
391
|
+
|
|
392
|
+
GEN_AI_RESPONSE_STREAMING = "gen_ai.response.streaming"
|
|
393
|
+
"""
|
|
394
|
+
Whether or not the AI model call's response was streamed back asynchronously
|
|
395
|
+
Example: true
|
|
396
|
+
"""
|
|
397
|
+
|
|
375
398
|
GEN_AI_RESPONSE_TEXT = "gen_ai.response.text"
|
|
376
399
|
"""
|
|
377
400
|
The model's response text messages.
|
|
@@ -411,7 +434,7 @@ class SPANDATA:
|
|
|
411
434
|
GEN_AI_REQUEST_MODEL = "gen_ai.request.model"
|
|
412
435
|
"""
|
|
413
436
|
The model identifier being used for the request.
|
|
414
|
-
Example: "gpt-4-turbo
|
|
437
|
+
Example: "gpt-4-turbo"
|
|
415
438
|
"""
|
|
416
439
|
|
|
417
440
|
GEN_AI_REQUEST_PRESENCE_PENALTY = "gen_ai.request.presence_penalty"
|
|
@@ -649,9 +672,11 @@ class OP:
|
|
|
649
672
|
FUNCTION_AWS = "function.aws"
|
|
650
673
|
FUNCTION_GCP = "function.gcp"
|
|
651
674
|
GEN_AI_CHAT = "gen_ai.chat"
|
|
675
|
+
GEN_AI_EMBEDDINGS = "gen_ai.embeddings"
|
|
652
676
|
GEN_AI_EXECUTE_TOOL = "gen_ai.execute_tool"
|
|
653
677
|
GEN_AI_HANDOFF = "gen_ai.handoff"
|
|
654
678
|
GEN_AI_INVOKE_AGENT = "gen_ai.invoke_agent"
|
|
679
|
+
GEN_AI_RESPONSES = "gen_ai.responses"
|
|
655
680
|
GRAPHQL_EXECUTE = "graphql.execute"
|
|
656
681
|
GRAPHQL_MUTATION = "graphql.mutation"
|
|
657
682
|
GRAPHQL_PARSE = "graphql.parse"
|
|
@@ -674,8 +699,6 @@ class OP:
|
|
|
674
699
|
MIDDLEWARE_STARLITE = "middleware.starlite"
|
|
675
700
|
MIDDLEWARE_STARLITE_RECEIVE = "middleware.starlite.receive"
|
|
676
701
|
MIDDLEWARE_STARLITE_SEND = "middleware.starlite.send"
|
|
677
|
-
OPENAI_CHAT_COMPLETIONS_CREATE = "ai.chat_completions.create.openai"
|
|
678
|
-
OPENAI_EMBEDDINGS_CREATE = "ai.embeddings.create.openai"
|
|
679
702
|
HUGGINGFACE_HUB_CHAT_COMPLETIONS_CREATE = (
|
|
680
703
|
"ai.chat_completions.create.huggingface_hub"
|
|
681
704
|
)
|
|
@@ -1181,4 +1204,4 @@ DEFAULT_OPTIONS = _get_default_options()
|
|
|
1181
1204
|
del _get_default_options
|
|
1182
1205
|
|
|
1183
1206
|
|
|
1184
|
-
VERSION = "2.
|
|
1207
|
+
VERSION = "2.34.0"
|
|
@@ -7,7 +7,7 @@ from importlib import import_module
|
|
|
7
7
|
import sentry_sdk
|
|
8
8
|
from sentry_sdk.consts import OP, SPANDATA
|
|
9
9
|
from sentry_sdk.scope import add_global_event_processor, should_send_default_pii
|
|
10
|
-
from sentry_sdk.serializer import add_global_repr_processor
|
|
10
|
+
from sentry_sdk.serializer import add_global_repr_processor, add_repr_sequence_type
|
|
11
11
|
from sentry_sdk.tracing import SOURCE_FOR_STYLE, TransactionSource
|
|
12
12
|
from sentry_sdk.tracing_utils import add_query_source, record_sql_queries
|
|
13
13
|
from sentry_sdk.utils import (
|
|
@@ -269,6 +269,7 @@ class DjangoIntegration(Integration):
|
|
|
269
269
|
patch_views()
|
|
270
270
|
patch_templates()
|
|
271
271
|
patch_signals()
|
|
272
|
+
add_template_context_repr_sequence()
|
|
272
273
|
|
|
273
274
|
if patch_caching is not None:
|
|
274
275
|
patch_caching()
|
|
@@ -745,3 +746,13 @@ def _set_db_data(span, cursor_or_db):
|
|
|
745
746
|
server_socket_address = connection_params.get("unix_socket")
|
|
746
747
|
if server_socket_address is not None:
|
|
747
748
|
span.set_data(SPANDATA.SERVER_SOCKET_ADDRESS, server_socket_address)
|
|
749
|
+
|
|
750
|
+
|
|
751
|
+
def add_template_context_repr_sequence():
|
|
752
|
+
# type: () -> None
|
|
753
|
+
try:
|
|
754
|
+
from django.template.context import BaseContext
|
|
755
|
+
|
|
756
|
+
add_repr_sequence_type(BaseContext)
|
|
757
|
+
except Exception:
|
|
758
|
+
pass
|
|
@@ -12,23 +12,12 @@ if TYPE_CHECKING:
|
|
|
12
12
|
from sentry_sdk._types import Event
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
TYPE_RE = r"[a-zA-Z0-9._:<>,-]+"
|
|
17
|
-
HEXVAL_RE = r"[A-Fa-f0-9]+"
|
|
18
|
-
|
|
15
|
+
FUNCTION_RE = r"[^@]+?)\s+@\s+0x[0-9a-fA-F]+"
|
|
19
16
|
|
|
20
17
|
FRAME_RE = r"""
|
|
21
|
-
^(?P<index>\d+)\.\s
|
|
22
|
-
(?P<package>{MODULE_RE})\(
|
|
23
|
-
(?P<retval>{TYPE_RE}\ )?
|
|
24
|
-
((?P<function>{TYPE_RE})
|
|
25
|
-
(?P<args>\(.*\))?
|
|
26
|
-
)?
|
|
27
|
-
((?P<constoffset>\ const)?\+0x(?P<offset>{HEXVAL_RE}))?
|
|
28
|
-
\)\s
|
|
29
|
-
\[0x(?P<retaddr>{HEXVAL_RE})\]$
|
|
18
|
+
^(?P<index>\d+)\.\s+(?P<function>{FUNCTION_RE}\s+in\s+(?P<package>.+)$
|
|
30
19
|
""".format(
|
|
31
|
-
|
|
20
|
+
FUNCTION_RE=FUNCTION_RE,
|
|
32
21
|
)
|
|
33
22
|
|
|
34
23
|
FRAME_RE = re.compile(FRAME_RE, re.MULTILINE | re.VERBOSE)
|