def main(argv=None): if argv is None: argv = sys.argv[1:] args = parse_args( argv, 'Cluster scaling and management for Mesos and Kubernetes') setup_logging(args.log_level) setup_config(args) args.entrypoint(args)
def main(argv=None): if argv is None: argv = sys.argv[1:] args = parse_args( argv, 'Cluster scaling and management for Mesos and Kubernetes') setup_logging(args.log_level) setup_config(args) try: args.entrypoint(args) except Exception as e: print(f'Exception of type {e.__class__.__name__} occured') if e.args: for arg in e.args: print(arg) exit(1)
continue return successful def write_metrics(self, writer, metric_generator: Callable[[PoolManager], Generator[ClusterMetric, None, None]], pools: Union[Type[All], List[str]], schedulers: List['str']) -> None: for pool, manager in self.pool_managers.items(): if manager.scheduler not in schedulers: continue if pools != All and pool not in cast(List[str], pools): continue for cluster_metric in metric_generator(manager): metric_name = generate_key_with_dimensions( cluster_metric.metric_name, cluster_metric.dimensions) data = (metric_name, int(time.time()), cluster_metric.value) logger.info( f'Writing value {cluster_metric.value} for metric {metric_name} to metric store' ) writer.send(data) if __name__ == '__main__': setup_logging() ClusterMetricsCollector().start()
def main(): args = parse_args('Mesos cluster scaling and management') setup_logging(args.log_level) setup_config(args) args.entrypoint(args)