Skip to content

Commit 3158564

Browse files
committed
Refactor: rename set_entry to _set_entry, refine size-limit logic, and add metric for size-limit rejections
1 parent 76e64b0 commit 3158564

3 files changed

Lines changed: 11 additions & 3 deletions

File tree

src/cachier/cores/base.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,12 @@ def _should_store(self, value: Any) -> bool:
129129
if self.entry_size_limit is None:
130130
return True
131131
try:
132-
return self._estimate_size(value) <= self.entry_size_limit
132+
should_store = self._estimate_size(value) <= self.entry_size_limit
133133
except Exception:
134134
return True
135+
if not should_store and self.metrics is not None:
136+
self.metrics.record_size_limit_rejection()
137+
return should_store
135138

136139
def _update_size_metrics(self) -> None:
137140
"""Update cache size metrics if metrics are enabled.

src/cachier/metrics.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ def _calculate_avg_latency(self, window: Optional[timedelta] = None) -> float:
252252
"""
253253
# Use monotonic clock for cutoff calculation
254254
now = time.perf_counter()
255-
cutoff = 0.0 if window is None else now - window.total_seconds()
255+
cutoff = 0.0 if not window else now - window.total_seconds()
256256

257257
latencies = [metric.value for metric in self._latencies if metric.timestamp >= cutoff]
258258

@@ -377,3 +377,8 @@ def record_wait_timeout(self) -> None:
377377
"""Record a wait timeout."""
378378
if self._m:
379379
self._m.record_wait_timeout()
380+
381+
def record_size_limit_rejection(self) -> None:
382+
"""Record an entry rejection due to size limit."""
383+
if self._m:
384+
self._m.record_size_limit_rejection()

tests/test_base_core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def get_entry_by_key(self, key, reload=False):
2626
"""Retrieve an entry by its key."""
2727
return key, None
2828

29-
def set_entry(self, key, func_res):
29+
def _set_entry(self, key, func_res):
3030
"""Store an entry in the cache."""
3131
self.last_set = (key, func_res)
3232
return True

0 commit comments

Comments
 (0)