diff --git a/pkg/delivery/client/client.go b/pkg/delivery/client/client.go
index 1de0dd684a2344264ad217c2834fbb74f19d837f..9788dd99b56844e2007e89427c1ec8d5c9461176 100644
--- a/pkg/delivery/client/client.go
+++ b/pkg/delivery/client/client.go
@@ -11,6 +11,8 @@ import (
 	environments "git.perx.ru/perxis/perxis-go/pkg/environments/middleware"
 	items "git.perx.ru/perxis/perxis-go/pkg/items/middleware"
 	locales "git.perx.ru/perxis/perxis-go/pkg/locales/middleware"
+	"git.perx.ru/perxis/perxis-go/pkg/metrics"
+	"github.com/prometheus/client_golang/prometheus"
 	"google.golang.org/grpc"
 )
 
@@ -43,10 +45,11 @@ func NewClient(conn *grpc.ClientConn, opts ...Option) (delivery.Delivery, error)
 
 func WithCaching(cfg *deliveryservice.Config, size int, ttl time.Duration) *deliveryservice.Config {
 	c := *cfg
+	cacheMetrics := metrics.NewCacheMetrics(prometheus.DefaultRegisterer)
 
 	c.Environments = environments.CachingMiddleware(cache.NewCache(size, ttl))(cfg.Environments)
 	c.Locales = locales.CachingMiddleware(cache.NewCache(size, ttl))(cfg.Locales)
-	c.Items = items.CachingMiddleware(cache.NewCache(size, ttl), cache.NewCache(size, ttl), c.Environments)(cfg.Items)
+	c.Items = items.CachingMiddleware(cache.NewCache(size, ttl), cache.NewCache(size, ttl), cacheMetrics, c.Environments)(cfg.Items)
 	c.Collections = collections.CachingMiddleware(cache.NewCache(size, ttl), c.Environments)(cfg.Collections)
 
 	return &c