diff --git a/synced-pool.go b/synced-pool.go index 8277fcb..66e2e78 100644 --- a/synced-pool.go +++ b/synced-pool.go @@ -180,6 +180,10 @@ var ( Name: "cart_connected_remotes", Help: "The number of connected remotes", }) + remoteLookupCount = promauto.NewCounter(prometheus.CounterOpts{ + Name: "cart_remote_lookup_total", + Help: "The total number of remote lookups", + }) ) const ( @@ -455,13 +459,15 @@ func (p *SyncedPool) Process(id CartId, messages ...Message) ([]byte, error) { // check if remote grain exists remoteGrain, ok := p.remoteIndex[id] if ok { + remoteLookupCount.Inc() return remoteGrain.Process(id, messages...) } + err := p.OwnerChanged(id, p.Hostname) + if err != nil { + return nil, err + } } - err := p.OwnerChanged(id, p.Hostname) - if err != nil { - return nil, err - } + return p.local.Process(id, messages...) } @@ -472,8 +478,14 @@ func (p *SyncedPool) Get(id CartId) ([]byte, error) { // check if remote grain exists remoteGrain, ok := p.remoteIndex[id] if ok { + remoteLookupCount.Inc() return remoteGrain.Get(id) } + err := p.OwnerChanged(id, p.Hostname) + if err != nil { + return nil, err + } } + return p.local.Get(id) }