diff options
author | Clark Williams <clark.williams@gmail.com> | 2013-12-11 10:36:42 -0600 |
---|---|---|
committer | Clark Williams <clark.williams@gmail.com> | 2013-12-11 10:36:42 -0600 |
commit | 213d5339253963401c46417001d9f9831579f80b (patch) | |
tree | c4d9a4214f2b943661cb48abe6c831f8938b0f1f | |
parent | e0ca74e9c9f7f83a9db08d062b5ca8bdf05ff748 (diff) | |
download | rteval-213d5339253963401c46417001d9f9831579f80b.tar.gz |
update to v1.38v1.38
Signed-off-by: Clark Williams <clark.williams@gmail.com>
-rw-r--r-- | rteval.spec | 9 | ||||
-rw-r--r-- | rteval/rteval.py | 40 | ||||
-rw-r--r-- | setup.py | 10 |
3 files changed, 30 insertions, 29 deletions
diff --git a/rteval.spec b/rteval.spec index a8ef7e6..61be348 100644 --- a/rteval.spec +++ b/rteval.spec @@ -73,6 +73,7 @@ rm -rf $RPM_BUILD_ROOT %changelog * Tue Sep 17 2013 Clark Williams <williams@redhat.com> - 1.38-1 - cleaned up incorrect usage of percent signs in changelog +- added data validation checks to histogram parsing code * Thu Dec 13 2012 Clark Williams <williams@redhat.com> - 1.37-1 - added module specific command line options @@ -90,7 +91,7 @@ rm -rf $RPM_BUILD_ROOT * Mon Apr 2 2012 Clark Williams <williams@redhat.com> - 1.35-1 - fix thinko where SIGINT and SIGTERM handlers were commented out -* Mon Jan 12 2012 Clark Williams <williams@redhat.com> - 1.34-1 +* Thu Jan 12 2012 Clark Williams <williams@redhat.com> - 1.34-1 - fix missing config merge in rteval.py to pass parameters down to cyclictest - modify hackbench to use helper function to start process @@ -153,7 +154,7 @@ rm -rf $RPM_BUILD_ROOT in a dictionary rather than as discrete parameters - added logging for load output -* Thu Apr 13 2010 Clark Williams <williams@redhat.com> - 1.21-1 +* Tue Apr 13 2010 Clark Williams <williams@redhat.com> - 1.21-1 - from Luis Claudio Goncalves <lgoncalv@redhat.com>: - remove unecessary wait() call in cyclictest.py - close /dev/null after using it @@ -166,7 +167,7 @@ rm -rf $RPM_BUILD_ROOT - added --annotate feature to rteval - updates to xmlrpc code -* Thu Apr 6 2010 Clark Williams <williams@redhat.com> - 1.20-1 +* Tue Apr 6 2010 Clark Williams <williams@redhat.com> - 1.20-1 - code fixes from Luis Claudio Goncalves <lgoncalv@redhat.com> - from David Sommerseth <davids@redhat.com>: - xmlrpc server updates @@ -331,7 +332,7 @@ rm -rf $RPM_BUILD_ROOT - added --summarize option to display summary of existing report - added helpfile target to Makefile -* Tue Mar 26 2009 Clark Williams <williams@torg> - 0.7-1 +* Thu Mar 26 2009 Clark Williams <williams@torg> - 0.7-1 - added require for python-schedutils to specfile - added default for cyclictest output file - added help parameter to option parser data diff --git a/rteval/rteval.py b/rteval/rteval.py index a914578..43db442 100644 --- a/rteval/rteval.py +++ b/rteval/rteval.py @@ -94,7 +94,7 @@ def sigterm_handler(signum, frame): class RtEval(object): def __init__(self, cmdargs): - self.version = "1.37" + self.version = "1.38" self.load_modules = [] self.workdir = os.getcwd() self.reportdir = os.getcwd() @@ -296,7 +296,7 @@ class RtEval(object): else: ret_services[servicename] = 'unknown' return ret_services - + def __get_services_systemd(self): ret_services = {} cmd = '%s list-unit-files -t service --no-legend' % getcmdpath('systemctl') @@ -335,7 +335,7 @@ class RtEval(object): kcmd = v.pop(0) try: if int(v[0]) > 0 and kcmd.startswith('[') and kcmd.endswith(']'): - ret_kthreads[v[0]] = {'policy' : policies[v[1]], + ret_kthreads[v[0]] = {'policy' : policies[v[1]], 'priority' : v[2], 'name' : v[3] } except ValueError: pass # Ignore lines which don't have a number in the first row @@ -413,7 +413,7 @@ class RtEval(object): action="store", type="int", help="cyclictest measurement interval in microseconds") parser.add_option("", "--cyclictest-distance", dest="cyclictest_distance", - action="store", type="int", + action="store", type="int", help="cyclictest measurement interval increment in microseconds") parser.add_option("", "--cyclictest-buckets", dest="cyclictest_buckets", action="store", type="int", @@ -468,7 +468,7 @@ class RtEval(object): self.debug("report tool: %s" % exe) options = ['-k', 'rpm.rpmva=off', - '--name=rteval', + '--name=rteval', '--batch', '--no-progressbar'] @@ -478,7 +478,7 @@ class RtEval(object): for s in glob.glob('/tmp/s?sreport-rteval-*'): self.debug("moving %s to %s" % (s, self.reportdir)) shutil.move(s, self.reportdir) - + def genxml(self, duration, accum, samples, xslt = None): seconds = duration.seconds @@ -532,7 +532,7 @@ class RtEval(object): keys.sort() self.xmlreport.openblock('kthreads') for pid in keys: - self.xmlreport.taggedvalue('thread', self.kthreads[pid]['name'], + self.xmlreport.taggedvalue('thread', self.kthreads[pid]['name'], { 'policy' : self.kthreads[pid]['policy'], 'priority' : self.kthreads[pid]['priority'], }) @@ -633,7 +633,7 @@ class RtEval(object): # now generate the dmidecode data for this host d = dmi.DMIinfo(self.config.GetSection('rteval')) d.genxml(self.xmlreport) - + # Close the report - prepare for return the result self.xmlreport.close() @@ -706,7 +706,7 @@ class RtEval(object): i += 1 self.reportdir = os.path.join(self.workdir, t.strftime('rteval-%Y%m%d-'+str(i))) - if not os.path.isdir(self.reportdir): + if not os.path.isdir(self.reportdir): os.mkdir(self.reportdir) os.mkdir(os.path.join(self.reportdir, "logs")) return self.reportdir @@ -759,7 +759,7 @@ class RtEval(object): self.info("setting up loads") self.loads = [] - params = {'workdir':self.workdir, + params = {'workdir':self.workdir, 'reportdir':self.reportdir, 'builddir':builddir, 'srcdir':self.config.srcdir, @@ -771,7 +771,7 @@ class RtEval(object): 'numanodes':self.numanodes, 'duration':self.config.duration, } - + for m in self.load_modules: self.config.AppendConfig(m.__name__, params) self.info("creating load instance for %s" % m.__name__) @@ -786,7 +786,7 @@ class RtEval(object): try: # start the loads self.start_loads() - + print "rteval run on %s started at %s" % (os.uname()[2], time.asctime()) print "started %d loads on %d cores" % (len(self.loads), self.numcores), if self.numanodes > 1: @@ -794,20 +794,20 @@ class RtEval(object): else: print "" print "Run duration: %d seconds" % self.config.duration - + start = datetime.now() - + if not onlyload: # start the cyclictest thread self.info("starting cyclictest") self.cyclictest.start() - + # turn loose the loads self.info("sending start event to all loads") for l in self.loads: l.startevent.set() nthreads += 1 - + accum = 0.0 samples = 0 @@ -848,7 +848,7 @@ class RtEval(object): self.debug("out of measurement loop") signal.signal(signal.SIGINT, signal.SIG_DFL) signal.signal(signal.SIGTERM, signal.SIG_DFL) - + except RuntimeError, e: print "Runtime error during measurement: %s", e raise @@ -857,7 +857,7 @@ class RtEval(object): if not onlyload: # stop cyclictest self.cyclictest.stopevent.set() - + # stop the loads self.stop_loads() @@ -985,7 +985,7 @@ class RtEval(object): print "Must be root to run rteval!" sys.exit(-1) - self.debug('''rteval options: + self.debug('''rteval options: workdir: %s loaddir: %s reportdir: %s @@ -995,7 +995,7 @@ class RtEval(object): duration: %f sysreport: %s inifile: %s''' % (self.workdir, self.config.srcdir, self.reportdir, self.config.verbose, - self.config.debugging, self.config.logging, self.config.duration, + self.config.debugging, self.config.logging, self.config.duration, self.config.sysreport, self.inifile)) if not os.path.isdir(self.workdir): @@ -9,22 +9,22 @@ import os PYTHONLIB = join(get_python_lib(standard_lib=1, prefix=''), 'site-packages') setup(name="rteval", - version = "1.37", + version = "1.38", description = "evaluate system performance for Realtime", author = "Clark Williams", author_email = "williams@redhat.com", license = "GPLv2", long_description = """\ -The rteval script is used to judge the behavior of a hardware +The rteval script is used to judge the behavior of a hardware platform while running a Realtime Linux kernel under a moderate -to heavy load. +to heavy load. -Provides control logic for starting a system load and then running a +Provides control logic for starting a system load and then running a response time measurement utility (cyclictest) for a specified amount of time. When the run is finished, the sample data from cyclictest is analyzed for standard statistical measurements (i.e mode, median, range, -mean, variance and standard deviation) and a report is generated. +mean, variance and standard deviation) and a report is generated. """, packages = ["rteval"], ) |