PATH:
opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
sentry_sdk
from typing import TYPE_CHECKING if TYPE_CHECKING: from typing import Any _SENTINEL = object() class LRUCache: def __init__(self, max_size: int) -> None: if max_size <= 0: raise AssertionError(f"invalid max_size: {max_size}") self.max_size = max_size self._data: "dict[Any, Any]" = {} self.hits = self.misses = 0 self.full = False def set(self, key: "Any", value: "Any") -> None: current = self._data.pop(key, _SENTINEL) if current is not _SENTINEL: self._data[key] = value elif self.full: self._data.pop(next(iter(self._data))) self._data[key] = value else: self._data[key] = value self.full = len(self._data) >= self.max_size def get(self, key: "Any", default: "Any" = None) -> "Any": try: ret = self._data.pop(key) except KeyError: self.misses += 1 ret = default else: self.hits += 1 self._data[key] = ret return ret def get_all(self) -> "list[tuple[Any, Any]]": return list(self._data.items())
[-] _compat.py
[edit]
[-] spotlight.py
[edit]
[-] monitor.py
[edit]
[-] sessions.py
[edit]
[-] client.py
[edit]
[-] metrics.py
[edit]
[+]
ai
[-] worker.py
[edit]
[-] serializer.py
[edit]
[-] _werkzeug.py
[edit]
[-] _batcher.py
[edit]
[-] envelope.py
[edit]
[-] _metrics_batcher.py
[edit]
[+]
crons
[-] _log_batcher.py
[edit]
[+]
__pycache__
[-] traces.py
[edit]
[-] _queue.py
[edit]
[-] py.typed
[edit]
[+]
..
[-] attachments.py
[edit]
[-] scope.py
[edit]
[+]
profiler
[-] session.py
[edit]
[-] transport.py
[edit]
[-] feature_flags.py
[edit]
[+]
integrations
[-] types.py
[edit]
[-] logger.py
[edit]
[-] api.py
[edit]
[-] consts.py
[edit]
[-] tracing.py
[edit]
[-] _span_batcher.py
[edit]
[-] debug.py
[edit]
[-] tracing_utils.py
[edit]
[-] utils.py
[edit]
[-] __init__.py
[edit]
[-] _init_implementation.py
[edit]
[-] _types.py
[edit]
[-] _lru_cache.py
[edit]
[-] hub.py
[edit]
[-] scrubber.py
[edit]