Задать вопрос
@LakeForest

Как исправить ошибку при создании транзакции в sentry «grpc._common Exception serializing message!» и «httplib POST reason: Forbidden»?

grpc._common
Exception serializing message!
--------------------------
httplib
POST /api/1/envelope/ [403]
{
reason: Forbidden
}
Info
--------------------------
httplib
POST /api/1/store/ [200]
{
reason: OK
}
--------------------------


Транзакция на сервере sentry не создалась...
В конце:
descriptor 'SerializeToString' requires a 'google.protobuf.pyext._message.CMessage' object but received a 'bytes'

61e8873e66ba5575559741.png

В чем проблема?

Код для транзакций:
def transaction_sentry(logger):
    def debug_request(func):
        @wraps(func)
        def inner(*args, **kwargs):
            task_name = f"{func.__name__}"
            logger.warn("Создана транзакция: `{}`".format(task_name))
            try:
                span = sentry_sdk.Hub.current.scope.span
                if span is None:
                    # нет выполняемых интервалов, создайте новую транзакцию
                    with sentry_sdk.start_transaction(name=task_name):
                        response = func(*args, **kwargs)
                        logger.warn(response)
                else:
                    # дочерняя задача транзакции
                    with span.start_child(op=task_name):
                        response = func(*args, **kwargs)
                return response
            except Exception as e:
                logger.warn(e)
                logger.exception(
                    "Ошибка при выполнении транзакции: `{}`".format(task_name))
                sentry_sdk.capture_exception(error=e)
                raise e
        return inner
    return debug_request

Вызов:
LOG = get_logger(__name__)
class TestService(
    stt_pb2_grpc.TestService
):
    @transaction_sentry(LOG)
    def _sub_func(request):
        #....
        return TestResponse(text=request.text)

    def Method(
        self, request,
        context
    ):
            return self._sub_func(request)


Версия sentry==1.3.1
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы