diff --git a/sentry_sdk/integrations/grpc/server.py b/sentry_sdk/integrations/grpc/server.py index 9edf9ea29e..7c06fd405a 100644 --- a/sentry_sdk/integrations/grpc/server.py +++ b/sentry_sdk/integrations/grpc/server.py @@ -22,7 +22,7 @@ def __init__( self: "ServerInterceptor", find_name: "Optional[Callable[[ServicerContext], str]]" = None, ) -> None: - self._find_method_name = find_name or ServerInterceptor._find_name + self._custom_find_name = find_name super().__init__() @@ -35,9 +35,12 @@ def intercept_service( if not handler or not handler.unary_unary: return handler + method_name = handler_call_details.method + custom_find_name = self._custom_find_name + def behavior(request: "Message", context: "ServicerContext") -> "Message": with sentry_sdk.isolation_scope(): - name = self._find_method_name(context) + name = custom_find_name(context) if custom_find_name else method_name if name: metadata = dict(context.invocation_metadata()) @@ -63,7 +66,3 @@ def behavior(request: "Message", context: "ServicerContext") -> "Message": request_deserializer=handler.request_deserializer, response_serializer=handler.response_serializer, ) - - @staticmethod - def _find_name(context: "ServicerContext") -> str: - return context._rpc_event.call_details.method.decode()