GRAYBYTE WORDPRESS FILE MANAGER4532

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.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
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/hc_python/lib/python3.12/site-packages/sentry_sdk/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/hc_python/lib/python3.12/site-packages/sentry_sdk//feature_flags.py
import copy
import sentry_sdk
from sentry_sdk._lru_cache import LRUCache
from threading import Lock

from typing import TYPE_CHECKING, Any

if TYPE_CHECKING:
    from typing import TypedDict

    FlagData = TypedDict("FlagData", {"flag": str, "result": bool})


DEFAULT_FLAG_CAPACITY = 100


class FlagBuffer:

    def __init__(self, capacity):
        # type: (int) -> None
        self.capacity = capacity
        self.lock = Lock()

        # Buffer is private. The name is mangled to discourage use. If you use this attribute
        # directly you're on your own!
        self.__buffer = LRUCache(capacity)

    def clear(self):
        # type: () -> None
        self.__buffer = LRUCache(self.capacity)

    def __deepcopy__(self, memo):
        # type: (dict[int, Any]) -> FlagBuffer
        with self.lock:
            buffer = FlagBuffer(self.capacity)
            buffer.__buffer = copy.deepcopy(self.__buffer, memo)
            return buffer

    def get(self):
        # type: () -> list[FlagData]
        with self.lock:
            return [
                {"flag": key, "result": value} for key, value in self.__buffer.get_all()
            ]

    def set(self, flag, result):
        # type: (str, bool) -> None
        if isinstance(result, FlagBuffer):
            # If someone were to insert `self` into `self` this would create a circular dependency
            # on the lock. This is of course a deadlock. However, this is far outside the expected
            # usage of this class. We guard against it here for completeness and to document this
            # expected failure mode.
            raise ValueError(
                "FlagBuffer instances can not be inserted into the dictionary."
            )

        with self.lock:
            self.__buffer.set(flag, result)


def add_feature_flag(flag, result):
    # type: (str, bool) -> None
    """
    Records a flag and its value to be sent on subsequent error events.
    We recommend you do this on flag evaluations. Flags are buffered per Sentry scope.
    """
    flags = sentry_sdk.get_isolation_scope().flags
    flags.set(flag, result)

    span = sentry_sdk.get_current_span()
    if span:
        span.set_flag(f"flag.evaluation.{flag}", result)

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 23 2025 08:31:29
root / root
0755
__pycache__
--
May 23 2025 08:31:28
root / root
0755
ai
--
May 23 2025 08:31:28
root / root
0755
crons
--
May 23 2025 08:31:28
root / root
0755
integrations
--
May 23 2025 08:31:28
root / root
0755
profiler
--
May 23 2025 08:31:28
root / root
0755
__init__.py
1.187 KB
May 23 2025 08:31:28
root / root
0644
_compat.py
3.043 KB
May 23 2025 08:31:28
root / root
0644
_init_implementation.py
2.499 KB
May 23 2025 08:31:28
root / root
0644
_log_batcher.py
4.966 KB
May 23 2025 08:31:28
root / root
0644
_lru_cache.py
1.2 KB
May 23 2025 08:31:28
root / root
0644
_queue.py
10.986 KB
May 23 2025 08:31:28
root / root
0644
_types.py
10.217 KB
May 23 2025 08:31:28
root / root
0644
_werkzeug.py
3.646 KB
May 23 2025 08:31:28
root / root
0644
api.py
11.588 KB
May 23 2025 08:31:28
root / root
0644
attachments.py
3.036 KB
May 23 2025 08:31:28
root / root
0644
client.py
37.138 KB
May 23 2025 08:31:28
root / root
0644
consts.py
39.679 KB
May 23 2025 08:31:28
root / root
0644
debug.py
0.995 KB
May 23 2025 08:31:28
root / root
0644
envelope.py
10.112 KB
May 23 2025 08:31:28
root / root
0644
feature_flags.py
2.181 KB
May 23 2025 08:31:28
root / root
0644
hub.py
25.073 KB
May 23 2025 08:31:28
root / root
0644
logger.py
1.617 KB
May 23 2025 08:31:28
root / root
0644
metrics.py
29.212 KB
May 23 2025 08:31:28
root / root
0644
monitor.py
3.623 KB
May 23 2025 08:31:28
root / root
0644
py.typed
0 KB
May 23 2025 08:31:28
root / root
0644
scope.py
61.848 KB
May 23 2025 08:31:28
root / root
0644
scrubber.py
5.922 KB
May 23 2025 08:31:28
root / root
0644
serializer.py
12.78 KB
May 23 2025 08:31:28
root / root
0644
session.py
5.44 KB
May 23 2025 08:31:28
root / root
0644
sessions.py
8.966 KB
May 23 2025 08:31:28
root / root
0644
spotlight.py
8.475 KB
May 23 2025 08:31:28
root / root
0644
tracing.py
46.986 KB
May 23 2025 08:31:28
root / root
0644
tracing_utils.py
28.145 KB
May 23 2025 08:31:28
root / root
0644
transport.py
31.84 KB
May 23 2025 08:31:28
root / root
0644
types.py
1.193 KB
May 23 2025 08:31:28
root / root
0644
utils.py
57.977 KB
May 23 2025 08:31:28
root / root
0644
worker.py
4.359 KB
May 23 2025 08:31:28
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF