X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/770f1cc88b3b35c90e505470753b70b95a326b91..e18a7b043d161b29d0bf3f5743cb7a570241576a:/src/surf/plugins/host_load.cpp diff --git a/src/surf/plugins/host_load.cpp b/src/surf/plugins/host_load.cpp index dcf86a2a9c..99e7a39f35 100644 --- a/src/surf/plugins/host_load.cpp +++ b/src/surf/plugins/host_load.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012-2016. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2010-2017. 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. */ @@ -8,20 +8,21 @@ #include "src/plugins/vm/VirtualMachineImpl.hpp" #include "src/surf/cpu_interface.hpp" +#include "simgrid/s4u/Engine.hpp" + #include #include -#include #include #include #include -/** @addtogroup SURF_plugin_load +/** @addtogroup plugin_load This plugin makes it very simple for users to obtain the current load for each host. */ -XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_plugin_load, surf, "Logging specific to the SURF HostLoad plugin"); +XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_plugin_load, surf, "Logging specific to the HostLoad plugin"); namespace simgrid { namespace plugin { @@ -35,6 +36,7 @@ public: double getCurrentLoad(); double getComputedFlops(); + double getAverageLoad(); void update(); void reset(); @@ -74,12 +76,12 @@ void HostLoad::update() double HostLoad::getCurrentLoad() { - return current_flops / (host->speed() * host->coreCount()); + return current_flops / (host->getSpeed() * host->getCoreCount()); } double HostLoad::getAverageLoad() { - return getComputedFlops() / (host->speed() * host->coreCount() * (surf_get_clock() - last_reset)) + return getComputedFlops() / (host->getSpeed() * host->getCoreCount() * (surf_get_clock() - last_reset)); } double HostLoad::getComputedFlops() @@ -125,7 +127,7 @@ static void onHostChange(simgrid::s4u::Host& host) /* This callback is called when an action (computation, idle, ...) terminates */ static void onActionStateChange(simgrid::surf::CpuAction* action, simgrid::surf::Action::State previous) { - for (simgrid::surf::Cpu* cpu : action->cpus()) { + for (simgrid::surf::Cpu* const& cpu : action->cpus()) { simgrid::s4u::Host* host = cpu->getHost(); if (host != nullptr) { @@ -139,7 +141,7 @@ static void onActionStateChange(simgrid::surf::CpuAction* action, simgrid::surf: /* **************************** Public interface *************************** */ SG_BEGIN_DECL() -/** \ingroup SURF_plugin_load +/** \ingroup plugin_load * \brief Initializes the HostLoad plugin * \details The HostLoad plugin provides an API to get the current load of each host. */ @@ -158,7 +160,7 @@ void sg_host_load_plugin_init() /** @brief Returns the current load of the host passed as argument * - * See also @ref SURF_plugin_load + * See also @ref plugin_load */ double sg_host_get_current_load(sg_host_t host) {