[yum-git] 2 commits - cli.py yum/__init__.py yummain.py
Seth Vidal
skvidal at linux.duke.edu
Thu Feb 28 17:05:37 UTC 2008
cli.py | 11 +++++++++--
yum/__init__.py | 38 +++++++++++++++++++++++++++++---------
yummain.py | 3 +--
3 files changed, 39 insertions(+), 13 deletions(-)
New commits:
commit 70e5332e939778f6d402f00f614455a13b685aeb
Merge: 922193e... 7790097...
Author: Seth Vidal <skvidal at fedoraproject.org>
Date: Thu Feb 28 12:05:20 2008 -0500
Merge branch 'master' of ssh://login.linux.duke.edu/home/groups/yum/git/yum
* 'master' of ssh://login.linux.duke.edu/home/groups/yum/git/yum:
Add the magic readlink from DB call, thanks Panu
Pass include patterns down to returnPackages
Pass install patterns down to returnPackages
Also share the tuples
Generalize _reverse_prco, saves ~4% RSS
commit 922193eb881672322f284f65595ab9950eb85cdc
Author: Seth Vidal <skvidal at fedoraproject.org>
Date: Thu Feb 28 12:05:15 2008 -0500
output some debug timing numbers for various operations
diff --git a/cli.py b/cli.py
index 367c726..b4f2b29 100644
--- a/cli.py
+++ b/cli.py
@@ -365,6 +365,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
return 1
if self.conf.rpm_check_debug:
+ rcd_st = time.time()
self.verbose_logger.log(yum.logginglevels.INFO_2,
_('Running rpm_check_debug'))
msgs = self._run_rpm_check_debug()
@@ -374,8 +375,10 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
print msg
return 1, [_('Please report this error in bugzilla')]
-
-
+
+ self.verbose_logger.debug('rpm_check_debug time: %0.3f' % (time.time() - rcd_st))
+
+ tt_st = time.time()
self.verbose_logger.log(yum.logginglevels.INFO_2,
_('Running Transaction Test'))
if self.conf.diskspacecheck == False:
@@ -405,9 +408,12 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
_('Transaction Test Succeeded'))
del self.ts
+ self.verbose_logger.debug('Transaction Test time: %0.3f' % (time.time() - tt_st))
+
# unset the sigquit handler
signal.signal(signal.SIGQUIT, signal.SIG_DFL)
+ ts_st = time.time()
self.initActionTs() # make a new, blank ts to populate
self.populateTs(keepold=0) # populate the ts
self.ts.check() #required for ordering
@@ -423,6 +429,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
self.verbose_logger.log(yum.logginglevels.INFO_2, _('Running Transaction'))
self.runTransaction(cb=cb)
+ self.verbose_logger.debug('Transaction time: %0.3f' % (time.time() - ts_st))
# close things
self.verbose_logger.log(yum.logginglevels.INFO_1,
self.postTransactionOutput())
diff --git a/yum/__init__.py b/yum/__init__.py
index e40ca9d..5fd91d2 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -146,7 +146,7 @@ class YumBase(depsolve.Depsolve):
if self._conf:
return self._conf
-
+ conf_st = time.time()
# TODO: Remove this block when we no longer support configs outside
# of /etc/yum/
if fn == '/etc/yum/yum.conf' and not os.path.exists(fn):
@@ -185,7 +185,7 @@ class YumBase(depsolve.Depsolve):
self.doFileLogSetup(self.conf.uid, self.conf.logfile)
-
+ self.verbose_logger.debug('Config time: %0.3f' % (time.time() - conf_st))
self.plugins.run('init')
return self._conf
@@ -345,9 +345,10 @@ class YumBase(depsolve.Depsolve):
"""sets up a holder object for important information from the rpmdb"""
if self._rpmdb is None:
+ rpmdb_st = time.time()
self.verbose_logger.debug(_('Reading Local RPMDB'))
self._rpmdb = rpmsack.RPMDBPackageSack(root=self.conf.installroot)
-
+ self.verbose_logger.debug('rpmdb time: %0.3f' % (time.time() - rpmdb_st))
return self._rpmdb
def closeRpmDB(self):
@@ -373,7 +374,9 @@ class YumBase(depsolve.Depsolve):
self._getConfig() # touch the config class first
if doSetup:
+ repo_st = time.time()
self._repos.doSetup(thisrepo)
+ self.verbose_logger.debug('repo time: %0.3f' % (time.time() - repo_st))
return self._repos
def _delRepos(self):
@@ -399,6 +402,7 @@ class YumBase(depsolve.Depsolve):
repos = self.repos.findRepos(thisrepo)
self.verbose_logger.debug(_('Setting up Package Sacks'))
+ sack_st = time.time()
if not archlist:
archlist = rpmUtils.arch.getArchList()
@@ -424,7 +428,7 @@ class YumBase(depsolve.Depsolve):
# now go through and kill pkgs based on pkg.repo.cost()
self.costExcludePackages()
-
+ self.verbose_logger.debug('pkgsack time: %0.3f' % (time.time() - sack_st))
return self._pkgSack
@@ -457,27 +461,38 @@ class YumBase(depsolve.Depsolve):
if self._up:
return self._up
-
+
self.verbose_logger.debug(_('Building updates object'))
sack_pkglist = self.pkgSack.simplePkgList()
rpmdb_pkglist = self.rpmdb.simplePkgList()
+
+ up_st = time.time()
self._up = rpmUtils.updates.Updates(rpmdb_pkglist, sack_pkglist)
del rpmdb_pkglist
del sack_pkglist
if self.conf.debuglevel >= 6:
self._up.debug = 1
-
+
if self.conf.obsoletes:
+ obs_init = time.time()
self._up.rawobsoletes = self.pkgSack.returnObsoletes(newest=True)
+ self.verbose_logger.debug('up:Obs Init time: %0.3f' % (time.time() - obs_init))
self._up.exactarch = self.conf.exactarch
self._up.exactarchlist = self.conf.exactarchlist
+ up_pr_st = time.time()
self._up.doUpdates()
+ self.verbose_logger.debug('up:simple updates time: %0.3f' % (time.time() - up_pr_st))
if self.conf.obsoletes:
+ obs_st = time.time()
self._up.doObsoletes()
+ self.verbose_logger.debug('up:obs time: %0.3f' % (time.time() - obs_st))
+ cond_up_st = time.time()
self._up.condenseUpdates()
+ self.verbose_logger.debug('up:condense time: %0.3f' % (time.time() - cond_up_st))
+ self.verbose_logger.debug('updates time: %0.3f' % (time.time() - up_st))
return self._up
def doGroupSetup(self):
@@ -503,7 +518,8 @@ class YumBase(depsolve.Depsolve):
if self._comps:
return self._comps
-
+
+ group_st = time.time()
self.verbose_logger.debug(_('Getting group metadata'))
reposWithGroups = []
self.repos.doSetup()
@@ -549,7 +565,8 @@ class YumBase(depsolve.Depsolve):
pkglist = self.rpmdb.simplePkgList()
self._comps.compile(pkglist)
-
+
+ self.verbose_logger.debug('group time: %0.3f' % (time.time() - group_st))
return self._comps
# properties so they auto-create themselves with defaults
@@ -604,6 +621,8 @@ class YumBase(depsolve.Depsolve):
"""go through the packages in the transaction set, find them in the
packageSack or rpmdb, and pack up the ts accordingly"""
self.plugins.run('preresolve')
+ ds_st = time.time()
+
(rescode, restring) = self.resolveDeps()
self.plugins.run('postresolve', rescode=rescode, restring=restring)
self._limit_installonly_pkgs()
@@ -616,7 +635,8 @@ class YumBase(depsolve.Depsolve):
# Try another depsolve
if self.conf.skip_broken and rescode==1:
rescode, restring = self._skipPackagesWithProblems(rescode, restring)
-
+
+ self.verbose_logger.debug('Depsolve time: %0.3f' % (time.time() - ds_st))
return rescode, restring
def _skipPackagesWithProblems(self, rescode, restring):
diff --git a/yummain.py b/yummain.py
index 58dbeb4..8fc518d 100755
--- a/yummain.py
+++ b/yummain.py
@@ -147,7 +147,7 @@ def main(args):
# Depsolve stage
verbose_logger.log(logginglevels.INFO_2, _('Resolving Dependencies'))
- verbose_logger.debug(time.time())
+
try:
(result, resultmsgs) = base.buildTransaction()
except plugins.PluginYumExit, e:
@@ -182,7 +182,6 @@ def main(args):
return 3
verbose_logger.log(logginglevels.INFO_2, _('\nDependencies Resolved'))
- verbose_logger.debug(time.time())
# Run the transaction
try:
More information about the Yum-cvs-commits
mailing list