Example #1
0
 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), ), ),
     ]
Example #2
0
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()