diff --git a/pkg/content/client.go b/pkg/content/client.go index af5ba5bf9956cfaa51e0636acff0d98c82edfb38..157b9f9d68bac7c9356747989958496f4a87e426 100644 --- a/pkg/content/client.go +++ b/pkg/content/client.go @@ -18,12 +18,14 @@ import ( itemsTransportGrpc "git.perx.ru/perxis/perxis-go/pkg/items/transport/grpc" localesSvc "git.perx.ru/perxis/perxis-go/pkg/locales/middleware" localsTransportGrpc "git.perx.ru/perxis/perxis-go/pkg/locales/transport/grpc" + "git.perx.ru/perxis/perxis-go/pkg/metrics" referencesSvc "git.perx.ru/perxis/perxis-go/pkg/references/middleware" referencesTransportGrpc "git.perx.ru/perxis/perxis-go/pkg/references/transport/grpc" rolesSvc "git.perx.ru/perxis/perxis-go/pkg/roles/middleware" rolesTransportGrpc "git.perx.ru/perxis/perxis-go/pkg/roles/transport/grpc" spacesSvc "git.perx.ru/perxis/perxis-go/pkg/spaces/middleware" spacesTransportGrpc "git.perx.ru/perxis/perxis-go/pkg/spaces/transport/grpc" + "github.com/prometheus/client_golang/prometheus" "go.uber.org/zap" "google.golang.org/grpc" ) @@ -75,13 +77,14 @@ func NewClient(conn *grpc.ClientConn, opts ...Option) *Content { func WithCaching(client *Content, size int, ttl time.Duration) *Content { c := *client + cacheMetrics := metrics.NewCacheMetrics(prometheus.DefaultRegisterer) c.Clients = clientsSvc.CachingMiddleware(cache.NewCache(size, ttl))(client.Clients) c.Environments = environmentsSvc.CachingMiddleware(cache.NewCache(size, ttl))(client.Environments) c.Locales = localesSvc.CachingMiddleware(cache.NewCache(size, ttl))(client.Locales) c.Roles = rolesSvc.CachingMiddleware(cache.NewCache(size, ttl))(client.Roles) c.Spaces = spacesSvc.CachingMiddleware(cache.NewCache(size, ttl))(client.Spaces) - c.Items = itemsSvc.CachingMiddleware(cache.NewCache(size, ttl), cache.NewCache(size, ttl), c.Environments)(client.Items) + c.Items = itemsSvc.CachingMiddleware(cache.NewCache(size, ttl), cache.NewCache(size, ttl), cacheMetrics, c.Environments)(client.Items) c.Collections = collectionsSvc.CachingMiddleware(cache.NewCache(size, ttl), c.Environments)(client.Collections) c.Collaborators = collaboratorsSvc.CachingMiddleware(cache.NewCache(size, ttl))(client.Collaborators) c.Invitations = invitationsSvc.CachingMiddleware(cache.NewCache(size, ttl))(client.Invitations)