Contact: fumanchu@aminus.org

Log in as guest/dejavu to create tickets

Changeset 570

Show
Ignore:
Timestamp:
11/02/07 14:02:07
Author:
fumanchu
Message:

Better index logging.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/crazycache/dejavu/storage/storememcached.py

    r569 r570  
    404404            misses = [k for k in ids if k not in items] 
    405405        """ 
    406         if self.logflags & logflags.IO: 
    407             self.log(logflags.IO.message("INDEX GET %s (%r == %r)" % 
    408                                          (cls.__name__, key, value))) 
    409406        cachekey = '%s:%s:ids(%s:%s)' % (self.name, cls.__name__, key, 
    410407                                         str(value).replace(" ", "+")) 
    411         return self.client.get(cachekey) 
     408        ids = self.client.get(cachekey) 
     409        if self.logflags & logflags.IO: 
     410            if ids is None: 
     411                idlen = None 
     412            else: 
     413                idlen = len(ids) 
     414            self.log(logflags.IO.message("INDEX GET %s (%r == %r) len %r" % 
     415                                         (cls.__name__, key, value, idlen))) 
     416        return ids 
    412417     
    413418    def put_index(self, cls, key, value, ids, time=None): 
     
    418423        """ 
    419424        if self.logflags & logflags.IO: 
    420             self.log(logflags.IO.message("INDEX PUT %s (%r == %r)" % 
    421                                          (cls.__name__, key, value))) 
     425            self.log(logflags.IO.message("INDEX PUT %s (%r == %r) len %r" % 
     426                                         (cls.__name__, key, value, len(ids)))) 
    422427        cachekey = '%s:%s:ids(%s:%s)' % (self.name, cls.__name__, key, 
    423428                                         str(value).replace(" ", "+")) 
     
    430435            tuple([getattr(unit, name) for name in self._keyattrs[cls]]) 
    431436        """ 
    432         if self.logflags & logflags.IO: 
    433             self.log(logflags.IO.message("INDEX SCAN %s" % cls.__name__)) 
     437        # Shortcut the case of no ids provided. 
     438        if not ids: 
     439            return {} 
     440         
    434441        clsname = cls.__name__ 
    435442        keys = ["%s:%s:%s" % (self.name, clsname, self.hash(i)) for i in ids] 
    436         return self.client.get_multi(keys) 
    437  
     443        units = self.client.get_multi(keys) 
     444        if self.logflags & logflags.IO: 
     445            self.log(logflags.IO.message("INDEX SCAN %s (%r hits of %r)" % 
     446                                         (cls.__name__, len(units), len(ids)))) 
     447        return units 
     448