def test_metrics_step(self, cpu_percent_mock, virtual_memory_mock, disk_usage_mock): metrics = Metrics() callback = MagicMock() metrics.add_listener(callback) metrics._step() assert callback.call_args_list == [ ((("cpu_metrics", ANY), ), ), ((("mem_metrics", ANY), ), ), ((("disk_metrics", ANY), ), ), ]
def main(): """Run metrics client.""" logging.getLogger().setLevel(logging.INFO) hostname = platform.node() publisher = get_publisher() def publish_metrics(metric): metric_type, metric_data = metric message = { "hostname": hostname, "event_time": time.time(), "type": metric_type, "data": metric_data, } publisher.send_message(message) logging.info("Publish message: %s", message) metric_publisher = Metrics() metric_publisher.add_listener(publish_metrics) metric_publisher.run()