hpi-epic / BP2021

Working repository in context of the bachelor project "Online Marketplace Simulation: A Testbed for Self-Learning Agents" at the research group Enterprise Platform and Integration Concepts
MIT License
3 stars 0 forks source link

[C / Docker] Monitor container #542

Closed felix-20 closed 2 years ago

felix-20 commented 2 years ago

This PR introduces the monitoring tools used by @felix-20 in their thesis. There is a database used to monitor performance of the system. Furthermore it is used to store data about running recommerce container. (container_db_manager) To be able to figure out when a container exited, there is the container_health_checker all 5 seconds it checks the help of all recommrece container.

On the API side, it is now possible to toggle monitoring of container. If monitoring in app.py (set should_run_monitoring to True) is enabled, the docker manager will report all actions on a container to the database. Furthermore the container_health_checker is started. The container_health_checker tells the database about stopped container. This makes it possible to figure out how long a container is running. When you shut down the API, the health checker will stop working as well.

In order to evaluate the data, this PR provides two buttons in the webserver. These buttons will each return a csv file containing the monitoring data.