PATH:
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
sentry_sdk
import inspect from functools import wraps import sentry_sdk from sentry_sdk import get_current_span from sentry_sdk._types import TYPE_CHECKING from sentry_sdk.consts import OP from sentry_sdk.utils import logger, qualname_from_function if TYPE_CHECKING: from typing import Any def start_child_span_decorator(func): # type: (Any) -> Any """ Decorator to add child spans for functions. This is the Python 3 compatible version of the decorator. For Python 2 there is duplicated code here: ``sentry_sdk.tracing_utils_python2.start_child_span_decorator()``. See also ``sentry_sdk.tracing.trace()``. """ # Asynchronous case if inspect.iscoroutinefunction(func): @wraps(func) async def func_with_tracing(*args, **kwargs): # type: (*Any, **Any) -> Any span = get_current_span(sentry_sdk.Hub.current) if span is None: logger.warning( "Can not create a child span for %s. " "Please start a Sentry transaction before calling this function.", qualname_from_function(func), ) return await func(*args, **kwargs) with span.start_child( op=OP.FUNCTION, description=qualname_from_function(func), ): return await func(*args, **kwargs) # Synchronous case else: @wraps(func) def func_with_tracing(*args, **kwargs): # type: (*Any, **Any) -> Any span = get_current_span(sentry_sdk.Hub.current) if span is None: logger.warning( "Can not create a child span for %s. " "Please start a Sentry transaction before calling this function.", qualname_from_function(func), ) return func(*args, **kwargs) with span.start_child( op=OP.FUNCTION, description=qualname_from_function(func), ): return func(*args, **kwargs) return func_with_tracing
[+]
integrations
[+]
..
[+]
__pycache__
[-] session.py
[open]
[-] monitor.py
[open]
[-] _lru_cache.py
[open]
[+]
crons
[-] client.py
[open]
[-] worker.py
[open]
[-] serializer.py
[open]
[-] scrubber.py
[open]
[-] _compat.py
[open]
[-] tracing_utils_py3.py
[open]
[-] tracing.py
[open]
[-] _functools.py
[open]
[-] attachments.py
[open]
[-] debug.py
[open]
[-] api.py
[open]
[-] profiler.py
[open]
[-] hub.py
[open]
[-] utils.py
[open]
[-] tracing_utils.py
[open]
[-] _queue.py
[open]
[-] scope.py
[open]
[-] _werkzeug.py
[open]
[-] consts.py
[open]
[-] __init__.py
[open]
[-] transport.py
[open]
[-] tracing_utils_py2.py
[open]
[-] envelope.py
[open]
[-] sessions.py
[open]
[-] py.typed
[open]
[-] _types.py
[open]