def main(): parser = ArgumentParser(description="Update Graph Explorer metrics") parser.add_argument("configfile", metavar="CONFIG_FILENAME", type=str) args = parser.parse_args() config.init(args.configfile) logger = make_logger('update_metrics', config) os.chdir(os.path.dirname(os.path.abspath(__file__))) try: backend = Backend(config, logger) s_metrics = structured_metrics.StructuredMetrics(config, logger) errors = s_metrics.load_plugins() if len(errors) > 0: logger.warn('errors encountered while loading plugins:') for e in errors: print '\t%s' % e logger.info("fetching/saving metrics from graphite...") backend.download_metrics_json() logger.info("generating structured metrics data...") backend.update_data(s_metrics) logger.info("success!") except Exception, e: # pylint: disable=W0703 logger.error("sorry, something went wrong: %s", e) from traceback import print_exc print_exc() sys.exit(2)
very convenient to verify the working of plugins etc. """ import sys from pprint import pprint import logging from graph_explorer import structured_metrics from graph_explorer import config from graph_explorer.log import make_logger if len(sys.argv) < 3: print "check_update_metric.py <config file> <metric1> [<metric2> [<metric3...]]" sys.exit(1) config.init(sys.argv[1]) config.valid_or_die() logger = make_logger('check_update_metric', config) logger.setLevel(logging.WARN) s_metrics = structured_metrics.StructuredMetrics(config, logger) errors = s_metrics.load_plugins() if len(errors) > 0: print 'errors encountered while loading plugins:' for e in errors: print '\t%s' % e for v in s_metrics.list_metrics(sys.argv[2:]).values(): pprint(v)
#!/opt/kup/virtupy/bin/python import os import sys from graph_explorer import config from graph_explorer.backend import Backend, make_config from graph_explorer import structured_metrics from graph_explorer.log import make_logger config = make_config(config) os.chdir(os.path.dirname(os.path.abspath(__file__))) logger = make_logger('update_metrics', config) try: backend = Backend(config, logger) s_metrics = structured_metrics.StructuredMetrics(config, logger) errors = s_metrics.load_plugins() if len(errors) > 0: logger.warn('errors encountered while loading plugins:') for e in errors: print '\t%s' % e logger.info("fetching/saving metrics from graphite...") backend.download_metrics_json() logger.info("generating structured metrics data...") backend.update_data(s_metrics) logger.info("success!") except Exception, e: # pylint: disable=W0703 logger.error("sorry, something went wrong: %s", e) from traceback import print_exc