[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