Полагаю, что мне нужно написать
кастомные транзакции.
1. Что означает span? Никак не пойму.
transaction = sentry_sdk.Hub.current.scope.transaction
span = sentry_sdk.Hub.current.scope.span
2. do_task() - вместо этой функции я получается должен вызывать код обработки своих приходящих в grpc-сервер запросов? То есть теперь у меня любой запрос будет проходить через создание транзакции sentry?
Так?
import sentry_sdk
class TestService(
stt_pb2_grpc.TestService
):
def Method(
self, request,
context
):
transaction = sentry_sdk.Hub.current.scope.transaction
if transaction is None:
with sentry_sdk.start_transaction(name="task_method"):
response = do_task(request) # МОЯ ОБРАБОТКА ЗАПРОСА
else:
transaction.name = "new name"
with transaction.start_child(op="task_method"): # equivalent to `sentry_sdk.start_span`
response = do_task(request)
return response
3. Дальше sentry сам замерит и вышлет в gui результаты?