summaryrefslogtreecommitdiffstats
path: root/storperf/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'storperf/main.py')
-rw-r--r--storperf/main.py44
1 files changed, 37 insertions, 7 deletions
diff --git a/storperf/main.py b/storperf/main.py
index 4c5a403..f5e5581 100644
--- a/storperf/main.py
+++ b/storperf/main.py
@@ -7,6 +7,10 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
import getopt
+import json
+import logging
+import logging.config
+import os
import socket
import sys
@@ -28,7 +32,29 @@ def event(metric):
carbon_metrics = metrics_converter.convert_to_dictionary(metric, prefix)
metrics_emitter.transmit_metrics(carbon_metrics)
+def setup_logging(
+ default_path='logging.json',
+ default_level=logging.INFO,
+ env_key='LOG_CFG'
+):
+ """Setup logging configuration
+
+ """
+ path = default_path
+ value = os.getenv(env_key, None)
+ if value:
+ path = value
+ if os.path.exists(path):
+ with open(path, 'rt') as f:
+ config = json.load(f)
+ logging.config.dictConfig(config)
+ else:
+ logging.basicConfig(level=default_level)
+
def main(argv=None):
+
+ setup_logging()
+
if argv is None:
argv = sys.argv
try:
@@ -36,28 +62,32 @@ def main(argv=None):
opts = getopt.getopt(argv[1:], "h", ["help"])
except getopt.error, msg:
raise Usage(msg)
-
+
except Usage, err:
print >> sys.stderr, err.msg
print >> sys.stderr, "for help use --help"
return 2
-
+
for o in opts:
if o in ("-h", "--help"):
print __doc__
return 0
-
- simple_args = ['--rw=randread', '--size=32m',
+
+ simple_args = ['--rw=randread', '--size=32m',
'--directory=.',
- '--iodepth=2',
+ '--iodepth=2',
'--direct=1', '--invalidate=1', '--numjobs=4',
'--name=random-read', '--output-format=json',
- '--status-interval=3',
- '--time_based', '--runtime=60']
+ '--status-interval=60',
+ '--time_based', '--runtime=6000']
invoker = FIOInvoker()
invoker.register(event)
invoker.execute(simple_args)
+
+
+logging.config.fileConfig('logging.ini')
+
if __name__ == "__main__":
sys.exit(main())