static void onSimulationEnd()
{
- std::vector<simgrid::s4u::Link*> links;
- simgrid::s4u::Engine::getInstance()->getLinkList(&links);
+ std::vector<simgrid::s4u::Link*> links = simgrid::s4u::Engine::getInstance()->getLinkList();
double total_energy = 0.0; // Total dissipated energy (whole platform)
for (const auto link : links) {
}
/* **************************** Public interface *************************** */
SG_BEGIN_DECL()
+int sg_link_energy_is_inited()
+{
+ return LinkEnergy::EXTENSION_ID.valid();
+}
/** \ingroup SURF_plugin_energy
* \brief Enable energy plugin
* \details Enable energy plugin to get joules consumption of each cpu. You should call this function before
return;
LinkEnergy::EXTENSION_ID = simgrid::s4u::Link::extension_create<LinkEnergy>();
+ xbt_assert(sg_host_count() == 0, "Please call sg_link_energy_plugin_init() before initializing the platform.");
+
simgrid::s4u::Link::onCreation.connect([](simgrid::s4u::Link& link) {
link.extension_set(new LinkEnergy(&link));
});