Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
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)
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
    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)
Ejemplo n.º 11
0
    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)
Ejemplo n.º 12
0
    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()
Ejemplo n.º 13
0
    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('*.*'))
Ejemplo n.º 14
0
    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()