repos / pico

pico services mono repo
git clone https://github.com/picosh/pico.git

commit
9baad06
parent
1e1cc0b
author
Eric Bower
date
2026-04-19 13:39:58 -0400 EDT
chore(pgs): log key eviction
1 files changed,  +5, -2
M pkg/apps/pgs/web.go
+5, -2
 1@@ -44,6 +44,7 @@ func (c *PgsCacheKey) GetCacheKey(r *http.Request) string {
 2 }
 3 
 4 type PromCacheMetrics struct {
 5+	Logger         *slog.Logger
 6 	Cache          httpcache.Cacher
 7 	CacheItems     prometheus.Gauge
 8 	CacheSizeBytes prometheus.Gauge
 9@@ -52,10 +53,11 @@ type PromCacheMetrics struct {
10 	UpstreamReq    prometheus.Counter
11 }
12 
13-func NewPromCacheMetrics(reg prometheus.Registerer) *PromCacheMetrics {
14+func NewPromCacheMetrics(logger *slog.Logger, reg prometheus.Registerer) *PromCacheMetrics {
15 	name := "pgs"
16 	auto := promauto.With(reg)
17 	return &PromCacheMetrics{
18+		Logger: logger,
19 		CacheItems: auto.NewGauge(prometheus.GaugeOpts{
20 			Namespace: name,
21 			Subsystem: "http_cache",
22@@ -93,6 +95,7 @@ func (p *PromCacheMetrics) AddCacheItem(size float64) {
23 	p.CacheSizeBytes.Add(size)
24 }
25 func (p *PromCacheMetrics) EvictCacheItem(key string, value []byte) {
26+	p.Logger.Info("evicting cache key", "key", key, "len_bytes", len(value))
27 	p.CacheItems.Add(-1)
28 	p.CacheSizeBytes.Add(-float64(len(value)))
29 }
30@@ -108,7 +111,7 @@ func (p *PromCacheMetrics) AddUpstreamRequest() {
31 
32 func NewPgsHttpCache(cfg *PgsConfig, upstream http.Handler) *httpcache.HttpCache {
33 	ttl := cfg.CacheTTL
34-	metrics := NewPromCacheMetrics(prometheus.DefaultRegisterer)
35+	metrics := NewPromCacheMetrics(cfg.Logger, prometheus.DefaultRegisterer)
36 	cache := expirable.NewLRU(0, metrics.EvictCacheItem, ttl)
37 	httpCache := &httpcache.HttpCache{
38 		Ttl:      ttl,