From b1a6297ec323bfda27068b9579d2848cd8f48b0d Mon Sep 17 00:00:00 2001 From: Aravinda VK Date: Tue, 13 Jun 2017 14:40:09 +0530 Subject: geo-rep: Added metrics related to Sync Time In Geo-rep, Sync jobs can be configured using, `config sync-jobs 3`. This patch adds following information related to the sync job(Rsync/Tarssh) Example output: [2017-06-13 09:09:32.532181] I [master(/bricks/b1):1713:syncjob] Syncer: \ Sync Time Taken (Job:2 Files:5484 ReturnCode:0): 4.8774 secs Change-Id: Ifceb96d4b8d14e00fd1290c0aeff60d64b4d7f37 BUG: 1455179 Signed-off-by: Aravinda VK Reviewed-on: https://review.gluster.org/17531 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System Reviewed-by: Amar Tumballi CentOS-regression: Gluster Build System Reviewed-by: Kotresh HR --- geo-replication/syncdaemon/master.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'geo-replication') diff --git a/geo-replication/syncdaemon/master.py b/geo-replication/syncdaemon/master.py index 3ec99d0f9c4..aebaf31dcff 100644 --- a/geo-replication/syncdaemon/master.py +++ b/geo-replication/syncdaemon/master.py @@ -1686,10 +1686,10 @@ class Syncer(object): self.sync_engine = sync_engine self.errnos_ok = resilient_errnos for i in range(int(gconf.sync_jobs)): - t = Thread(target=self.syncjob) + t = Thread(target=self.syncjob, args=(i+1, )) t.start() - def syncjob(self): + def syncjob(self, job_id): """the life of a worker""" while True: pb = None @@ -1702,7 +1702,16 @@ class Syncer(object): break time.sleep(0.5) pb.close() + start = time.time() po = self.sync_engine(pb, self.log_err) + logging.info("Sync Time Taken (Job:{0} " + "Files:{1} ReturnCode:{2}): " + "{3:.4f} secs".format( + job_id, + len(pb), + po.returncode, + time.time() - start + )) if po.returncode == 0: ret = (True, 0) elif po.returncode in self.errnos_ok: -- cgit