[Erp5-report] r45935 arnaud.fontaine - /erp5/trunk/utils/erp5.utils.benchmark/src/erp5/util...
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Jun 21 16:54:25 CEST 2011
Author: arnaud.fontaine
Date: Tue Jun 21 16:54:25 2011
New Revision: 45935
URL: http://svn.erp5.org?rev=45935&view=rev
Log:
Fix logger
Modified:
erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/benchmark.py
erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/performance_tester.py
erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/scalability_tester.py
Modified: erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/benchmark.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/benchmark.py?rev=45935&r1=45934&r2=45935&view=diff
==============================================================================
--- erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/benchmark.py [utf8] (original)
+++ erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/benchmark.py [utf8] Tue Jun 21 16:54:25 2011
@@ -185,11 +185,14 @@ class BenchmarkResult(object):
self._current_suite_name = None
self._result_idx_checkpoint_list = []
self.label_list = []
- self.logger = self._getLogger()
+ self._logger = None
- def _getLogger(self):
- logging.basicConfig(stream=self.log_file, level=self._log_level)
- return logging.getLogger('erp5.utils.benchmark')
+ def getLogger(self):
+ if not self._logger:
+ logging.basicConfig(stream=self.log_file, level=self._log_level)
+ return logging.getLogger('erp5.utils.benchmark')
+
+ return self._logger
def __enter__(self):
return self
@@ -214,7 +217,7 @@ class BenchmarkResult(object):
if self._first_iteration:
self.label_list = self.getLabelList()
- self.logger.debug("RESULTS: %s" % self.result_list)
+ self.getLogger().debug("RESULTS: %s" % self.result_list)
self.result_list = []
self._first_iteration = False
self._suite_idx = 0
@@ -251,22 +254,22 @@ class BenchmarkResult(object):
return True
class CSVBenchmarkResult(BenchmarkResult):
- def __init__(self, argument_namespace, nb_users, user_index):
- filename_prefix = self.getFilenamePrefix()
+ def __init__(self, *args, **kwargs):
+ super(CSVBenchmarkResult, self).__init__(*args, **kwargs)
+
+ filename_prefix = self._getFilenamePrefix()
self.result_filename = "%s.csv" % filename_prefix
self.result_filename_path = os.path.join(
- argument_namespace.report_directory, self.result_filename)
+ self._argument_namespace.report_directory, self.result_filename)
self._log_filename = "%s.log" % filename_prefix
self._log_filename_path = os.path.join(
- argument_namespace.report_directory, self._log_filename)
+ self._argument_namespace.report_directory, self._log_filename)
self.log_file = open(self._log_filename_path, 'w')
- super(CSVBenchmarkResult, self).__init__()
-
- def getFilenamePrefix(self):
+ def _getFilenamePrefix(self):
max_nb_users = isinstance(self._argument_namespace.users, int) and \
self._argument_namespace.users or self._argument_namespace.users[1]
@@ -301,6 +304,7 @@ class CSVBenchmarkResult(BenchmarkResult
if exc_type:
msg = "An error occured, see: %s" % self._log_filename_path
+ self.getLogger().error("%s: %s\n%s" % (exc_type, exc_value, traceback))
if isinstance(exc_type, StopIteration):
raise StopIteration, msg
else:
@@ -422,7 +426,7 @@ class BenchmarkProcess(multiprocessing.P
self._nb_users,
self._user_index)
- self._logger = result_instance.logger
+ self._logger = result_instance.getLogger()
if self._argument_namespace.repeat != -1:
signal.signal(signal.SIGTERM, self.stopGracefully)
Modified: erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/performance_tester.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/performance_tester.py?rev=45935&r1=45934&r2=45935&view=diff
==============================================================================
--- erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/performance_tester.py [utf8] (original)
+++ erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/performance_tester.py [utf8] Tue Jun 21 16:54:25 2011
@@ -274,9 +274,6 @@ class PerformanceTester(object):
error_message_set, exit_status = self._run_constant(
self._argument_namespace.users)
-
- import pdb
- pdb.Pdb(stdin=open('/dev/stdin', 'r+'), stdout=open('/dev/stdout', 'r+')).set_trace()
self.postRun(error_message_set)
return error_message_set, exit_status
Modified: erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/scalability_tester.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/scalability_tester.py?rev=45935&r1=45934&r2=45935&view=diff
==============================================================================
--- erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/scalability_tester.py [utf8] (original)
+++ erp5/trunk/utils/erp5.utils.benchmark/src/erp5/utils/benchmark/scalability_tester.py [utf8] Tue Jun 21 16:54:25 2011
@@ -34,7 +34,7 @@ class CSVScalabilityBenchmarkResult(CSVB
def flush(self):
super(CSVScalabilityBenchmarkResult, self).flush()
self._argument_namespace.notify_method(self._result_filename,
- self._result.tell())
+ self._result_file.tell())
from erp5.utils.benchmark.performance_tester import PerformanceTester
More information about the Erp5-report
mailing list