From 603119c57c5055e17693d47b9965216954f45247 Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Wed, 31 Jul 2013 13:01:30 +0530 Subject: gsyncd / geo-rep: Introduce basic crawl instrumentation This patch extends the persistent instrumentation work done by Aravinda (@avishwa), by introducing a handfull of instrumentation variables for crawl. These variables are "pulled up" by glusterd in the event of a geo-replication status cli command and looks something like below: "Uptime=00:21:10;FilesSyned=2982;FilesPending=0;BytesPending=0;DeletesPending=0;" "FilesPending", "BytesPending" and "DeletesPending" are short-lived variables that are non-zero when a changelog is being processes (ie. when an active sync in ongoing). After a successfull changelog process "FilesPending" is summed up into "FilesSynced". The three short-lived variabled are then reset to zero and the data is persisted Additionally this patch also reverts some of the changes made for BZ #986929 (those were not needed). Change-Id: I948f1a0884ca71bc5e5bcfdc017d16c8c54fc30b BUG: 990420 Signed-off-by: Venky Shankar Reviewed-on: http://review.gluster.org/5441 Tested-by: Gluster Build System Reviewed-by: Anand Avati --- geo-replication/syncdaemon/syncdutils.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'geo-replication/syncdaemon/syncdutils.py') diff --git a/geo-replication/syncdaemon/syncdutils.py b/geo-replication/syncdaemon/syncdutils.py index c09b2505..2655dd98 100644 --- a/geo-replication/syncdaemon/syncdutils.py +++ b/geo-replication/syncdaemon/syncdutils.py @@ -419,3 +419,13 @@ def errno_wrap(call, arg=[], errnos=[]): if not ex.errno == ESTALE: raise time.sleep(0.5) # retry the call + +def lstat(e): + try: + return os.lstat(e) + except (IOError, OSError): + ex = sys.exc_info()[1] + if ex.errno == ENOENT: + return ex.errno + else: + raise -- cgit