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 <avishwan@redhat.com>
Reviewed-on: https://review.gluster.org/17531
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
This commit is contained in:
Aravinda VK 2017-06-13 14:40:09 +05:30
parent c5b81783d5
commit b1a6297ec3

View File

@ -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: