mirror of
https://gerrit.googlesource.com/git-repo
synced 2025-06-19 12:34:17 +00:00
sync: Add support to dump a JSON event log of all sync events.
Change-Id: Id4852968ac1b2bf0093007cf2e5ca951ddab8b3b
This commit is contained in:
committed by
David Pursehouse
parent
fef9f21b28
commit
e0684addee
@ -64,6 +64,7 @@ try:
|
||||
except ImportError:
|
||||
multiprocessing = None
|
||||
|
||||
import event_log
|
||||
from git_command import GIT, git_require
|
||||
from git_config import GetUrlCookieFile
|
||||
from git_refs import R_HEADS, HEAD
|
||||
@ -304,9 +305,10 @@ later is required to fix a server side protocol bug.
|
||||
# - We always set err_event in the case of an exception.
|
||||
# - We always make sure we call sem.release().
|
||||
# - We always make sure we unlock the lock if we locked it.
|
||||
start = time.time()
|
||||
success = False
|
||||
try:
|
||||
try:
|
||||
start = time.time()
|
||||
success = project.Sync_NetworkHalf(
|
||||
quiet=opt.quiet,
|
||||
current_branch_only=opt.current_branch_only,
|
||||
@ -345,6 +347,9 @@ later is required to fix a server side protocol bug.
|
||||
finally:
|
||||
if did_lock:
|
||||
lock.release()
|
||||
finish = time.time()
|
||||
self.event_log.AddSync(project, event_log.TASK_SYNC_NETWORK,
|
||||
start, finish, success)
|
||||
|
||||
return success
|
||||
|
||||
@ -720,16 +725,24 @@ later is required to fix a server side protocol bug.
|
||||
_PostRepoUpgrade(self.manifest, quiet=opt.quiet)
|
||||
|
||||
if not opt.local_only:
|
||||
mp.Sync_NetworkHalf(quiet=opt.quiet,
|
||||
current_branch_only=opt.current_branch_only,
|
||||
no_tags=opt.no_tags,
|
||||
optimized_fetch=opt.optimized_fetch,
|
||||
submodules=self.manifest.HasSubmodules)
|
||||
start = time.time()
|
||||
success = mp.Sync_NetworkHalf(quiet=opt.quiet,
|
||||
current_branch_only=opt.current_branch_only,
|
||||
no_tags=opt.no_tags,
|
||||
optimized_fetch=opt.optimized_fetch,
|
||||
submodules=self.manifest.HasSubmodules)
|
||||
finish = time.time()
|
||||
self.event_log.AddSync(mp, event_log.TASK_SYNC_NETWORK,
|
||||
start, finish, success)
|
||||
|
||||
if mp.HasChanges:
|
||||
syncbuf = SyncBuffer(mp.config)
|
||||
start = time.time()
|
||||
mp.Sync_LocalHalf(syncbuf, submodules=self.manifest.HasSubmodules)
|
||||
if not syncbuf.Finish():
|
||||
clean = syncbuf.Finish()
|
||||
self.event_log.AddSync(mp, event_log.TASK_SYNC_LOCAL,
|
||||
start, time.time(), clean)
|
||||
if not clean:
|
||||
sys.exit(1)
|
||||
self._ReloadManifest(manifest_name)
|
||||
if opt.jobs is None:
|
||||
@ -823,7 +836,10 @@ later is required to fix a server side protocol bug.
|
||||
for project in all_projects:
|
||||
pm.update()
|
||||
if project.worktree:
|
||||
start = time.time()
|
||||
project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync)
|
||||
self.event_log.AddSync(project, event_log.TASK_SYNC_LOCAL,
|
||||
start, time.time(), syncbuf.Recently())
|
||||
pm.end()
|
||||
print(file=sys.stderr)
|
||||
if not syncbuf.Finish():
|
||||
@ -907,6 +923,7 @@ def _VerifyTag(project):
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
class _FetchTimes(object):
|
||||
_ALPHA = 0.5
|
||||
|
||||
|
Reference in New Issue
Block a user