Skip to content
Merged
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
40 changes: 20 additions & 20 deletions sentry_sdk/integrations/strawberry.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,9 @@ def _sentry_patched_schema_init(
]

# add our extension
extensions.append(
extensions = [
SentryAsyncExtension if should_use_async_extension else SentrySyncExtension
)
] + extensions

kwargs["extensions"] = extensions

Expand Down Expand Up @@ -152,7 +152,7 @@ def hash_query(self, query: str) -> str:
return hashlib.md5(query.encode("utf-8")).hexdigest()

def on_operation(self) -> "Generator[None, None, None]":
self._operation_name = self.execution_context.operation_name
operation_name = self.execution_context.operation_name

operation_type = "query"
op = OP.GRAPHQL_QUERY
Expand All @@ -168,13 +168,13 @@ def on_operation(self) -> "Generator[None, None, None]":
op = OP.GRAPHQL_SUBSCRIPTION

description = operation_type
if self._operation_name:
description += " {}".format(self._operation_name)
if operation_name:
description += " {}".format(operation_name)

sentry_sdk.add_breadcrumb(
category="graphql.operation",
data={
"operation_name": self._operation_name,
"operation_name": operation_name,
"operation_type": operation_type,
},
)
Expand All @@ -183,50 +183,50 @@ def on_operation(self) -> "Generator[None, None, None]":
event_processor = _make_request_event_processor(self.execution_context)
scope.add_event_processor(event_processor)

self.graphql_span = sentry_sdk.start_span(
graphql_span = sentry_sdk.start_span(
op=op,
name=description,
origin=StrawberryIntegration.origin,
)
self.graphql_span.__enter__()
graphql_span.__enter__()

self.graphql_span.set_data("graphql.operation.type", operation_type)
self.graphql_span.set_data("graphql.operation.name", self._operation_name)
graphql_span.set_data("graphql.operation.type", operation_type)
graphql_span.set_data("graphql.operation.name", operation_name)
if should_send_default_pii():
self.graphql_span.set_data("graphql.document", self.execution_context.query)
self.graphql_span.set_data("graphql.resource_name", self._resource_name)
graphql_span.set_data("graphql.document", self.execution_context.query)
graphql_span.set_data("graphql.resource_name", self._resource_name)

yield

transaction = self.graphql_span.containing_transaction
transaction = graphql_span.containing_transaction
if transaction and self.execution_context.operation_name:
transaction.name = self.execution_context.operation_name
transaction.source = TransactionSource.COMPONENT
transaction.op = op

self.graphql_span.__exit__(None, None, None)
graphql_span.__exit__(None, None, None)

def on_validate(self) -> "Generator[None, None, None]":
self.validation_span = self.graphql_span.start_child(
validation_span = sentry_sdk.start_span(
op=OP.GRAPHQL_VALIDATE,
name="validation",
origin=StrawberryIntegration.origin,
)

yield

self.validation_span.finish()
validation_span.finish()

def on_parse(self) -> "Generator[None, None, None]":
self.parsing_span = self.graphql_span.start_child(
parsing_span = sentry_sdk.start_span(
op=OP.GRAPHQL_PARSE,
name="parsing",
origin=StrawberryIntegration.origin,
)

yield

self.parsing_span.finish()
parsing_span.finish()

def should_skip_tracing(
self,
Expand Down Expand Up @@ -263,7 +263,7 @@ async def resolve(

field_path = "{}.{}".format(info.parent_type, info.field_name)

with self.graphql_span.start_child(
with sentry_sdk.start_span(
op=OP.GRAPHQL_RESOLVE,
name="resolving {}".format(field_path),
origin=StrawberryIntegration.origin,
Expand All @@ -290,7 +290,7 @@ def resolve(

field_path = "{}.{}".format(info.parent_type, info.field_name)

with self.graphql_span.start_child(
with sentry_sdk.start_span(
op=OP.GRAPHQL_RESOLVE,
name="resolving {}".format(field_path),
origin=StrawberryIntegration.origin,
Expand Down
Loading