Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion sentry_sdk/feature_flags.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,6 @@ def add_feature_flag(flag: str, result: bool) -> None:
flags = sentry_sdk.get_isolation_scope().flags
flags.set(flag, result)

span = sentry_sdk.traces.get_current_span()
span = sentry_sdk.get_current_span()
if span is not None:
span.set_attribute(f"flag.evaluation.{flag}", result)
8 changes: 4 additions & 4 deletions sentry_sdk/integrations/aiohttp.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ async def sentry_app_handle(

headers = dict(request.headers)

sentry_sdk.traces.continue_trace(headers)
sentry_sdk.continue_trace(headers)
Scope.set_custom_sampling_context({"aiohttp_request": request})

header_attributes: "dict[str, Any]" = {}
Expand Down Expand Up @@ -197,7 +197,7 @@ async def sentry_app_handle(
SPANDATA.USER_IP_ADDRESS, request.remote
)

span = sentry_sdk.traces.start_span(
span = sentry_sdk.start_span(
# If this name makes it to the UI, AIOHTTP's URL
# resolver did not find a route or died trying.
name="generic AIOHTTP request",
Expand Down Expand Up @@ -385,8 +385,8 @@ async def on_request_start(
attributes["url.full"] = url_full
breadcrumb["url"] = url_full

if sentry_sdk.traces.get_current_span() is not None:
span = sentry_sdk.traces.start_span(name=span_name, attributes=attributes)
if sentry_sdk.get_current_span() is not None:
span = sentry_sdk.start_span(name=span_name, attributes=attributes)

if should_propagate_trace(client, str(params.url)):
# existing `sentry-trace`: skip so it is not duplicated.
Expand Down
4 changes: 2 additions & 2 deletions sentry_sdk/integrations/aiomysql.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,15 +193,15 @@ async def _inner(self: "Connection") -> T:
message="connect", category="query", data=breadcrumb_data
)

if sentry_sdk.traces.get_current_span() is None:
if sentry_sdk.get_current_span() is None:
return await f(self)

span_attributes: dict[str, Any] = {
"sentry.op": OP.DB,
"sentry.origin": AioMySQLIntegration.origin,
} | breadcrumb_data

with sentry_sdk.traces.start_span(name="connect", attributes=span_attributes):
with sentry_sdk.start_span(name="connect", attributes=span_attributes):
return await f(self)

return _inner
Expand Down
8 changes: 4 additions & 4 deletions sentry_sdk/integrations/anthropic.py
Original file line number Diff line number Diff line change
Expand Up @@ -722,7 +722,7 @@ def _sentry_patched_create_sync(f: "Any", *args: "Any", **kwargs: "Any") -> "Any

model = kwargs.get("model", "")

span = sentry_sdk.traces.start_span(
span = sentry_sdk.start_span(
name=f"chat {model}".strip(),
attributes={
"sentry.op": OP.GEN_AI_CHAT,
Expand Down Expand Up @@ -812,7 +812,7 @@ async def _sentry_patched_create_async(

model = kwargs.get("model", "")

span = sentry_sdk.traces.start_span(
span = sentry_sdk.start_span(
name=f"chat {model}".strip(),
attributes={
"sentry.op": OP.GEN_AI_CHAT,
Expand Down Expand Up @@ -1053,7 +1053,7 @@ def _sentry_patched_enter(self: "MessageStreamManager") -> "MessageStream":
except TypeError:
return f(self)

span = sentry_sdk.traces.start_span(
span = sentry_sdk.start_span(
name="chat"
if patched_self._model is None
else f"chat {patched_self._model}".strip(),
Expand Down Expand Up @@ -1157,7 +1157,7 @@ async def _sentry_patched_aenter(
except TypeError:
return await f(self)

span = sentry_sdk.traces.start_span(
span = sentry_sdk.start_span(
name="chat"
if patched_self._model is None
else f"chat {patched_self._model}".strip(),
Expand Down
6 changes: 3 additions & 3 deletions sentry_sdk/integrations/arq.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,10 @@ async def _sentry_enqueue_job(
if client.get_integration(ArqIntegration) is None:
return await old_enqueue_job(self, function, *args, **kwargs)

if sentry_sdk.traces.get_current_span() is None:
if sentry_sdk.get_current_span() is None:
return await old_enqueue_job(self, function, *args, **kwargs)

with sentry_sdk.traces.start_span(
with sentry_sdk.start_span(
name=function,
attributes={
"sentry.op": OP.QUEUE_SUBMIT_ARQ,
Expand All @@ -105,7 +105,7 @@ async def _sentry_run_job(self: "Worker", job_id: str, score: int) -> None:
scope._name = "arq"
scope.clear_breadcrumbs()

with sentry_sdk.traces.start_span(
with sentry_sdk.start_span(
name="unknown arq task",
attributes={
"sentry.op": OP.QUEUE_TASK_ARQ,
Expand Down
8 changes: 4 additions & 4 deletions sentry_sdk/integrations/asgi.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,24 +235,24 @@ async def _run_app(

if ty in ("http", "websocket"):
if ty == "websocket" or method in self.http_methods_to_capture:
sentry_sdk.traces.continue_trace(_get_headers(scope))
sentry_sdk.continue_trace(_get_headers(scope))

Scope.set_custom_sampling_context({"asgi_scope": scope})

attributes["sentry.op"] = f"{ty}.server"
span = sentry_sdk.traces.start_span(
span = sentry_sdk.start_span(
name=transaction_name,
attributes=attributes,
parent_span=None,
)
sentry_scope.get_current_scope()._server_segment_span = span
else:
sentry_sdk.traces.new_trace()
sentry_sdk.new_trace()

Scope.set_custom_sampling_context({"asgi_scope": scope})

attributes["sentry.op"] = OP.HTTP_SERVER
span = sentry_sdk.traces.start_span(
span = sentry_sdk.start_span(
name=transaction_name,
attributes=attributes,
parent_span=None,
Expand Down
4 changes: 2 additions & 2 deletions sentry_sdk/integrations/asyncio.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,8 @@ async def _task_with_sentry_span_creation() -> "Any":

with sentry_sdk.isolation_scope():
span_ctx = nullcontext()
if task_spans and sentry_sdk.traces.get_current_span() is not None:
span_ctx = sentry_sdk.traces.start_span(
if task_spans and sentry_sdk.get_current_span() is not None:
span_ctx = sentry_sdk.start_span(
name=get_name(coro),
attributes={
"sentry.op": OP.FUNCTION,
Expand Down
4 changes: 2 additions & 2 deletions sentry_sdk/integrations/asyncpg.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,10 +222,10 @@ async def _inner(*args: "Any", **kwargs: "Any") -> "T":
message="connect", category="query", data=span_attributes
)

if sentry_sdk.traces.get_current_span() is None:
if sentry_sdk.get_current_span() is None:
return await f(*args, **kwargs)

with sentry_sdk.traces.start_span(name="connect", attributes=span_attributes):
with sentry_sdk.start_span(name="connect", attributes=span_attributes):
return await f(*args, **kwargs)

return _inner
Expand Down
4 changes: 2 additions & 2 deletions sentry_sdk/integrations/aws_lambda.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,10 +213,10 @@ def sentry_handler(

function_name = aws_context.function_name

sentry_sdk.traces.continue_trace(headers)
sentry_sdk.continue_trace(headers)
Scope.set_custom_sampling_context(sampling_context)

with sentry_sdk.traces.start_span(
with sentry_sdk.start_span(
name=function_name,
parent_span=None,
attributes={
Expand Down
6 changes: 3 additions & 3 deletions sentry_sdk/integrations/boto3.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ def _sentry_request_created(
if request.method is not None:
breadcrumb[SPANDATA.HTTP_REQUEST_METHOD] = request.method

if sentry_sdk.traces.get_current_span() is not None:
span = sentry_sdk.traces.start_span(
if sentry_sdk.get_current_span() is not None:
span = sentry_sdk.start_span(
name=description,
attributes={
"sentry.op": OP.HTTP_CLIENT,
Expand Down Expand Up @@ -176,7 +176,7 @@ def _sentry_after_call(
if not isinstance(body, StreamingBody):
return

streaming_span = sentry_sdk.traces.start_span(
streaming_span = sentry_sdk.start_span(
name=span.name,
parent_span=span,
attributes={
Expand Down
21 changes: 9 additions & 12 deletions sentry_sdk/integrations/celery/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ def setup_once() -> None:

def _set_status(status: str) -> None:
with capture_internal_exceptions():
span = sentry_sdk.traces.get_current_span()
span = sentry_sdk.get_current_span()

if span is not None:
span.status = "ok" if status == "ok" else "error"
Expand Down Expand Up @@ -278,11 +278,8 @@ def apply_async(*args: "Any", **kwargs: "Any") -> "Any":
task_started_from_beat = sentry_sdk.get_isolation_scope()._name == "celery-beat"

span = None
if (
not task_started_from_beat
and sentry_sdk.traces.get_current_span() is not None
):
span = sentry_sdk.traces.start_span(
if not task_started_from_beat and sentry_sdk.get_current_span() is not None:
span = sentry_sdk.start_span(
name=task_name,
attributes={
"sentry.op": OP.QUEUE_SUBMIT_CELERY,
Expand Down Expand Up @@ -337,11 +334,11 @@ def _inner(*args: "Any", **kwargs: "Any") -> "Any":
# something such as attribute access can fail.
with capture_internal_exceptions():
headers = args[3].get("headers") or {}
sentry_sdk.traces.continue_trace(headers)
sentry_sdk.continue_trace(headers)

Scope.set_custom_sampling_context(custom_sampling_context)

span = sentry_sdk.traces.start_span(
span = sentry_sdk.start_span(
name=task_name,
parent_span=None, # make this a segment
attributes={
Expand Down Expand Up @@ -380,10 +377,10 @@ def _inner(*args: "Any", **kwargs: "Any") -> "Any":
return f(*args, **kwargs)

try:
if sentry_sdk.traces.get_current_span() is None:
if sentry_sdk.get_current_span() is None:
return f(*args, **kwargs)

with sentry_sdk.traces.start_span(
with sentry_sdk.start_span(
name=task.name,
attributes={
"sentry.op": OP.QUEUE_PROCESS,
Expand Down Expand Up @@ -516,10 +513,10 @@ def sentry_publish(self: "Producer", *args: "Any", **kwargs: "Any") -> "Any":
routing_key = kwargs.get("routing_key")
exchange = kwargs.get("exchange")

if sentry_sdk.traces.get_current_span() is None:
if sentry_sdk.get_current_span() is None:
return original_publish(self, *args, **kwargs)

with sentry_sdk.traces.start_span(
with sentry_sdk.start_span(
name=task_name,
attributes={
"sentry.op": OP.QUEUE_PUBLISH,
Expand Down
2 changes: 1 addition & 1 deletion sentry_sdk/integrations/chalice.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ def wrapped_view_function(**function_args: "Any") -> "Any":
source=SegmentNameSource.COMPONENT,
)

current_span = sentry_sdk.traces.get_current_span()
current_span = sentry_sdk.get_current_span()
segment = None
if type(current_span) is Span:
# A segment already exists (created by the AWS Lambda
Expand Down
6 changes: 3 additions & 3 deletions sentry_sdk/integrations/clickhouse_driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,9 @@ def _inner(*args: "P.args", **kwargs: "P.kwargs") -> "T":
query = args[1]

span = None
if sentry_sdk.traces.get_current_span() is not None:
span = sentry_sdk.traces.start_span(
name=query, # type: ignore
if sentry_sdk.get_current_span() is not None:
span = sentry_sdk.start_span(
name=query,
attributes={
"sentry.op": OP.DB,
"sentry.origin": ClickhouseDriverIntegration.origin,
Expand Down
4 changes: 2 additions & 2 deletions sentry_sdk/integrations/cohere.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ def new_chat(*args: "Any", **kwargs: "Any") -> "Any":

message = kwargs.get("message")

span = sentry_sdk.traces.start_span(
span = sentry_sdk.start_span(
name="cohere.client.Chat",
attributes={
"sentry.op": consts.OP.COHERE_CHAT_COMPLETIONS_CREATE,
Expand Down Expand Up @@ -244,7 +244,7 @@ def new_embed(*args: "Any", **kwargs: "Any") -> "Any":
if integration is None:
return f(*args, **kwargs)

with sentry_sdk.traces.start_span(
with sentry_sdk.start_span(
name="Cohere Embedding Creation",
attributes={
"sentry.op": consts.OP.COHERE_EMBEDDINGS_CREATE,
Expand Down
16 changes: 8 additions & 8 deletions sentry_sdk/integrations/django/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -350,11 +350,11 @@ def sentry_patched_drf_authenticate(self: "Request") -> "Any":
if (
integration is None
or not getattr(self, "authenticators", None)
or sentry_sdk.traces.get_current_span() is None
or sentry_sdk.get_current_span() is None
):
return old_drf_authenticate(self)

with sentry_sdk.traces.start_span(
with sentry_sdk.start_span(
name="authenticate",
attributes={
"sentry.op": OP.VIEW_AUTHENTICATE,
Expand Down Expand Up @@ -831,9 +831,9 @@ def connect(self: "BaseDatabaseWrapper") -> None:
with capture_internal_exceptions():
sentry_sdk.add_breadcrumb(message="connect", category="query")

if sentry_sdk.traces.get_current_span() is None:
if sentry_sdk.get_current_span() is None:
return real_connect(self)
with sentry_sdk.traces.start_span(
with sentry_sdk.start_span(
name="connect",
attributes={
"sentry.op": OP.DB,
Expand All @@ -849,10 +849,10 @@ def _commit(self: "BaseDatabaseWrapper") -> None:
if integration is None or not integration.db_transaction_spans:
return real_commit(self)

if sentry_sdk.traces.get_current_span() is None:
if sentry_sdk.get_current_span() is None:
return real_commit(self)

with sentry_sdk.traces.start_span(
with sentry_sdk.start_span(
name=SPANNAME.DB_COMMIT,
attributes={
"sentry.op": OP.DB,
Expand All @@ -868,10 +868,10 @@ def _rollback(self: "BaseDatabaseWrapper") -> None:
if integration is None or not integration.db_transaction_spans:
return real_rollback(self)

if sentry_sdk.traces.get_current_span() is None:
if sentry_sdk.get_current_span() is None:
return real_rollback(self)

with sentry_sdk.traces.start_span(
with sentry_sdk.start_span(
name=SPANNAME.DB_ROLLBACK,
attributes={
"sentry.op": OP.DB,
Expand Down
4 changes: 2 additions & 2 deletions sentry_sdk/integrations/django/asgi.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ async def sentry_wrapped_callback(
request: "Any", *args: "Any", **kwargs: "Any"
) -> "Any":
client = sentry_sdk.get_client()
current_span = sentry_sdk.traces.get_current_span()
current_span = sentry_sdk.get_current_span()
if type(current_span) is Span:
segment = current_span._segment
segment._update_active_thread()
Expand All @@ -186,7 +186,7 @@ async def sentry_wrapped_callback(
if current_span is None:
return await callback(request, *args, **kwargs)

with sentry_sdk.traces.start_span(
with sentry_sdk.start_span(
name=request.resolver_match.view_name,
attributes={
"sentry.op": OP.VIEW_RENDER,
Expand Down
4 changes: 2 additions & 2 deletions sentry_sdk/integrations/django/caching.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,10 @@ def _instrument_call(
op = OP.CACHE_PUT if is_set_operation else OP.CACHE_GET
description = _get_span_description(method_name, args, kwargs)

if sentry_sdk.traces.get_current_span() is None:
if sentry_sdk.get_current_span() is None:
return original_method(*args, **kwargs)

with sentry_sdk.traces.start_span(
with sentry_sdk.start_span(
name=description,
attributes={
"sentry.op": op,
Expand Down
4 changes: 2 additions & 2 deletions sentry_sdk/integrations/django/middleware.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,10 @@ def _check_middleware_span(
if function_basename:
description = "{}.{}".format(description, function_basename)

if sentry_sdk.traces.get_current_span() is None:
if sentry_sdk.get_current_span() is None:
return None

middleware_span = sentry_sdk.traces.start_span(
middleware_span = sentry_sdk.start_span(
name=description,
attributes={
"sentry.op": OP.MIDDLEWARE_DJANGO,
Expand Down
Loading
Loading