- explicit HostLoad(simgrid::s4u::Host* ptr);
- ~HostLoad();
-
- double getCurrentLoad();
- double getComputedFlops();
- double getAverageLoad();
- double getIdleTime();
+ explicit HostLoad(simgrid::s4u::Host* ptr)
+ : host_(ptr)
+ , last_updated_(surf_get_clock())
+ , last_reset_(surf_get_clock())
+ , current_speed_(host_->get_speed())
+ , current_flops_(host_->pimpl_cpu->get_constraint()->get_usage())
+ , theor_max_flops_(0)
+ , was_prev_idle_(current_flops_ == 0)
+ {
+ }
+ ~HostLoad() = default;
+ HostLoad() = delete;
+ explicit HostLoad(simgrid::s4u::Host& ptr) = delete;
+ explicit HostLoad(simgrid::s4u::Host&& ptr) = delete;
+
+ double get_current_load();
+ double get_average_load() { return (theor_max_flops_ == 0) ? 0 : computed_flops_ / theor_max_flops_; };
+ double get_computed_flops() { return computed_flops_; }
+ double get_idle_time() { return idle_time_; } /** Return idle time since last reset */