Skip to content

Commit 5802211

Browse files
CopilotBorda
andcommitted
Consolidate prometheus metric headers and fix imports
- Combine three-line append patterns into single formatted strings (comment 2744927877) - Use absolute imports in sql.py instead of relative imports (comment 2744972453) - Improve code conciseness in prometheus text exporter - All 7 exporter tests passing Co-authored-by: Borda <6035284+Borda@users.noreply.github.com>
1 parent 93be090 commit 5802211

2 files changed

Lines changed: 35 additions & 26 deletions

File tree

src/cachier/cores/sql.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@
2727
except ImportError:
2828
SQLALCHEMY_AVAILABLE = False
2929

30-
from .._types import HashFunc
31-
from ..config import CacheEntry
30+
from cachier._types import HashFunc
31+
from cachier.config import CacheEntry
32+
3233
from .base import RecalculationNeeded, _BaseCore, _get_func_str
3334

3435
if TYPE_CHECKING:

src/cachier/exporters/prometheus.py

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -262,9 +262,10 @@ def _generate_text_metrics(self) -> str:
262262
lines.append(f'cachier_cache_hits_total{{function="{func_name}"}} {stats.hits}')
263263

264264
# Misses
265-
lines.append("")
266-
lines.append("# HELP cachier_cache_misses_total Total cache misses")
267-
lines.append("# TYPE cachier_cache_misses_total counter")
265+
lines.append(
266+
"\n# HELP cachier_cache_misses_total Total cache misses\n"
267+
"# TYPE cachier_cache_misses_total counter"
268+
)
268269

269270
with self._lock:
270271
for func_name, func in self._registered_functions.items():
@@ -274,9 +275,10 @@ def _generate_text_metrics(self) -> str:
274275
lines.append(f'cachier_cache_misses_total{{function="{func_name}"}} {stats.misses}')
275276

276277
# Hit rate
277-
lines.append("")
278-
lines.append("# HELP cachier_cache_hit_rate Cache hit rate percentage")
279-
lines.append("# TYPE cachier_cache_hit_rate gauge")
278+
lines.append(
279+
"\n# HELP cachier_cache_hit_rate Cache hit rate percentage\n"
280+
"# TYPE cachier_cache_hit_rate gauge"
281+
)
280282

281283
with self._lock:
282284
for func_name, func in self._registered_functions.items():
@@ -286,9 +288,10 @@ def _generate_text_metrics(self) -> str:
286288
lines.append(f'cachier_cache_hit_rate{{function="{func_name}"}} {stats.hit_rate:.2f}')
287289

288290
# Average latency
289-
lines.append("")
290-
lines.append("# HELP cachier_avg_latency_ms Average cache operation latency in milliseconds")
291-
lines.append("# TYPE cachier_avg_latency_ms gauge")
291+
lines.append(
292+
"\n# HELP cachier_avg_latency_ms Average cache operation latency in milliseconds\n"
293+
"# TYPE cachier_avg_latency_ms gauge"
294+
)
292295

293296
with self._lock:
294297
for func_name, func in self._registered_functions.items():
@@ -298,9 +301,10 @@ def _generate_text_metrics(self) -> str:
298301
lines.append(f'cachier_avg_latency_ms{{function="{func_name}"}} {stats.avg_latency_ms:.4f}')
299302

300303
# Stale hits
301-
lines.append("")
302-
lines.append("# HELP cachier_stale_hits_total Total stale cache hits")
303-
lines.append("# TYPE cachier_stale_hits_total counter")
304+
lines.append(
305+
"\n# HELP cachier_stale_hits_total Total stale cache hits\n"
306+
"# TYPE cachier_stale_hits_total counter"
307+
)
304308

305309
with self._lock:
306310
for func_name, func in self._registered_functions.items():
@@ -310,9 +314,10 @@ def _generate_text_metrics(self) -> str:
310314
lines.append(f'cachier_stale_hits_total{{function="{func_name}"}} {stats.stale_hits}')
311315

312316
# Recalculations
313-
lines.append("")
314-
lines.append("# HELP cachier_recalculations_total Total cache recalculations")
315-
lines.append("# TYPE cachier_recalculations_total counter")
317+
lines.append(
318+
"\n# HELP cachier_recalculations_total Total cache recalculations\n"
319+
"# TYPE cachier_recalculations_total counter"
320+
)
316321

317322
with self._lock:
318323
for func_name, func in self._registered_functions.items():
@@ -322,9 +327,10 @@ def _generate_text_metrics(self) -> str:
322327
lines.append(f'cachier_recalculations_total{{function="{func_name}"}} {stats.recalculations}')
323328

324329
# Entry count
325-
lines.append("")
326-
lines.append("# HELP cachier_entry_count Current cache entries")
327-
lines.append("# TYPE cachier_entry_count gauge")
330+
lines.append(
331+
"\n# HELP cachier_entry_count Current cache entries\n"
332+
"# TYPE cachier_entry_count gauge"
333+
)
328334

329335
with self._lock:
330336
for func_name, func in self._registered_functions.items():
@@ -334,9 +340,10 @@ def _generate_text_metrics(self) -> str:
334340
lines.append(f'cachier_entry_count{{function="{func_name}"}} {stats.entry_count}')
335341

336342
# Cache size
337-
lines.append("")
338-
lines.append("# HELP cachier_cache_size_bytes Total cache size in bytes")
339-
lines.append("# TYPE cachier_cache_size_bytes gauge")
343+
lines.append(
344+
"\n# HELP cachier_cache_size_bytes Total cache size in bytes\n"
345+
"# TYPE cachier_cache_size_bytes gauge"
346+
)
340347

341348
with self._lock:
342349
for func_name, func in self._registered_functions.items():
@@ -346,9 +353,10 @@ def _generate_text_metrics(self) -> str:
346353
lines.append(f'cachier_cache_size_bytes{{function="{func_name}"}} {stats.total_size_bytes}')
347354

348355
# Size limit rejections
349-
lines.append("")
350-
lines.append("# HELP cachier_size_limit_rejections_total Entries rejected due to size limit")
351-
lines.append("# TYPE cachier_size_limit_rejections_total counter")
356+
lines.append(
357+
"\n# HELP cachier_size_limit_rejections_total Entries rejected due to size limit\n"
358+
"# TYPE cachier_size_limit_rejections_total counter"
359+
)
352360

353361
with self._lock:
354362
for func_name, func in self._registered_functions.items():

0 commit comments

Comments
 (0)