-/* Copyright (c) 2010-2020. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2010-2021. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
-#include "simgrid/plugins/load.h"
-#include "src/include/surf/surf.hpp"
+#include <simgrid/plugins/load.h>
+#include <simgrid/s4u/Engine.hpp>
+#include <simgrid/s4u/Exec.hpp>
+#include <simgrid/s4u/Host.hpp>
+#include <simgrid/s4u/VirtualMachine.hpp>
+
#include "src/kernel/activity/ExecImpl.hpp"
-#include "src/plugins/vm/VirtualMachineImpl.hpp"
-#include <simgrid/s4u.hpp>
+#include "src/surf/surf_interface.hpp"
// Makes sure that this plugin can be activated from the command line with ``--cfg=plugin:host_load``
SIMGRID_REGISTER_PLUGIN(host_load, "Cpu load", &sg_host_load_plugin_init)
explicit HostLoad(simgrid::s4u::Host* ptr)
: host_(ptr)
- , last_updated_(surf_get_clock())
- , last_reset_(surf_get_clock())
+ , last_updated_(simgrid_get_clock())
+ , last_reset_(simgrid_get_clock())
, current_speed_(host_->get_speed())
, current_flops_(host_->get_load())
{
}
- ~HostLoad() = default;
HostLoad() = delete;
explicit HostLoad(simgrid::s4u::Host& ptr) = delete;
explicit HostLoad(simgrid::s4u::Host&& ptr) = delete;
void HostLoad::update()
{
- double now = surf_get_clock();
+ double now = simgrid_get_clock();
// This loop updates the flops that the host executed for the ongoing computations
auto iter = begin(current_activities);
*/
void HostLoad::reset()
{
- last_updated_ = surf_get_clock();
- last_reset_ = surf_get_clock();
+ last_updated_ = simgrid_get_clock();
+ last_reset_ = simgrid_get_clock();
idle_time_ = 0;
computed_flops_ = 0;
theor_max_flops_ = 0;
host.extension_set(new HostLoad(&host));
});
- simgrid::s4u::Exec::on_start.connect([](simgrid::s4u::Exec const& activity, simgrid::s4u::Actor const&) {
+ simgrid::s4u::Exec::on_start.connect([](simgrid::s4u::Exec const& activity) {
if (activity.get_host_number() == 1) { // We only run on one host
simgrid::s4u::Host* host = activity.get_host();
const simgrid::s4u::VirtualMachine* vm = dynamic_cast<simgrid::s4u::VirtualMachine*>(host);
XBT_WARN("HostLoad plugin currently does not support executions on several hosts");
}
});
- simgrid::s4u::Exec::on_completion.connect([](simgrid::s4u::Exec const& activity, simgrid::s4u::Actor const&) {
+ simgrid::s4u::Exec::on_completion.connect([](simgrid::s4u::Exec const& activity) {
if (activity.get_host_number() == 1) { // We only run on one host
simgrid::s4u::Host* host = activity.get_host();
const simgrid::s4u::VirtualMachine* vm = dynamic_cast<simgrid::s4u::VirtualMachine*>(host);