def test_run(self): self.accessor.drop_all_metrics() cmd = command_list.CommandList() parser = argparse.ArgumentParser() bg_utils.add_argparse_arguments(parser) cmd.add_arguments(parser) name = 'foo.bar' metadata = bg_accessor.MetricMetadata( retention=bg_accessor.Retention.from_string('1440*60s')) self.accessor.create_metric(self.make_metric(name, metadata)) opts = parser.parse_args(['foo.*']) cmd.run(self.accessor, opts) metrics = command_list.list_metrics(self.accessor, opts.glob, opts.graphite) self.assertEqual(name, list(metrics)[0].name) opts = parser.parse_args(['--graphite', 'foo.{bar}']) metrics = command_list.list_metrics(self.accessor, opts.glob, opts.graphite) self.assertEqual(name, list(metrics)[0].name)
def test_run(self): cmd = command_test.CommandTest() parser = argparse.ArgumentParser() bg_utils.add_argparse_arguments(parser) cmd.add_arguments(parser) opts = parser.parse_args([]) cmd.run(self.accessor, opts)
def test_run(self): cmd = command_write.CommandWrite() parser = argparse.ArgumentParser() bg_utils.add_argparse_arguments(parser) cmd.add_arguments(parser) opts = parser.parse_args(['metric', '1']) cmd.run(self.accessor, opts)
def test_run(self): cmd = command_repair.CommandRepair() parser = argparse.ArgumentParser() bg_utils.add_argparse_arguments(parser) cmd.add_arguments(parser) opts = parser.parse_args(['--shard=0', '--nshards=5']) cmd.run(self.accessor, opts)
def test_run(self): cmd = command_syncdb.CommandSyncdb() parser = argparse.ArgumentParser() bg_utils.add_argparse_arguments(parser) cmd.add_arguments(parser) opts = parser.parse_args(['--retention', '86400*1s:10080*60s']) cmd.run(self.accessor, opts) opts = parser.parse_args(['--dry_run']) cmd.run(self.accessor, opts)
def _parse_opts(args): """Parse command line arguments.""" parser = argparse.ArgumentParser( description="BigGraphite command line utility.") bg_utils.add_argparse_arguments(parser) subparsers = parser.add_subparsers(help="commands") for command in COMMANDS: subparser = subparsers.add_parser(command.NAME, help=command.HELP) command.add_arguments(subparser) subparser.set_defaults(func=command.run) return parser.parse_args(args)
def _parse_opts(args): parser = argparse.ArgumentParser( description="Import whisper files into BigGraphite.") parser.add_argument("root_directory", metavar="WHISPER_DIR", help="directory in which to find whisper files") parser.add_argument("--filter", type=str, default=".*\.wsp", help="Only import metrics matching this filter") parser.add_argument("--prefix", metavar="WHISPER_PREFIX", default="", help="prefix to prepend to metric names") parser.add_argument("--quiet", action="store_const", default=False, const=True, help="Show no output unless there are problems.") parser.add_argument("--process", metavar="N", type=int, help="number of concurrent process", default=multiprocessing.cpu_count()) parser.add_argument("--no-data", action="store_true", help="Do not import data, only metadata.") parser.add_argument("--no-metadata", action="store_true", help="Do not import metadata, only data.") parser.add_argument("--ignored_stages", nargs="*", help="Do not import data for these stages.", default=[]) parser.add_argument( "--time-start", action=command.ParseDateTimeArg, help="Read points written later than this time.", default=datetime.datetime.fromtimestamp(0), required=False, ) parser.add_argument( "--time-end", action=command.ParseDateTimeArg, help="Read points written earlier than this time.", default=datetime.datetime.now(), required=False, ) bg_utils.add_argparse_arguments(parser) opts = parser.parse_args(args) opts.ignored_stages = [ bg_accessor.Stage.from_string(s) for s in opts.ignored_stages ] return opts
def _parse_opts(args): """Parse command line arguments.""" parser = argparse.ArgumentParser( description="BigGraphite command line utility.") bg_utils.add_argparse_arguments(parser) subparsers = parser.add_subparsers(help="commands") for command in COMMANDS: subparser = subparsers.add_parser(command.NAME, add_help=False) # accept -h for du # but we still want --help subparser.add_argument('--help', action='help', help='show this help message and exit') command.add_arguments(subparser) subparser.set_defaults(func=command.run) return parser.parse_args(args)
def test_run(self): name = 'foo.bar' metadata = bg_accessor.MetricMetadata( retention=bg_accessor.Retention.from_string('1440*60s')) self.accessor.create_metric(self.make_metric(name, metadata)) cmd = command_read.CommandRead() parser = argparse.ArgumentParser() bg_utils.add_argparse_arguments(parser) cmd.add_arguments(parser) opts = parser.parse_args([name]) cmd.run(self.accessor, opts)
def test_run(self): cmd = command_clean.CommandClean() parser = argparse.ArgumentParser() bg_utils.add_argparse_arguments(parser) cmd.add_arguments(parser) opts = parser.parse_args([ '--shard=0', '--nshards=5', '--clean-cache', '--clean-backend', '--clean-corrupted', ]) cmd.run(self.accessor, opts)
def test_run_with_args(self): cmd = command_test.CommandTest() parser = argparse.ArgumentParser() bg_utils.add_argparse_arguments(parser) cmd.add_arguments(parser) opts = parser.parse_args(["--cassandra_contact_points=127.0.0.1,192.168.0.1", "--cassandra_contact_points_metadata=127.0.0.1,192.168.1.1"]) settings = bg_utils.settings_from_args(opts) self.assertIsInstance(settings['cassandra_contact_points'], list) self.assertIsInstance( settings['cassandra_contact_points_metadata'], list) cmd.run(self.accessor, opts)
def get_output(self, args, mock_stdout): self.accessor.drop_all_metrics() for metric in self.metrics: self.accessor.create_metric( self.make_metric(metric, self.metadata)) cmd = command_du.CommandDu() parser = argparse.ArgumentParser(add_help=False) bg_utils.add_argparse_arguments(parser) cmd.add_arguments(parser) opts = parser.parse_args(args) cmd.run(self.accessor, opts) return mock_stdout.getvalue()
def test_run(self): self.accessor.drop_all_metrics() cmd = command_delete.CommandDelete() parser = argparse.ArgumentParser() bg_utils.add_argparse_arguments(parser) cmd.add_arguments(parser) name = 'foo.bar' metadata = bg_accessor.MetricMetadata( retention=bg_accessor.Retention.from_string('1440*60s')) self.accessor.create_metric(self.make_metric(name, metadata)) opts = parser.parse_args(['foo', '--recursive', '--dry-run']) cmd.run(self.accessor, opts) self.assertIn(name, self.accessor.glob_metric_names('*.*')) opts = parser.parse_args(['foo', '--recursive']) cmd.run(self.accessor, opts) self.assertNotIn(name, self.accessor.glob_metric_names('*.*'))
def test_run_daemon(self): self.accessor.drop_all_metrics() cmd = command_daemon.CommandDaemon() cmd._run_webserver = lambda x, y, z: time.sleep(666) parser = argparse.ArgumentParser() bg_utils.add_argparse_arguments(parser) cmd.add_arguments(parser) opts = parser.parse_args( ['--clean-backend', '--clean-cache', '--max-age=12']) def run(): cmd.run(self.accessor, opts) p = multiprocessing.Process(target=run) p.start() time.sleep(1) assert (p.is_alive()) p.terminate()