SIMGRID_REGISTER_PLUGIN(link_energy, "Link energy consumption.", &sg_link_energy_plugin_init)
-/** @addtogroup SURF_plugin_energy
-
+/** @defgroup plugin_link_energy
This is the link energy plugin, accounting for the dissipated energy in the simulated platform.
@verbatim
<link id="SWITCH1" bandwidth="125Mbps" latency="5us" sharing_policy="SHARED" >
- <prop id="watt_range" value="100.0:200.0" />
- <prop id="watt_off" value="10" />
+ <prop id="wattage_range" value="100.0:200.0" />
+ <prop id="wattage_off" value="10" />
</link>
@endverbatim
return;
inited_ = true;
- const char* all_power_values_str = this->link_->get_property("watt_range");
+ const char* all_power_values_str = this->link_->get_property("wattage_range");
+ if (all_power_values_str == nullptr) {
+ all_power_values_str = this->link_->get_property("watt_range");
+ if (all_power_values_str != nullptr)
+ XBT_WARN("Please rename the 'watt_range' property of link %s into 'wattage_range'.", link_->get_cname());
+ }
if (all_power_values_str == nullptr)
return;
continue;
XBT_DEBUG("Update link %s", link->get_cname());
- LinkEnergy* link_energy = link->piface_.extension<LinkEnergy>();
+ LinkEnergy* link_energy = link->get_iface()->extension<LinkEnergy>();
link_energy->init_watts_range_list();
link_energy->update();
}
{
return LinkEnergy::EXTENSION_ID.valid();
}
-/** @ingroup SURF_plugin_energy
+/** @ingroup plugin_link_energy
* @brief Enable energy plugin
* @details Enable energy plugin to get joules consumption of each cpu. You should call this function before
* #MSG_init().
simgrid::kernel::resource::NetworkAction const& action, simgrid::kernel::resource::Action::State /* previous */) {
for (simgrid::kernel::resource::LinkImpl* link : action.links()) {
if (link != nullptr)
- link->piface_.extension<LinkEnergy>()->update();
+ link->get_iface()->extension<LinkEnergy>()->update();
}
});
simgrid::s4u::Engine::on_simulation_end.connect(&on_simulation_end);
}
-/** @ingroup plugin_energy
+/** @ingroup plugin_link_energy
* @brief Returns the total energy consumed by the link so far (in Joules)
*
* Please note that since the consumption is lazily updated, it may require a simcall to update it.