????JFIF??x?x????'
| Server IP : 172.67.174.47 / Your IP : 216.73.216.87 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /././opt/cloudlinux/venv/lib/python3.11/site-packages/sentry_sdk/ |
Upload File : |
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