diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2008-03-22 20:28:41 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2008-03-22 20:28:41 +0000 |
commit | 4b311a128099559e3db558ca77308fc6724acfd6 (patch) | |
tree | 3a36a760b087b7ee515d626be26e0c03ecbf29bc /src/lib/Server/Core.py | |
parent | 33eb192b7c7472ee7e3b9267c9c61495ea69940f (diff) | |
download | bcfg2-4b311a128099559e3db558ca77308fc6724acfd6.tar.gz bcfg2-4b311a128099559e3db558ca77308fc6724acfd6.tar.bz2 bcfg2-4b311a128099559e3db558ca77308fc6724acfd6.zip |
Implement filesystem event debugging in bcfg2-info (new command event_debug)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4440 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Core.py')
-rw-r--r-- | src/lib/Server/Core.py | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/src/lib/Server/Core.py b/src/lib/Server/Core.py index a0be13313..525cd231d 100644 --- a/src/lib/Server/Core.py +++ b/src/lib/Server/Core.py @@ -38,6 +38,7 @@ class FamFam(object): self.fm = _fam.open() self.users = {} self.handles = {} + self.debug = False def fileno(self): '''return fam file handle number''' @@ -60,12 +61,16 @@ class FamFam(object): '''Route a fam event to the proper callback''' event = self.fm.nextEvent() reqid = event.requestID - if self.users.has_key(reqid): - #print "dispatching event %s %s to obj %s handle :%s:" % (event.code2str(), event.filename, self.users[reqid], event.requestID) - try: - self.users[reqid].HandleEvent(event) - except: - logger.error("handling event for file %s" % (event.filename), exc_info=1) + if reqid not in self.users: + return + if self.debug: + logger.info("Dispatching event %s %s to obj %s handle" % \ + (event.code2str(), event.filename, + self.users[reqid])) + try: + self.users[reqid].HandleEvent(event) + except: + logger.error("handling event for file %s" % (event.filename), exc_info=1) def Service(self): '''Handle all fam work''' @@ -127,6 +132,7 @@ class GaminFam(object): self.handles = {} self.counter = 0 self.events = [] + self.debug = False def fileno(self): '''return fam file handle number''' @@ -177,14 +183,19 @@ class GaminFam(object): collapsed += 1 self.events = [] for event in unique: - if self.handles.has_key(event.requestID): - try: - self.handles[event.requestID].HandleEvent(event) - except: - logger.error("error in handling of gamin event for %s" % (event.filename), exc_info=1) - else: + if event.requestID not in self.handles: logger.info("Got event for unexpected id %s, file %s" % (event.requestID, event.filename)) + continue + if self.debug: + logger.info("Dispatching event %s %s to obj %s" \ + % (event.code2str(), event.filename, + self.handles[event.requestID])) + try: + self.handles[event.requestID].HandleEvent(event) + except: + logger.error("error in handling of gamin event for %s" % \ + (event.filename), exc_info=1) end = time() logger.info("Processed %s gamin events in %03.03f seconds. %s collapsed" % (count, (end - start), collapsed)) |